From e748ba9741f6540f4675c23e3e37b73e822c13a4 Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@redcorelinux.org>
Date: Mon, 31 May 2021 20:59:14 +0100
Subject: gentoo resync : 31.05.2021

---
 sys-devel/Manifest.gz                              | Bin 9461 -> 9489 bytes
 sys-devel/automake/Manifest                        |   4 +-
 sys-devel/automake/automake-1.16.2-r1.ebuild       | 133 ------
 sys-devel/automake/automake-1.16.3-r1.ebuild       |   2 +-
 sys-devel/bison/Manifest                           |   5 +-
 sys-devel/bison/bison-3.7.3.ebuild                 |  91 ----
 sys-devel/bison/bison-3.7.6.ebuild                 |   2 +-
 sys-devel/bmake/Manifest                           |   5 +-
 sys-devel/bmake/bmake-20210314-r1.ebuild           |  55 ---
 sys-devel/bmake/bmake-20210420.ebuild              |   2 +-
 sys-devel/bmake/files/bmake-20210206-lib-mk.patch  |  11 -
 sys-devel/clang-common/Manifest                    |   4 +-
 .../clang-common/clang-common-12.0.0.9999.ebuild   |  24 -
 .../clang-common/clang-common-12.0.1.9999.ebuild   |  24 +
 .../clang-common/clang-common-12.0.1_rc1.ebuild    |  24 +
 sys-devel/clang-runtime/Manifest                   |   3 +-
 .../clang-runtime/clang-runtime-12.0.0.9999.ebuild |  25 -
 .../clang-runtime/clang-runtime-12.0.1.9999.ebuild |  25 +
 .../clang-runtime/clang-runtime-12.0.1_rc1.ebuild  |  25 +
 sys-devel/clang/Manifest                           |   4 +-
 sys-devel/clang/clang-12.0.0.9999.ebuild           | 435 -----------------
 sys-devel/clang/clang-12.0.1.9999.ebuild           | 435 +++++++++++++++++
 sys-devel/clang/clang-12.0.1_rc1.ebuild            | 435 +++++++++++++++++
 sys-devel/distcc/Manifest                          |   2 +-
 sys-devel/distcc/distcc-3.4.ebuild                 |   2 +-
 sys-devel/lld/Manifest                             |   4 +-
 sys-devel/lld/lld-12.0.0.9999.ebuild               |  68 ---
 sys-devel/lld/lld-12.0.1.9999.ebuild               |  68 +++
 sys-devel/lld/lld-12.0.1_rc1.ebuild                |  68 +++
 sys-devel/llvm-common/Manifest                     |   4 +-
 .../llvm-common/llvm-common-12.0.0.9999.ebuild     |  27 --
 .../llvm-common/llvm-common-12.0.1.9999.ebuild     |  27 ++
 .../llvm-common/llvm-common-12.0.1_rc1.ebuild      |  27 ++
 sys-devel/llvm/Manifest                            |   4 +-
 sys-devel/llvm/llvm-12.0.0.9999.ebuild             | 518 ---------------------
 sys-devel/llvm/llvm-12.0.1.9999.ebuild             | 518 +++++++++++++++++++++
 sys-devel/llvm/llvm-12.0.1_rc1.ebuild              | 518 +++++++++++++++++++++
 sys-devel/m4/Manifest                              |   4 +-
 sys-devel/m4/m4-1.4.19.ebuild                      |  68 +++
 sys-devel/m4/m4-1.4.19_beta2.ebuild                |  52 ---
 40 files changed, 2289 insertions(+), 1463 deletions(-)
 delete mode 100644 sys-devel/automake/automake-1.16.2-r1.ebuild
 delete mode 100644 sys-devel/bison/bison-3.7.3.ebuild
 delete mode 100644 sys-devel/bmake/bmake-20210314-r1.ebuild
 delete mode 100644 sys-devel/bmake/files/bmake-20210206-lib-mk.patch
 delete mode 100644 sys-devel/clang-common/clang-common-12.0.0.9999.ebuild
 create mode 100644 sys-devel/clang-common/clang-common-12.0.1.9999.ebuild
 create mode 100644 sys-devel/clang-common/clang-common-12.0.1_rc1.ebuild
 delete mode 100644 sys-devel/clang-runtime/clang-runtime-12.0.0.9999.ebuild
 create mode 100644 sys-devel/clang-runtime/clang-runtime-12.0.1.9999.ebuild
 create mode 100644 sys-devel/clang-runtime/clang-runtime-12.0.1_rc1.ebuild
 delete mode 100644 sys-devel/clang/clang-12.0.0.9999.ebuild
 create mode 100644 sys-devel/clang/clang-12.0.1.9999.ebuild
 create mode 100644 sys-devel/clang/clang-12.0.1_rc1.ebuild
 delete mode 100644 sys-devel/lld/lld-12.0.0.9999.ebuild
 create mode 100644 sys-devel/lld/lld-12.0.1.9999.ebuild
 create mode 100644 sys-devel/lld/lld-12.0.1_rc1.ebuild
 delete mode 100644 sys-devel/llvm-common/llvm-common-12.0.0.9999.ebuild
 create mode 100644 sys-devel/llvm-common/llvm-common-12.0.1.9999.ebuild
 create mode 100644 sys-devel/llvm-common/llvm-common-12.0.1_rc1.ebuild
 delete mode 100644 sys-devel/llvm/llvm-12.0.0.9999.ebuild
 create mode 100644 sys-devel/llvm/llvm-12.0.1.9999.ebuild
 create mode 100644 sys-devel/llvm/llvm-12.0.1_rc1.ebuild
 create mode 100644 sys-devel/m4/m4-1.4.19.ebuild
 delete mode 100644 sys-devel/m4/m4-1.4.19_beta2.ebuild

(limited to 'sys-devel')

diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index c9de27595728..0cd48d0a7c3e 100644
Binary files a/sys-devel/Manifest.gz and b/sys-devel/Manifest.gz differ
diff --git a/sys-devel/automake/Manifest b/sys-devel/automake/Manifest
index 6096329a9d31..7f4654a5ae0c 100644
--- a/sys-devel/automake/Manifest
+++ b/sys-devel/automake/Manifest
@@ -43,7 +43,6 @@ DIST automake-1.12.6.tar.xz 1400336 BLAKE2B b1d9befdda70f9caab881c1159921ea883a7
 DIST automake-1.13.4.tar.xz 1449608 BLAKE2B 03dee42d65362a6f36e81c83d516c85faba1aac59bdc0d941077fde9be7742da0f57b48d678169e7a0e8b652c3ef46c314cdd3efb0fc489c389852fed1c39a02 SHA512 c9b145c1b822a4d83f2899f4280a76ccae932301b273f4c9718dc7f53161aa03dc1be2c1fb1a61083c54186e1908ae2c8284250aa1d8f6dea484767aca1344d3
 DIST automake-1.14.1.tar.xz 1488984 BLAKE2B a4c9b1f2c5ca35fba62e57423be2b6c060c63df8198d06a904a236745053072cb14ca4b333fb6cf370ef73378ee8771f4c10bcc111dcbd69e40f75abc16475fa SHA512 5de971159dfca2ec74c3c9a2f1368331efc437b146d675740c8735fcb0d32a30d0560fd29df64c3279efdf9278152c82a9ff09040b3e64d84743aaf25b26ce69
 DIST automake-1.15.1.tar.xz 1509496 BLAKE2B e6ade31089f969140472004cd9854318470228c64e4f8e829d48c5379f62d2c5f8ef9509131c577653e81868d94544ecf6520f86b5d582ebb6ed65c832039f30 SHA512 02f661b2676f1d44334ce1c7188f9913a6874bf46ba487708ad8090ad57905f14aead80fefed815e21effacfbb925e23b944ea7dd32563dca39c1a4174eda688
-DIST automake-1.16.2.tar.xz 1545912 BLAKE2B 88e12fc7792c1a3a9c3b9095760145c2ebf3799602320efe5885a0cac16ced2cfb95865abf0a96b6969aa4652eb2b3d2ac8dae550d721392be45fc10c2458b67 SHA512 a4aa0e41ceaa7df5bc303a6004597fb158f4198594017cd2c586fd9f5a29233e081766bf22b7e4ef0d4c8c3d45a8591009427efa319b362922a958ac1ef6e27b
 DIST automake-1.16.3.tar.xz 1590708 BLAKE2B ab6001a1b09e171ec83bac07155a77ab0fc29f5185116616aa3080b27e8bbf759472cd0dfb75630b26f7ad8d0741e668662d00b370ef79cf5ef6c62e945c94da SHA512 7265aeb7f82a8a205761d76e6ade7b7e97831c283349fd80f86e511f4b0b3e17f429d1506fca84c76079f63781e5dbf5ca81455d6bf6cda27d2e5c3d23b0d1aa
 DIST automake-1.4-p6.tar.gz 375060 BLAKE2B 681c70a2932ae1697d0b9907c8a8d12ed0d506be4a2812dff93af7c3b659ee1ed24a97f0a653f9a49c0d4a78a70965482b39f1297e9f6d6099d3857a2d451f69 SHA512 3f3235e68ab6703668deac015926124c7eeeea6925e830c6820cb156f15f8ee3febd0fd0cc2ab4f4b5c405b528e4ce12b2459347f62ed6a1a862bc9969163d9e
 DIST automake-1.5.tar.gz 526934 BLAKE2B 4b613c81f933d550cc9e5e40dd9ce1160f49c388f4e9292b1a8843b0f4cfc57d72a3dc10bce03260cffa61ab8d67a5b27d781bd7a4c2d842764135158dc2b54f SHA512 b9dbece18935b6c08f7d17c456b0359a17362dc030692629cf5d66db675e46a5f24d60dfd20a50780e4096163454f1922d4281c4bb7af336d61e527b579e3bfc
@@ -57,8 +56,7 @@ EBUILD automake-1.12.6-r2.ebuild 2421 BLAKE2B 6c605916889c8388fd8fd40d0aeb75ac58
 EBUILD automake-1.13.4-r2.ebuild 2643 BLAKE2B cfb0517a6dbee72711d8f25f4a86c8cfd73ba821f3ed58ca86035d380d5b03102f1a56037257515a21247f1e42d74637df2cd71496a74e5bc47c798c72d9699b SHA512 41dd36863935300680001619afe6fa931521bde40e07c1b226899a09a5ed7ed67603074bfeb2dbd1f51dc0d3a3c968e83e4e64c9ab732406a0983e87c95ad79d
 EBUILD automake-1.14.1-r2.ebuild 3022 BLAKE2B e2cb5bc89a7e4626eb22704c4df87c043dab8bc3d35a0a9db040497afc9495a1803128650647bd656986e99d02ccbd239473d70c6877496c2a851287b12d3229 SHA512 1e4d32f7e40460be205d26bd9902e4e6326ed24e1896064ea6d81af1de69b8ca8e844ca96a3e38aa279a0611b8f19b2bfeaba8e06e194dd115b1fbb5abf338c2
 EBUILD automake-1.15.1-r2.ebuild 3192 BLAKE2B edd43338af2e12fdc25c419bcf452e014a64f23aac91d57d727d61a4125dcc047406a954b8d3b5d02a6232b528b25dc2b4d210e9caf76814453f9793d1a7ca7c SHA512 6de009d30ad3126f93f1c3b705ef44181a385e042488aa206cdc5a9aa7e518da79e80d5853e8f4f73fb3b3c682882afc48bec625ea7a881c63ca7d675a605c2d
-EBUILD automake-1.16.2-r1.ebuild 3590 BLAKE2B f196eff9332ada972ba70f7f614a4cb8930920d019c58abd745e355a78636623380fe9c95aaf81c6c9967b6c952462f1f422b687f80d1a8e2a0abbf208664ec5 SHA512 a9582b99723b6dc6a2ebefb4563beb16177e0e0098885174b16d2986c96a6207df9d733b7c1204f2d5d01da4f6b4d879256091294e41f42ac5a6540c07d0e231
-EBUILD automake-1.16.3-r1.ebuild 3521 BLAKE2B 2b7f7532b43475c3687e85f0114e34c05c616d2f040fb9fdd8758c76235068484238d0978fe9b04e9ea06860c2193bf732794f2cf9c8b7a89376b564820bfaf9 SHA512 359bdcbd8354ee693a60b8a600d24dba1edfa316dc5d567e4ba9d0eb65adf5e174c915ac7bf9cec3421d18f08650f329aadc3848ab8a265b9367d24c71a8d0d6
+EBUILD automake-1.16.3-r1.ebuild 3517 BLAKE2B dc8902c00eb2a5524793143e4b7a7b949b6fadae82225c75be875831c1062528400428865ac1b309b6a7824f724c8e9f5d0f5d72be441e53113c7dc4c51b0323 SHA512 c967142967a56b0da497bddc5be89b9d27c98fb393c77c027a27f8e35434bc41c139a7530908fee8011ab0f58031d0fdea7914fef3011b386ac8548f337eb8c9
 EBUILD automake-1.4_p6-r2.ebuild 2470 BLAKE2B aaa71b7b5c7b6a3f8102b0838a00500e8319db8e691aed3834f544586a15c174af4c69417810e138d045c35c8c7822fcab912f2d5909d450b3916d1e2adae249 SHA512 ab1d60e86d761eb80bc0bf97c930d499ba9b63e85906f8b6b2c6c909fa85fecbe21bbdf3e3a882bfad5b89f94ac31bcb7a159578b9e0a306614226d9a63e7512
 EBUILD automake-1.5-r2.ebuild 2244 BLAKE2B 0fcf4acbc952d6c4e614c047db8450626f6a3942e2231209173f22934e1f36ee76d684c0588b8aaa7144dea11d3342241c8c9add5cc60ad9234c7be6cf267d21 SHA512 043f262714a4e52851837b01066044681b7cc57e6482a9daa1877ae7134e5c917930e4490afb943392e04a57707f513f10d85465cd0f5c12ee0b9bc0a9cee382
 EBUILD automake-1.6.3-r2.ebuild 2046 BLAKE2B 96c80209c1df50b2e4b47e45783f3b55dd253b41e917a4fee75556ce1b340103648280ab2a5b9435c17322cd5e6e01fe9bbd06ba3c1314874049eaca6019a023 SHA512 932954baa0b8af349b374ee07e179976973751626e8168162168d6dd855a8264b3ea0b79a4ea48a973c0119ec9a0d1fc3dbea859557003a62a965ff8c81ebff2
diff --git a/sys-devel/automake/automake-1.16.2-r1.ebuild b/sys-devel/automake/automake-1.16.2-r1.ebuild
deleted file mode 100644
index bd0de0291096..000000000000
--- a/sys-devel/automake/automake-1.16.2-r1.ebuild
+++ /dev/null
@@ -1,133 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7,8,9} )
-
-inherit python-any-r1
-
-if [[ ${PV} == 9999 ]] ; then
-	EGIT_REPO_URI="https://git.savannah.gnu.org/r/${PN}.git"
-
-	inherit git-r3
-else
-	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-	if [[ ${PV/_beta} == ${PV} ]]; then
-		MY_P="${P}"
-		SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-			https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
-	else
-		MY_PV="$(ver_cut 1).$(($(ver_cut 2)-1))b"
-		MY_P="${PN}-${MY_PV}"
-
-		# Alpha/beta releases are not distributed on the usual mirrors.
-		SRC_URI="https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz"
-	fi
-	S="${WORKDIR}/${MY_P}"
-fi
-
-DESCRIPTION="Used to generate Makefile.in from Makefile.am"
-HOMEPAGE="https://www.gnu.org/software/automake/"
-
-LICENSE="GPL-2"
-# Use Gentoo versioning for slotting.
-SLOT="${PV:0:4}"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="dev-lang/perl
-	>=sys-devel/automake-wrapper-11
-	>=sys-devel/autoconf-2.69:*
-	sys-devel/gnuconfig"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	app-arch/gzip
-	sys-apps/help2man
-	test? ( ${PYTHON_DEPS} )
-"
-
-PATCHES=(
-	"${FILESDIR}"/automake-1.16.2-py3-compile.patch
-	"${FILESDIR}"/automake-1.16.2-fix-instmany-python.sh-test.patch
-	"${FILESDIR}"/automake-1.16.2-fix-py-compile-basedir.sh-test.patch
-	"${FILESDIR}"/automake-1.16.2-skip-tags-lisp-space-without-etags.patch
-)
-
-pkg_setup() {
-	# Avoid python-any-r1_pkg_setup
-	:
-}
-
-src_prepare() {
-	default
-	export WANT_AUTOCONF=2.5
-	# Don't try wrapping the autotools this thing runs as it tends
-	# to be a bit esoteric, and the script does `set -e` itself.
-	./bootstrap || die
-	sed -i -e "/APIVERSION=/s:=.*:=${SLOT}:" configure || die
-
-	# Bug 628912
-	if ! has_version sys-apps/texinfo ; then
-		touch doc/{stamp-vti,version.texi,automake.info} || die
-	fi
-}
-
-src_configure() {
-	use test && python_setup
-	default
-}
-
-# slot the info pages.  do this w/out munging the source so we don't have
-# to depend on texinfo to regen things.  #464146 (among others)
-slot_info_pages() {
-	pushd "${ED}"/usr/share/info >/dev/null || die
-	rm -f dir
-
-	# Rewrite all the references to other pages.
-	# before: * aclocal-invocation: (automake)aclocal Invocation.   Generating aclocal.m4.
-	# after:  * aclocal-invocation v1.13: (automake-1.13)aclocal Invocation.   Generating aclocal.m4.
-	local p pages=( *.info ) args=()
-	for p in "${pages[@]/%.info}" ; do
-		args+=(
-			-e "/START-INFO-DIR-ENTRY/,/END-INFO-DIR-ENTRY/s|: (${p})| v${SLOT}&|"
-			-e "s:(${p}):(${p}-${SLOT}):g"
-		)
-	done
-	sed -i "${args[@]}" * || die
-
-	# Rewrite all the file references, and rename them in the process.
-	local f d
-	for f in * ; do
-		d=${f/.info/-${SLOT}.info}
-		mv "${f}" "${d}" || die
-		sed -i -e "s:${f}:${d}:g" * || die
-	done
-
-	popd >/dev/null || die
-}
-
-src_install() {
-	default
-
-	slot_info_pages
-	rm "${ED}"/usr/share/aclocal/README || die
-	rmdir "${ED}"/usr/share/aclocal || die
-	rm \
-		"${ED}"/usr/bin/{aclocal,automake} \
-		"${ED}"/usr/share/man/man1/{aclocal,automake}.1 || die
-
-	# remove all config.guess and config.sub files replacing them
-	# w/a symlink to a specific gnuconfig version
-	local x
-	for x in guess sub ; do
-		dosym ../gnuconfig/config.${x} \
-			/usr/share/${PN}-${SLOT}/config.${x}
-	done
-
-	# Avoid QA message about pre-compressed file in docs
-	local tarfile="${ED}/usr/share/doc/${PF}/amhello-1.0.tar.gz"
-	if [[ -f "${tarfile}" ]] ; then
-		gunzip "${tarfile}" || die
-	fi
-}
diff --git a/sys-devel/automake/automake-1.16.3-r1.ebuild b/sys-devel/automake/automake-1.16.3-r1.ebuild
index 322cbc22dc8c..bcaf01a64b86 100644
--- a/sys-devel/automake/automake-1.16.3-r1.ebuild
+++ b/sys-devel/automake/automake-1.16.3-r1.ebuild
@@ -11,7 +11,7 @@ if [[ ${PV} == 9999 ]] ; then
 
 	inherit git-r3
 else
-	KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+	KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 	if [[ ${PV/_beta} == ${PV} ]]; then
 		MY_P="${P}"
 		SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
diff --git a/sys-devel/bison/Manifest b/sys-devel/bison/Manifest
index 7f49f10d620b..b442eeced754 100644
--- a/sys-devel/bison/Manifest
+++ b/sys-devel/bison/Manifest
@@ -1,7 +1,4 @@
-DIST bison-3.7.3-patches-01.tar.xz 11336 BLAKE2B 2648dacd99c64c366946dad34f9e5fd838b43257df47bf74e3a3b63b03099152b4884d9b1c5943ee5c47afb090369278874c5f2b40dfa69b3abfa4eaa556843f SHA512 a53d541a550cc45f6c677fb6fa830640b64ba2c9a4ab4e6aef1f52ecd5fa38501e2391707d66c2958dd7a139dfba74ae5734e80d15360a3aa544fdea8ecf5500
-DIST bison-3.7.3.tar.xz 2613028 BLAKE2B a6f1063fb9441ae9102b29dc2786b7eb7104f7f13288d537080c26e7982e63f7a954abf1903f2a79a88578d88e9f3c30da8dcf12b7d6c89de0b60943186332c7 SHA512 34fe630749dc015f15a830ad13742c4b0b9163143a11e987c16954bee0451e819ec2fa7b43bd34c867e5ce72c758eb9070348d1d581c9435b9531a99caa46eed
 DIST bison-3.7.6-patches-01.tar.xz 10600 BLAKE2B c7907a327c2bbb82a2e575a864e71400f91cd4349a84f95b187ecaadefc1bfd595a91bce6c8c47e42423cace9cf78a4041fde3fdc489a4824aa3c10ca73be7cb SHA512 8f2ddee79b9678b9fd9a7a34f26d44f7c4472d0fc55c9fef8b418d27949b6a27309b7aa5ac3f4a5ad27c90ad7d92d824ffe767c77b0ed81de6b2897c91cd7560
 DIST bison-3.7.6.tar.xz 2627180 BLAKE2B 2f1015b517e46ff0870378b4d0dd489c8c737f31b2b69146bd7fbbae1e3adcdff0e4837cfdf1d238e8660ecc2b310ce87ec8940ed4989278b3df6cbb2d464e54 SHA512 6c1c9b825fbd2c94b8903f03a7e68e6832599f7bbd8d3c49864537c11b038c45a15de02fd36128d662af314334c83515bbc132df84e9acc6c651e98649c65bad
-EBUILD bison-3.7.3.ebuild 2433 BLAKE2B 66fd490fc173c11253591d0d4d9f2a5b23ace75cb0ffe474108bbc94421a368f4f8d98ce080f746b479480fe492991b12b7df82a765c93e56621f782208b15c0 SHA512 9331d02f6d0cd4db333ad69b50a2516fbe1f572858b89605a4367a39ddfc05be867c283be6149022be918ae5bed015d42b5d77e2c7dfa55478c52e40bad41e93
-EBUILD bison-3.7.6.ebuild 2434 BLAKE2B 82bc7d99b20719b83557910a03ae363235291221800bd035c03d7fce814c51fd0754dbdf13be06e1c1b4695166d0ba5a09ff76d1b66e9c5bdfbe9ee126571a33 SHA512 bc35130bca7bf828700917a5085c4b6e06751b8d6092283d371725d7a44a611fe380b53b9b84a3bced0fd66f8b54b547a02626f0dca30d6c18e3c297998b4c32
+EBUILD bison-3.7.6.ebuild 2433 BLAKE2B 0ed0bec877079f60e821b335f829182a23d564111df453066ba7d312c9c943bd944cf095b6c4aeb8756efcf6299fd7e8fcbcdba0befc8b8804d629fc5f21c6d3 SHA512 2ad813a961f85a7f120f95b1a6d37cc217368a660ae763b2fdc1c61c85ba99ca26a92bca932591ea73d7ca69c8ce1902d0d1a3317fd44b30a89cf6f3dacea07e
 MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-devel/bison/bison-3.7.3.ebuild b/sys-devel/bison/bison-3.7.3.ebuild
deleted file mode 100644
index 29b8d4641091..000000000000
--- a/sys-devel/bison/bison-3.7.3.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit flag-o-matic
-
-PATCH_TAR="${PN}-3.7.3-patches-01.tar.xz"
-
-DESCRIPTION="A general-purpose (yacc-compatible) parser generator"
-HOMEPAGE="https://www.gnu.org/software/bison/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
-	https://dev.gentoo.org/~whissi/dist/bison/${PATCH_TAR}
-	https://dev.gentoo.org/~polynomial-c/dist/bison/${PATCH_TAR}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="examples nls static test"
-RESTRICT="!test? ( test )"
-
-# gettext _IS_ required in RDEPEND because >=bison-3.7 links against
-# libtextstyle.so!!! (see bug #740754)
-DEPEND="
-	>=sys-devel/m4-1.4.16
-	>=sys-devel/gettext-0.21
-"
-RDEPEND="${DEPEND}"
-BDEPEND="
-	sys-devel/flex
-	examples? ( dev-lang/perl )
-	test? ( dev-lang/perl )
-"
-
-DOCS=( AUTHORS ChangeLog NEWS README THANKS TODO ) # ChangeLog-2012 ChangeLog-1998 PACKAGING README-alpha README-release
-
-src_prepare() {
-	# Record date to avoid 'config.status --recheck' & regen of 'tests/package.m4'
-	touch -r configure.ac old.configure.ac || die
-	touch -r configure old.configure || die
-
-	eapply "${WORKDIR}"/patches
-	default
-
-	# Restore date after patching
-	touch -r old.configure.ac configure.ac || die
-	touch -r old.configure configure || die
-
-	# The makefiles make the man page depend on the configure script
-	# which we patched above.  Touch it to prevent regeneration.
-	touch doc/bison.1 || die #548778 #538300#9
-
-	# Avoid regenerating the info page when the timezone is diff. #574492
-	sed -i '2iexport TZ=UTC' build-aux/mdate-sh || die
-}
-
-src_configure() {
-	use static && append-ldflags -static
-
-	local myeconfargs=(
-		$(use_enable examples)
-		$(use_enable nls)
-	)
-	econf "${myeconfargs[@]}"
-}
-
-src_install() {
-	default
-
-	# This one is installed by dev-util/yacc
-	mv "${ED}"/usr/bin/yacc{,.bison} || die
-	mv "${ED}"/usr/share/man/man1/yacc{,.bison}.1 || die
-
-	# We do not need liby.a
-	rm -r "${ED}"/usr/lib* || die
-}
-
-pkg_postinst() {
-	local f="${EROOT}/usr/bin/yacc"
-	if [[ ! -e ${f} ]] ; then
-		ln -s yacc.bison "${f}"
-	fi
-}
-
-pkg_postrm() {
-	# clean up the dead symlink when we get unmerged #377469
-	local f="${EROOT}/usr/bin/yacc"
-	if [[ -L ${f} && ! -e ${f} ]] ; then
-		rm -f "${f}"
-	fi
-}
diff --git a/sys-devel/bison/bison-3.7.6.ebuild b/sys-devel/bison/bison-3.7.6.ebuild
index 28e4fa7fe763..a9e566e5e632 100644
--- a/sys-devel/bison/bison-3.7.6.ebuild
+++ b/sys-devel/bison/bison-3.7.6.ebuild
@@ -15,7 +15,7 @@ SRC_URI="mirror://gnu/${PN}/${P}.tar.xz
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
 IUSE="examples nls static test"
 RESTRICT="!test? ( test )"
 
diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest
index 2d15f96be91a..c30c1d596401 100644
--- a/sys-devel/bmake/Manifest
+++ b/sys-devel/bmake/Manifest
@@ -1,9 +1,6 @@
-AUX bmake-20210206-lib-mk.patch 434 BLAKE2B bf83ead1909041a10fc3889b9157810edc8ace40bae1ed8446e2bfd839220cc3af178cd321ae2cb98ff37748a24ca5d3c9c092f89addf6fc304a73a0b20dc976 SHA512 7580c880992c7ab6a46554f91945ad99da20d6e5fd262a4f8437ee6aa8405855e67eabf8165c81f15d313f8fc741b191ac3a67fd8df095764fd7c7ee8718c08e
 AUX bmake-20210206-tests.patch 467 BLAKE2B 7c66cfbb610f2ea9615a737dd2d97fbea359ecb0e5b5c746447b9a0e9d2dff188f6f0d45225dd07d1226a86297f0c9ba8b8be7587039f2cc7ceaab4bde61f570 SHA512 3d855d54b64e2871ad8ccd494939c92a6bca2bec61f186e907a9b6b8b4f51b4ff63fcacbb8b6d44cef33a39c6ba2bed6c1fdd30d7ad65ad03d1d659781c420fe
 AUX bmake-20210314-mk-fixes.patch 2054 BLAKE2B 404e99593f04408e3f62d8c6118fc1676ef414b4cc18f5ec8b089182fad8865ad79e40c236e58b084f3194bdcc94c92e1e10e40efbddc142b84053117065e202 SHA512 8c9e823dd158e352021f0905e2a15cb8d7da3020c49a8f824cc5dbd8f33910fc64629d5f400fd8651a16b07e0685a1247a661fd9230a62b7330bd5fc71427dd4
-DIST bmake-20210314.tar.gz 749343 BLAKE2B 765b06577d8b06924627de7c2551e4fa25bdf533f2ce96db09a63af01d965e2bc29001e2c07df98a15d72b3c57a11e99974df82b9ec12257c9340baf563c3faf SHA512 d27c3787102d32ccd541909aaf76083ff9d2f704b938ba64d234c5d29d2e7dea320e99bbee53d3594aa830ced59d512d8701487ec5b0c277339e705d6e64f97d
 DIST bmake-20210420.tar.gz 755281 BLAKE2B fe98dc5d0c5a11aecf45b160cfe5b69ef49e56a973823e84ec1f607023aa94d66cd87bc3f31fc340dc86eae0a6e87ca2a71b8367f3e9bb1a9eae8626d13a80ea SHA512 3bb603965c149e4f6bee4afff9710921e943bd1faaf5d142418a5f7a0752416e094b6a0f0dfc998bf6bedc391f668162856a51167e34b6f2ad2a0a498c96ed35
 DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b
-EBUILD bmake-20210314-r1.ebuild 1255 BLAKE2B 62db0d1572ca35fe9990a739ae0e3d80b11189961267badd6222dfc0d3075d669264842e0fa13c15c99abe0359feda0daef3739c5beb2f294b4c4268fd175541 SHA512 e660f58fcc19d271e05389f7ca9651de6afc3960eaf9f17381abcd49d7e59a01b4d472e4515fe7f009354141bcfe84d35c8e274a5562fbee4d98a386033927b4
-EBUILD bmake-20210420.ebuild 1266 BLAKE2B cb60e843e69c740861b71e9c3cd91e7fbd77f5c90b05e125e7b98ad9139756849f8489918b33fa10dac730c03dcfbf43f90611b10bcbe220a65767c27fc77572 SHA512 bf6dc50d38b4834298873a46bdff63a9e978ca06c7cc0e9917cb068b5030371b65c1684d6448bdbac09063af81f55df2fb3445a07253f687f7f4cca582a796c1
+EBUILD bmake-20210420.ebuild 1265 BLAKE2B 085219c02d197e22d6afad2f68cc030cf25bb0d846cffa21a931f1f123a8319c858fc4fe1f3def677cf75684efc891d0e2394a79f675723ef78413b52cae2b44 SHA512 d900abeb3ca40e87e6fa2daeb270e7a4641c68f2be0dfd78c15d6b649401cdd7b7f473c368bc48167654af86b5c3db1c2c17ef35f235e8a491ee4d283a6b3aea
 MISC metadata.xml 356 BLAKE2B c8acffcd095f37e19987d6d116df6654453aab320818262c98e1ccec0871084adb919e408599eb6b4460544c2ec8660abe1e0add7a858d41dc48492f78d1c53d SHA512 c63247454ecc0add57dc73ae2e16421dab39ad199d592c459366b567f3ef3f63c706cb66ac3bdadfafe8a995216e35dc3f90f22ad45a7c078b302b48116f4645
diff --git a/sys-devel/bmake/bmake-20210314-r1.ebuild b/sys-devel/bmake/bmake-20210314-r1.ebuild
deleted file mode 100644
index d8e7d457313c..000000000000
--- a/sys-devel/bmake/bmake-20210314-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MK_VER=20210330
-
-DESCRIPTION="NetBSD's portable make"
-HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html"
-SRC_URI="
-	http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz
-	http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz"
-S="${WORKDIR}/${PN}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
-
-# Skip failing test (sandbox and csh)
-PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch )
-
-src_prepare() {
-	default
-	cd "${WORKDIR}" || die
-	eapply "${FILESDIR}"/${P}-mk-fixes.patch
-}
-
-src_configure() {
-	econf \
-		--with-mksrc=../mk \
-		--with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \
-		--with-machine_arch=${ARCH}
-}
-
-src_compile() {
-	sh make-bootstrap.sh || die "bootstrap failed"
-}
-
-src_test() {
-	cd unit-tests || die
-
-	# the 'ternary' test uses ${A} internally, which
-	# conflicts with Gentoo's ${A}, hence unset it for
-	# the tests temporarily.
-	env -u A MAKEFLAGS= \
-		"${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed"
-}
-
-src_install() {
-	dobin ${PN}
-	doman ${PN}.1
-	FORCE_BSD_MK=1 SYS_MK_DIR=. \
-		sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \
-		|| die "failed to install mk files"
-}
diff --git a/sys-devel/bmake/bmake-20210420.ebuild b/sys-devel/bmake/bmake-20210420.ebuild
index 7d9c41cd9308..d0820d8040e3 100644
--- a/sys-devel/bmake/bmake-20210420.ebuild
+++ b/sys-devel/bmake/bmake-20210420.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}"
 
 LICENSE="BSD"
 SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc ~x86"
 
 # Skip failing test (sandbox and csh)
 PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch )
diff --git a/sys-devel/bmake/files/bmake-20210206-lib-mk.patch b/sys-devel/bmake/files/bmake-20210206-lib-mk.patch
deleted file mode 100644
index 5f860b6f15aa..000000000000
--- a/sys-devel/bmake/files/bmake-20210206-lib-mk.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/mk/lib.mk
-+++ b/mk/lib.mk
-@@ -170,7 +170,7 @@ LD_solib= lib${LIB}_pic.a
- .elif ${TARGET_OSNAME} == "Linux"
- SHLIB_LD = ${CC}
- # this is ambiguous of course
--LD_shared=-shared -Wl,"-soname lib${LIB}.so.${SHLIB_MAJOR}"
-+LD_shared=-shared -Wl,-soname,lib${LIB}.so.${SHLIB_MAJOR}
- LD_solib= -Wl,--whole-archive lib${LIB}_pic.a -Wl,--no-whole-archive
- .if ${COMPILER_TYPE} == "gcc"
- # Linux uses GNU ld, which is a multi-pass linker
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 819145e152a0..74275f697750 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -1,9 +1,11 @@
 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
 EBUILD clang-common-10.0.1.ebuild 573 BLAKE2B a2e0ed9b70b470ade3c22d56ea097befd935702369dcb21b367f3baa95635e1edea1f62760ffe3b678a72410b8b20091167bc5c38d75350004f52b24d7497cae SHA512 da407fe94951d7b6edfe8a237d761bda0114a8e34fd3fe59933c4605851b6a414f9278204e6b7f83d3f6ac9334f80660a7733484b64291ad58c84364015585a4
 EBUILD clang-common-11.1.0.ebuild 581 BLAKE2B 3e7e2e6c0b0a7f177aaf610a7be4bebb6eb23aec0f4677263555a37c57eb6547d94078465939f9062b562f0b5cc59bda22b2e293e0b2f7907f66dd76c95fe554 SHA512 1ce397f6029bc8ee03c8d0aac13e14b7faf77cc446ab390f1435c8c028364620e565e73cb5e97bb6c0093e0a20c34e8a4ceab9591707687567520c0192264bea
-EBUILD clang-common-12.0.0.9999.ebuild 514 BLAKE2B fdd7858dc5690225fc806afe2f2c85f212546c443a5ee725df19b460507855392ec5639cf304d3fa00db199f9f141b841e198c9c853076332c55bfae6b9d9ae2 SHA512 7dac5188645661066ccab55b360e61cba561fc4ece7ab2974e31c4b41d2c110a6a75295f7ec6be9902e9e74fcb210e70c29c4baf0e8ee1c0fb6250084f465d2a
 EBUILD clang-common-12.0.0.ebuild 598 BLAKE2B 4bcaeaa6c64e882067cef81c495839c752b54864284183f0383be63dc07ebaef1758b1e870486c2c09b8f42d0ffabba7988750c60a0eb4d83e42ac3a934239fc SHA512 d0fb7add5034bc118c6246d0b01954e07c8e401571ba9fa3a9f11140cfa1606a3b1f48f788e4c8bb4da1fa5a7bbc591e21a4363d3179e194d80b5b7e2da0bda8
+EBUILD clang-common-12.0.1.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
+EBUILD clang-common-12.0.1_rc1.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
 EBUILD clang-common-13.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
 MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/clang-common/clang-common-12.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-12.0.0.9999.ebuild
deleted file mode 100644
index c9abcb48cca8..000000000000
--- a/sys-devel/clang-common/clang-common-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit bash-completion-r1 llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-PDEPEND="sys-devel/clang:*"
-
-LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh )
-llvm.org_set_globals
-S=${WORKDIR}/clang/utils
-
-src_install() {
-	newbashcomp bash-autocomplete.sh clang
-}
diff --git a/sys-devel/clang-common/clang-common-12.0.1.9999.ebuild b/sys-devel/clang-common/clang-common-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-12.0.1.9999.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+PDEPEND="sys-devel/clang:*"
+
+LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh )
+llvm.org_set_globals
+S=${WORKDIR}/clang/utils
+
+src_install() {
+	newbashcomp bash-autocomplete.sh clang
+}
diff --git a/sys-devel/clang-common/clang-common-12.0.1_rc1.ebuild b/sys-devel/clang-common/clang-common-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-12.0.1_rc1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+PDEPEND="sys-devel/clang:*"
+
+LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh )
+llvm.org_set_globals
+S=${WORKDIR}/clang/utils
+
+src_install() {
+	newbashcomp bash-autocomplete.sh clang
+}
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index 91b27f081899..ee74af6e146f 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -1,6 +1,7 @@
 EBUILD clang-runtime-10.0.1.ebuild 685 BLAKE2B 175c35a6d7960eb40f49cfe3ecf42cd7c52aceb60591b83a81ef494b52ca08739cf06397fdd45fb0e782ae07dd506277826c816643a6f885a8d59d0b97c63123 SHA512 51e03c55059ada3ed7b7b26217c8184045aab8397bbb7172e0a5d9fe6c90b0369fdc91429a485bfda2fef08701a2ea8d9ba15b349438fd53470e37c28789ee23
 EBUILD clang-runtime-11.1.0.ebuild 692 BLAKE2B 5703e482af3e2983d4c7a5c6345fb33d2ec0e7bc68ec67b3a9346aa022819f1c324f766639f49828da6fe4e254a4986bdd60276766b8558a488ed9aecb9d75dd SHA512 ae9e43cf8f97366d8248f8587cec068c775f57d3daeaccd09f24ea337ed98dd7808507e8a6024225d8508301abd35f63a6723cdc83593176fc3affddd74fdf11
-EBUILD clang-runtime-12.0.0.9999.ebuild 643 BLAKE2B d40d0fe357437cd1953be01751c4f31b0545bd48df6130aa0ffbd5b8cce5826ae1bf721e74fcf60b98528f402a734862f9ae495710e72c2d236741191e845dd3 SHA512 a70d29e6ee013f5eaebaa004655617f221ca47457d99f5b6b99ef1fd3c5ee1b0d082267c6436a34d523ebb96a5f9746f4659baa2f8241946be08517c9a5d6d97
 EBUILD clang-runtime-12.0.0.ebuild 709 BLAKE2B 5b533ae47cfa4c8c5dfa8b0a9383c5d39cf8bd43d5ea3424fef3dfab89e18199c01e9263f94b354985be82cf3268a0b7accc09d6237d3cbbbc3e7f81e0099807 SHA512 28ff3e688a68b5070de307fb5a7a040488b1e1e8464ab440e2186b2ab20dcef4ade742180b74db91909ed79f66a511da4eb2012af0f1575ce0d6dc7b13f2c8c6
+EBUILD clang-runtime-12.0.1.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
+EBUILD clang-runtime-12.0.1_rc1.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
 EBUILD clang-runtime-13.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
 MISC metadata.xml 578 BLAKE2B d58a4d1a7bf88a0d5640a02f3acb7e491f275b3bb66a8583aa057b8daae93bb1dbb80f6150bc326228c6ab8c8f8498b46bf72a3fb5e97d0eeea2fb39f87660e3 SHA512 822f56b33d991088ad5e51c3dd96e2e36f544b68c57e45ed8365835d1ef6d0eb797f9de1f8f33b59fbbaf085e245079ca767d5e8b773261cf9ad2c5629b7b16a
diff --git a/sys-devel/clang-runtime/clang-runtime-12.0.0.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-12.0.0.9999.ebuild
deleted file mode 100644
index 2713d1f397ff..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit multilib-build
-
-DESCRIPTION="Meta-ebuild for clang runtime libraries"
-HOMEPAGE="https://clang.llvm.org/"
-SRC_URI=""
-
-LICENSE="metapackage"
-SLOT="$(ver_cut 1-3)"
-KEYWORDS=""
-IUSE="+compiler-rt libcxx openmp +sanitize"
-REQUIRED_USE="sanitize? ( compiler-rt )"
-PROPERTIES="live"
-
-RDEPEND="
-	compiler-rt? (
-		~sys-libs/compiler-rt-${PV}:${SLOT}
-		sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
-	)
-	libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
-	openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/clang-runtime/clang-runtime-12.0.1.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..218cdb1426f6
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-12.0.1.9999.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-build
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+PROPERTIES="live"
+
+RDEPEND="
+	compiler-rt? (
+		~sys-libs/compiler-rt-${PV}:${SLOT}
+		sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
+	)
+	libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+	openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/clang-runtime/clang-runtime-12.0.1_rc1.ebuild b/sys-devel/clang-runtime/clang-runtime-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..218cdb1426f6
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-12.0.1_rc1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-build
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+PROPERTIES="live"
+
+RDEPEND="
+	compiler-rt? (
+		~sys-libs/compiler-rt-${PV}:${SLOT}
+		sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
+	)
+	libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+	openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index d1ccaedcbb91..a88069ab6d98 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -8,9 +8,11 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
 EBUILD clang-10.0.1.ebuild 11494 BLAKE2B 0e3a04d4d8f6db728703cac19b8bc0a07e3e9644651986969e9422515eb5037ac2107ae90e5b6fc3cf8d3c549cfb6e21b918bf193f275f18efbb46b0e7da4464 SHA512 05df3ae5d3bd93f55dd572b5e524f4e8f1bcd155228d480bcdafb5db29613edf8d8d98a02183260091bfccb61636612355b387e53c8e0c1bb9612a5a4f9fb148
 EBUILD clang-11.1.0.ebuild 11852 BLAKE2B f2c36f5206bc0995a921a583beb85ba6430ba74ff62409f238b36dadcd20b3092abdbd1f4143a6a1a6de1f6b82a24cbaff481ea0483e30240e4d8788c8294a07 SHA512 3833b2597f3cf7d6887e151a95e6e81bab8b8c4f964ab08e4ea2bedd4a7b22e7efc12ce2ba15ba02c6dd6997801a81a9b905f2bbedc1611d8e78bde05c192278
 EBUILD clang-12.0.0-r1.ebuild 11836 BLAKE2B dba283c5cc46fb579f523a4760e915483a2f9f14d9189f62ee44d16a36792e592db0655b2ba2be4624e63678c5454b9016c67b4928264387ef1130e7411fcbc1 SHA512 6c1916ebb1b539a3afa17ca2c38018d32d871629e507c5362c03dd4c792eac79c974676edf9ef1cafc26592f2c189da0de1dee4b1b828908ce4b8bc62fedaf7a
-EBUILD clang-12.0.0.9999.ebuild 11754 BLAKE2B 4c76c33e3154a77af98e5697e2f794661f8258b3c3a5ba6bba456410676ef813affe5e3787dbfd013ec4e1818eb36a553ed098be89250e5d84d42bd9d8302eb3 SHA512 c380f0a733fb464d472f61794189e766bf78a0f5083ec60dad9102f65e18ff33e7af880f3c0d4d2f226b48ccd62c8e40fe86573f529e6ffde0c2d6fc8a812bec
+EBUILD clang-12.0.1.9999.ebuild 11754 BLAKE2B 4c76c33e3154a77af98e5697e2f794661f8258b3c3a5ba6bba456410676ef813affe5e3787dbfd013ec4e1818eb36a553ed098be89250e5d84d42bd9d8302eb3 SHA512 c380f0a733fb464d472f61794189e766bf78a0f5083ec60dad9102f65e18ff33e7af880f3c0d4d2f226b48ccd62c8e40fe86573f529e6ffde0c2d6fc8a812bec
+EBUILD clang-12.0.1_rc1.ebuild 11754 BLAKE2B 4c76c33e3154a77af98e5697e2f794661f8258b3c3a5ba6bba456410676ef813affe5e3787dbfd013ec4e1818eb36a553ed098be89250e5d84d42bd9d8302eb3 SHA512 c380f0a733fb464d472f61794189e766bf78a0f5083ec60dad9102f65e18ff33e7af880f3c0d4d2f226b48ccd62c8e40fe86573f529e6ffde0c2d6fc8a812bec
 EBUILD clang-13.0.0.9999.ebuild 11759 BLAKE2B b9847a18bac11485769e3164bb39000f005d6819ed59e2f1a4633674705cdad0c832531804e43a0d8139fb482d1cd6547db2e0db49e1915b97df0ee50a9fa95d SHA512 c270b9fdfe9ee3b56c07b4131cf94bf0e6ce857364b81bdf3ec9d412efa402715b0918fe0b98f3c62b1da84e28933c3b09c0766d24d4d163738e049745659689
 MISC metadata.xml 1336 BLAKE2B aaddc1c1193323466a545df21dfa53b637c3edff4f61cd55037d8327273457cf8d35cad7b92a2eef31acfb055a3e1ed93cb53a913b01eddf43b7b3dc6de880c4 SHA512 0538198df449cdf4d0cd00cb50d7c6883b06524419a29c4376cdcaed440fb84cfbd4983a1a025ae9a6e2fc5d91a4870bfcde587c493d8b617baec2214705601c
diff --git a/sys-devel/clang/clang-12.0.0.9999.ebuild b/sys-devel/clang/clang-12.0.0.9999.ebuild
deleted file mode 100644
index 74d03d6bde4f..000000000000
--- a/sys-devel/clang/clang-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,435 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm llvm.org multilib-minimal pax-utils \
-	prefix python-single-r1 toolchain-funcs
-
-DESCRIPTION="C language family frontend for LLVM"
-HOMEPAGE="https://llvm.org/"
-
-# Keep in sync with sys-devel/llvm
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
-	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
-	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# MSVCSetupApi.h: MIT
-# sorttable.js: MIT
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug default-compiler-rt default-libcxx default-lld
-	doc +static-analyzer test xml kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
-	|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
-	static-analyzer? ( dev-lang/perl:* )
-	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-	${PYTHON_DEPS}"
-for x in "${ALL_LLVM_TARGETS[@]}"; do
-	RDEPEND+="
-		${x}? ( ~sys-devel/llvm-${PV}:${SLOT}[${x}] )"
-done
-unset x
-
-DEPEND="${RDEPEND}"
-BDEPEND="
-	>=dev-util/cmake-3.16
-	doc? ( dev-python/sphinx )
-	xml? ( virtual/pkgconfig )
-	${PYTHON_DEPS}"
-RDEPEND="${RDEPEND}
-	!<sys-devel/llvm-4.0.0_rc:0
-	!sys-devel/clang:0"
-PDEPEND="
-	sys-devel/clang-common
-	~sys-devel/clang-runtime-${PV}
-	default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
-	default-libcxx? ( >=sys-libs/libcxx-${PV} )
-	default-lld? ( sys-devel/lld )"
-
-LLVM_COMPONENTS=( clang clang-tools-extra )
-LLVM_MANPAGES=build
-LLVM_TEST_COMPONENTS=(
-	llvm/lib/Testing/Support
-	llvm/utils/{lit,llvm-lit,unittest}
-	llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
-)
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-#    target. However, you will need appropriate crt* files (installed
-#    e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-#    in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
-	LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
-	python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	# create extra parent dir for relative CLANG_RESOURCE_DIR access
-	mkdir -p x/y || die
-	BUILD_DIR=${WORKDIR}/x/y/clang
-
-	llvm.org_src_prepare
-
-	# add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
-	eprefixify \
-		lib/Frontend/InitHeaderSearch.cpp \
-		lib/Driver/ToolChains/Darwin.cpp || die
-}
-
-check_distribution_components() {
-	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
-		local all_targets=() my_targets=() l
-		cd "${BUILD_DIR}" || die
-
-		while read -r l; do
-			if [[ ${l} == install-*-stripped:* ]]; then
-				l=${l#install-}
-				l=${l%%-stripped*}
-
-				case ${l} in
-					# meta-targets
-					clang-libraries|distribution)
-						continue
-						;;
-					# headers for clang-tidy static library
-					clang-tidy-headers)
-						continue
-						;;
-					# tools
-					clang|clangd|clang-*)
-						;;
-					# static libraries
-					clang*|findAllSymbols)
-						continue
-						;;
-					# conditional to USE=doc
-					docs-clang-html|docs-clang-tools-html)
-						use doc || continue
-						;;
-				esac
-
-				all_targets+=( "${l}" )
-			fi
-		done < <(ninja -t targets all)
-
-		while read -r l; do
-			my_targets+=( "${l}" )
-		done < <(get_distribution_components $"\n")
-
-		local add=() remove=()
-		for l in "${all_targets[@]}"; do
-			if ! has "${l}" "${my_targets[@]}"; then
-				add+=( "${l}" )
-			fi
-		done
-		for l in "${my_targets[@]}"; do
-			if ! has "${l}" "${all_targets[@]}"; then
-				remove+=( "${l}" )
-			fi
-		done
-
-		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
-			eqawarn "get_distribution_components() is outdated!"
-			eqawarn "   Add: ${add[*]}"
-			eqawarn "Remove: ${remove[*]}"
-		fi
-		cd - >/dev/null || die
-	fi
-}
-
-get_distribution_components() {
-	local sep=${1-;}
-
-	local out=(
-		# common stuff
-		clang-cmake-exports
-		clang-headers
-		clang-resource-headers
-		libclang-headers
-
-		# libs
-		clang-cpp
-		libclang
-	)
-
-	if multilib_is_native_abi; then
-		out+=(
-			# common stuff
-			bash-autocomplete
-			libclang-python-bindings
-
-			# tools
-			c-index-test
-			clang
-			clang-format
-			clang-offload-bundler
-			clang-offload-wrapper
-			clang-refactor
-			clang-rename
-			clang-scan-deps
-			diagtool
-			hmaptool
-
-			# extra tools
-			clang-apply-replacements
-			clang-change-namespace
-			clang-doc
-			clang-include-fixer
-			clang-move
-			clang-query
-			clang-reorder-fields
-			clang-tidy
-			clangd
-			find-all-symbols
-			modularize
-			pp-trace
-		)
-
-		if llvm_are_manpages_built; then
-			out+=(
-				# manpages
-				docs-clang-man
-				docs-clang-tools-man
-			)
-		fi
-
-		use doc && out+=(
-			docs-clang-html
-			docs-clang-tools-html
-		)
-
-		use static-analyzer && out+=(
-			clang-check
-			clang-extdef-mapping
-			scan-build
-			scan-view
-		)
-	fi
-
-	printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
-	local llvm_version=$(llvm-config --version) || die
-	local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
-	local mycmakeargs=(
-		-DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
-		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
-		-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-		# relative to bindir
-		-DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
-
-		-DBUILD_SHARED_LIBS=OFF
-		-DCLANG_LINK_CLANG_DYLIB=ON
-		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
-		-DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-		-DLLVM_BUILD_TESTS=$(usex test)
-
-		# these are not propagated reliably, so redefine them
-		-DLLVM_ENABLE_EH=ON
-		-DLLVM_ENABLE_RTTI=ON
-
-		-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
-		# libgomp support fails to find headers without explicit -I
-		# furthermore, it provides only syntax checking
-		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
-		# disable using CUDA to autodetect GPU, just build for all
-		-DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-
-		# override default stdlib and rtlib
-		-DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
-		-DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
-		-DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
-
-		-DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
-		-DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-	use test && mycmakeargs+=(
-		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-		-DLLVM_LIT_ARGS="$(get_lit_flags)"
-	)
-
-	if multilib_is_native_abi; then
-		local build_docs=OFF
-		if llvm_are_manpages_built; then
-			build_docs=ON
-			mycmakeargs+=(
-				-DLLVM_BUILD_DOCS=ON
-				-DLLVM_ENABLE_SPHINX=ON
-				-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-				-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
-				-DSPHINX_WARNINGS_AS_ERRORS=OFF
-			)
-		fi
-		mycmakeargs+=(
-			-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
-			-DCLANG_INCLUDE_DOCS=${build_docs}
-			-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
-		)
-	else
-		mycmakeargs+=(
-			-DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
-		)
-	fi
-
-	if [[ -n ${EPREFIX} ]]; then
-		mycmakeargs+=(
-			-DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
-		)
-	fi
-
-	if tc-is-cross-compiler; then
-		[[ -x "/usr/bin/clang-tblgen" ]] \
-			|| die "/usr/bin/clang-tblgen not found or usable"
-		mycmakeargs+=(
-			-DCMAKE_CROSSCOMPILING=ON
-			-DCLANG_TABLEGEN=/usr/bin/clang-tblgen
-		)
-	fi
-
-	# LLVM can have very high memory consumption while linking,
-	# exhausting the limit on 32-bit linker executable
-	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-	cmake_src_configure
-
-	multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
-	cmake_build distribution
-
-	# provide a symlink for tests
-	if [[ ! -L ${WORKDIR}/lib/clang ]]; then
-		mkdir -p "${WORKDIR}"/lib || die
-		ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
-	fi
-}
-
-multilib_src_test() {
-	# respect TMPDIR!
-	local -x LIT_PRESERVES_TMP=1
-	cmake_build check-clang
-	multilib_is_native_abi &&
-		cmake_build check-clang-tools check-clangd
-}
-
-src_install() {
-	MULTILIB_WRAPPED_HEADERS=(
-		/usr/include/clang/Config/config.h
-	)
-
-	multilib-minimal_src_install
-
-	# Move runtime headers to /usr/lib/clang, where they belong
-	mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
-	# move (remaining) wrapped headers back
-	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-
-	# Apply CHOST and version suffix to clang tools
-	# note: we use two version components here (vs 3 in runtime path)
-	local llvm_version=$(llvm-config --version) || die
-	local clang_version=$(ver_cut 1 "${llvm_version}")
-	local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
-	local clang_tools=( clang clang++ clang-cl clang-cpp )
-	local abi i
-
-	# cmake gives us:
-	# - clang-X
-	# - clang -> clang-X
-	# - clang++, clang-cl, clang-cpp -> clang
-	# we want to have:
-	# - clang-X
-	# - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
-	# - clang, clang++, clang-cl, clang-cpp -> clang*-X
-	# also in CHOST variant
-	for i in "${clang_tools[@]:1}"; do
-		rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
-		dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
-		dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
-	done
-
-	# now create target symlinks for all supported ABIs
-	for abi in $(get_all_abis); do
-		local abi_chost=$(get_abi_CHOST "${abi}")
-		for i in "${clang_tools[@]}"; do
-			dosym "${i}-${clang_version}" \
-				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
-			dosym "${abi_chost}-${i}-${clang_version}" \
-				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
-		done
-	done
-
-	# Remove unnecessary headers on FreeBSD, bug #417171
-	if use kernel_FreeBSD; then
-		rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
-	fi
-}
-
-multilib_src_install() {
-	DESTDIR=${D} cmake_build install-distribution
-
-	# move headers to /usr/include for wrapping & ABI mismatch checks
-	# (also drop the version suffix from runtime headers)
-	rm -rf "${ED}"/usr/include || die
-	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-	mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
-}
-
-multilib_src_install_all() {
-	python_fix_shebang "${ED}"
-	if use static-analyzer; then
-		python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
-	fi
-
-	docompress "/usr/lib/llvm/${SLOT}/share/man"
-	llvm_install_manpages
-	# match 'html' non-compression
-	use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
-	# +x for some reason; TODO: investigate
-	use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
-}
-
-pkg_postinst() {
-	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
-		eselect compiler-shadow update all
-	fi
-
-	elog "You can find additional utility scripts in:"
-	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
-	elog "Some of them are vim integration scripts (with instructions inside)."
-	elog "The run-clang-tidy.py script requires the following additional package:"
-	elog "  dev-python/pyyaml"
-}
-
-pkg_postrm() {
-	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
-		eselect compiler-shadow clean all
-	fi
-}
diff --git a/sys-devel/clang/clang-12.0.1.9999.ebuild b/sys-devel/clang/clang-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..74d03d6bde4f
--- /dev/null
+++ b/sys-devel/clang/clang-12.0.1.9999.ebuild
@@ -0,0 +1,435 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+	prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug default-compiler-rt default-libcxx default-lld
+	doc +static-analyzer test xml kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+	|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
+	static-analyzer? ( dev-lang/perl:* )
+	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+	${PYTHON_DEPS}"
+for x in "${ALL_LLVM_TARGETS[@]}"; do
+	RDEPEND+="
+		${x}? ( ~sys-devel/llvm-${PV}:${SLOT}[${x}] )"
+done
+unset x
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+	>=dev-util/cmake-3.16
+	doc? ( dev-python/sphinx )
+	xml? ( virtual/pkgconfig )
+	${PYTHON_DEPS}"
+RDEPEND="${RDEPEND}
+	!<sys-devel/llvm-4.0.0_rc:0
+	!sys-devel/clang:0"
+PDEPEND="
+	sys-devel/clang-common
+	~sys-devel/clang-runtime-${PV}
+	default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
+	default-libcxx? ( >=sys-libs/libcxx-${PV} )
+	default-lld? ( sys-devel/lld )"
+
+LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
+LLVM_TEST_COMPONENTS=(
+	llvm/lib/Testing/Support
+	llvm/utils/{lit,llvm-lit,unittest}
+	llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
+)
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+# Multilib notes:
+# 1. ABI_* flags control ABIs libclang* is built for only.
+# 2. clang is always capable of compiling code for all ABIs for enabled
+#    target. However, you will need appropriate crt* files (installed
+#    e.g. by sys-devel/gcc and sys-libs/glibc).
+# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
+#    in the current profile (i.e. alike supported by sys-devel/gcc).
+#
+# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
+# multilib clang* libraries (not runtime, not wrappers).
+
+pkg_setup() {
+	LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# create extra parent dir for relative CLANG_RESOURCE_DIR access
+	mkdir -p x/y || die
+	BUILD_DIR=${WORKDIR}/x/y/clang
+
+	llvm.org_src_prepare
+
+	# add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
+	eprefixify \
+		lib/Frontend/InitHeaderSearch.cpp \
+		lib/Driver/ToolChains/Darwin.cpp || die
+}
+
+check_distribution_components() {
+	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+		local all_targets=() my_targets=() l
+		cd "${BUILD_DIR}" || die
+
+		while read -r l; do
+			if [[ ${l} == install-*-stripped:* ]]; then
+				l=${l#install-}
+				l=${l%%-stripped*}
+
+				case ${l} in
+					# meta-targets
+					clang-libraries|distribution)
+						continue
+						;;
+					# headers for clang-tidy static library
+					clang-tidy-headers)
+						continue
+						;;
+					# tools
+					clang|clangd|clang-*)
+						;;
+					# static libraries
+					clang*|findAllSymbols)
+						continue
+						;;
+					# conditional to USE=doc
+					docs-clang-html|docs-clang-tools-html)
+						use doc || continue
+						;;
+				esac
+
+				all_targets+=( "${l}" )
+			fi
+		done < <(ninja -t targets all)
+
+		while read -r l; do
+			my_targets+=( "${l}" )
+		done < <(get_distribution_components $"\n")
+
+		local add=() remove=()
+		for l in "${all_targets[@]}"; do
+			if ! has "${l}" "${my_targets[@]}"; then
+				add+=( "${l}" )
+			fi
+		done
+		for l in "${my_targets[@]}"; do
+			if ! has "${l}" "${all_targets[@]}"; then
+				remove+=( "${l}" )
+			fi
+		done
+
+		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+			eqawarn "get_distribution_components() is outdated!"
+			eqawarn "   Add: ${add[*]}"
+			eqawarn "Remove: ${remove[*]}"
+		fi
+		cd - >/dev/null || die
+	fi
+}
+
+get_distribution_components() {
+	local sep=${1-;}
+
+	local out=(
+		# common stuff
+		clang-cmake-exports
+		clang-headers
+		clang-resource-headers
+		libclang-headers
+
+		# libs
+		clang-cpp
+		libclang
+	)
+
+	if multilib_is_native_abi; then
+		out+=(
+			# common stuff
+			bash-autocomplete
+			libclang-python-bindings
+
+			# tools
+			c-index-test
+			clang
+			clang-format
+			clang-offload-bundler
+			clang-offload-wrapper
+			clang-refactor
+			clang-rename
+			clang-scan-deps
+			diagtool
+			hmaptool
+
+			# extra tools
+			clang-apply-replacements
+			clang-change-namespace
+			clang-doc
+			clang-include-fixer
+			clang-move
+			clang-query
+			clang-reorder-fields
+			clang-tidy
+			clangd
+			find-all-symbols
+			modularize
+			pp-trace
+		)
+
+		if llvm_are_manpages_built; then
+			out+=(
+				# manpages
+				docs-clang-man
+				docs-clang-tools-man
+			)
+		fi
+
+		use doc && out+=(
+			docs-clang-html
+			docs-clang-tools-html
+		)
+
+		use static-analyzer && out+=(
+			clang-check
+			clang-extdef-mapping
+			scan-build
+			scan-view
+		)
+	fi
+
+	printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+	local llvm_version=$(llvm-config --version) || die
+	local clang_version=$(ver_cut 1-3 "${llvm_version}")
+
+	local mycmakeargs=(
+		-DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+		-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+		# relative to bindir
+		-DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+
+		-DBUILD_SHARED_LIBS=OFF
+		-DCLANG_LINK_CLANG_DYLIB=ON
+		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+		-DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+		-DLLVM_BUILD_TESTS=$(usex test)
+
+		# these are not propagated reliably, so redefine them
+		-DLLVM_ENABLE_EH=ON
+		-DLLVM_ENABLE_RTTI=ON
+
+		-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+		# libgomp support fails to find headers without explicit -I
+		# furthermore, it provides only syntax checking
+		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+		# disable using CUDA to autodetect GPU, just build for all
+		-DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+
+		# override default stdlib and rtlib
+		-DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
+		-DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
+		-DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
+
+		-DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+		-DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+	use test && mycmakeargs+=(
+		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+	)
+
+	if multilib_is_native_abi; then
+		local build_docs=OFF
+		if llvm_are_manpages_built; then
+			build_docs=ON
+			mycmakeargs+=(
+				-DLLVM_BUILD_DOCS=ON
+				-DLLVM_ENABLE_SPHINX=ON
+				-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+				-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+				-DSPHINX_WARNINGS_AS_ERRORS=OFF
+			)
+		fi
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+			-DCLANG_INCLUDE_DOCS=${build_docs}
+			-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
+		)
+	else
+		mycmakeargs+=(
+			-DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
+		)
+	fi
+
+	if [[ -n ${EPREFIX} ]]; then
+		mycmakeargs+=(
+			-DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
+		)
+	fi
+
+	if tc-is-cross-compiler; then
+		[[ -x "/usr/bin/clang-tblgen" ]] \
+			|| die "/usr/bin/clang-tblgen not found or usable"
+		mycmakeargs+=(
+			-DCMAKE_CROSSCOMPILING=ON
+			-DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+		)
+	fi
+
+	# LLVM can have very high memory consumption while linking,
+	# exhausting the limit on 32-bit linker executable
+	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+	cmake_src_configure
+
+	multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+	cmake_build distribution
+
+	# provide a symlink for tests
+	if [[ ! -L ${WORKDIR}/lib/clang ]]; then
+		mkdir -p "${WORKDIR}"/lib || die
+		ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
+	fi
+}
+
+multilib_src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+	cmake_build check-clang
+	multilib_is_native_abi &&
+		cmake_build check-clang-tools check-clangd
+}
+
+src_install() {
+	MULTILIB_WRAPPED_HEADERS=(
+		/usr/include/clang/Config/config.h
+	)
+
+	multilib-minimal_src_install
+
+	# Move runtime headers to /usr/lib/clang, where they belong
+	mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
+	# move (remaining) wrapped headers back
+	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+
+	# Apply CHOST and version suffix to clang tools
+	# note: we use two version components here (vs 3 in runtime path)
+	local llvm_version=$(llvm-config --version) || die
+	local clang_version=$(ver_cut 1 "${llvm_version}")
+	local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
+	local clang_tools=( clang clang++ clang-cl clang-cpp )
+	local abi i
+
+	# cmake gives us:
+	# - clang-X
+	# - clang -> clang-X
+	# - clang++, clang-cl, clang-cpp -> clang
+	# we want to have:
+	# - clang-X
+	# - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
+	# - clang, clang++, clang-cl, clang-cpp -> clang*-X
+	# also in CHOST variant
+	for i in "${clang_tools[@]:1}"; do
+		rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
+		dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
+		dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+	done
+
+	# now create target symlinks for all supported ABIs
+	for abi in $(get_all_abis); do
+		local abi_chost=$(get_abi_CHOST "${abi}")
+		for i in "${clang_tools[@]}"; do
+			dosym "${i}-${clang_version}" \
+				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
+			dosym "${abi_chost}-${i}-${clang_version}" \
+				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+		done
+	done
+
+	# Remove unnecessary headers on FreeBSD, bug #417171
+	if use kernel_FreeBSD; then
+		rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+	fi
+}
+
+multilib_src_install() {
+	DESTDIR=${D} cmake_build install-distribution
+
+	# move headers to /usr/include for wrapping & ABI mismatch checks
+	# (also drop the version suffix from runtime headers)
+	rm -rf "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+}
+
+multilib_src_install_all() {
+	python_fix_shebang "${ED}"
+	if use static-analyzer; then
+		python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+	fi
+
+	docompress "/usr/lib/llvm/${SLOT}/share/man"
+	llvm_install_manpages
+	# match 'html' non-compression
+	use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
+	# +x for some reason; TODO: investigate
+	use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+}
+
+pkg_postinst() {
+	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+		eselect compiler-shadow update all
+	fi
+
+	elog "You can find additional utility scripts in:"
+	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+	elog "Some of them are vim integration scripts (with instructions inside)."
+	elog "The run-clang-tidy.py script requires the following additional package:"
+	elog "  dev-python/pyyaml"
+}
+
+pkg_postrm() {
+	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+		eselect compiler-shadow clean all
+	fi
+}
diff --git a/sys-devel/clang/clang-12.0.1_rc1.ebuild b/sys-devel/clang/clang-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..74d03d6bde4f
--- /dev/null
+++ b/sys-devel/clang/clang-12.0.1_rc1.ebuild
@@ -0,0 +1,435 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+	prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug default-compiler-rt default-libcxx default-lld
+	doc +static-analyzer test xml kernel_FreeBSD ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+	|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
+	static-analyzer? ( dev-lang/perl:* )
+	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+	${PYTHON_DEPS}"
+for x in "${ALL_LLVM_TARGETS[@]}"; do
+	RDEPEND+="
+		${x}? ( ~sys-devel/llvm-${PV}:${SLOT}[${x}] )"
+done
+unset x
+
+DEPEND="${RDEPEND}"
+BDEPEND="
+	>=dev-util/cmake-3.16
+	doc? ( dev-python/sphinx )
+	xml? ( virtual/pkgconfig )
+	${PYTHON_DEPS}"
+RDEPEND="${RDEPEND}
+	!<sys-devel/llvm-4.0.0_rc:0
+	!sys-devel/clang:0"
+PDEPEND="
+	sys-devel/clang-common
+	~sys-devel/clang-runtime-${PV}
+	default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
+	default-libcxx? ( >=sys-libs/libcxx-${PV} )
+	default-lld? ( sys-devel/lld )"
+
+LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
+LLVM_TEST_COMPONENTS=(
+	llvm/lib/Testing/Support
+	llvm/utils/{lit,llvm-lit,unittest}
+	llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
+)
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+# Multilib notes:
+# 1. ABI_* flags control ABIs libclang* is built for only.
+# 2. clang is always capable of compiling code for all ABIs for enabled
+#    target. However, you will need appropriate crt* files (installed
+#    e.g. by sys-devel/gcc and sys-libs/glibc).
+# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
+#    in the current profile (i.e. alike supported by sys-devel/gcc).
+#
+# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
+# multilib clang* libraries (not runtime, not wrappers).
+
+pkg_setup() {
+	LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+	python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# create extra parent dir for relative CLANG_RESOURCE_DIR access
+	mkdir -p x/y || die
+	BUILD_DIR=${WORKDIR}/x/y/clang
+
+	llvm.org_src_prepare
+
+	# add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
+	eprefixify \
+		lib/Frontend/InitHeaderSearch.cpp \
+		lib/Driver/ToolChains/Darwin.cpp || die
+}
+
+check_distribution_components() {
+	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+		local all_targets=() my_targets=() l
+		cd "${BUILD_DIR}" || die
+
+		while read -r l; do
+			if [[ ${l} == install-*-stripped:* ]]; then
+				l=${l#install-}
+				l=${l%%-stripped*}
+
+				case ${l} in
+					# meta-targets
+					clang-libraries|distribution)
+						continue
+						;;
+					# headers for clang-tidy static library
+					clang-tidy-headers)
+						continue
+						;;
+					# tools
+					clang|clangd|clang-*)
+						;;
+					# static libraries
+					clang*|findAllSymbols)
+						continue
+						;;
+					# conditional to USE=doc
+					docs-clang-html|docs-clang-tools-html)
+						use doc || continue
+						;;
+				esac
+
+				all_targets+=( "${l}" )
+			fi
+		done < <(ninja -t targets all)
+
+		while read -r l; do
+			my_targets+=( "${l}" )
+		done < <(get_distribution_components $"\n")
+
+		local add=() remove=()
+		for l in "${all_targets[@]}"; do
+			if ! has "${l}" "${my_targets[@]}"; then
+				add+=( "${l}" )
+			fi
+		done
+		for l in "${my_targets[@]}"; do
+			if ! has "${l}" "${all_targets[@]}"; then
+				remove+=( "${l}" )
+			fi
+		done
+
+		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+			eqawarn "get_distribution_components() is outdated!"
+			eqawarn "   Add: ${add[*]}"
+			eqawarn "Remove: ${remove[*]}"
+		fi
+		cd - >/dev/null || die
+	fi
+}
+
+get_distribution_components() {
+	local sep=${1-;}
+
+	local out=(
+		# common stuff
+		clang-cmake-exports
+		clang-headers
+		clang-resource-headers
+		libclang-headers
+
+		# libs
+		clang-cpp
+		libclang
+	)
+
+	if multilib_is_native_abi; then
+		out+=(
+			# common stuff
+			bash-autocomplete
+			libclang-python-bindings
+
+			# tools
+			c-index-test
+			clang
+			clang-format
+			clang-offload-bundler
+			clang-offload-wrapper
+			clang-refactor
+			clang-rename
+			clang-scan-deps
+			diagtool
+			hmaptool
+
+			# extra tools
+			clang-apply-replacements
+			clang-change-namespace
+			clang-doc
+			clang-include-fixer
+			clang-move
+			clang-query
+			clang-reorder-fields
+			clang-tidy
+			clangd
+			find-all-symbols
+			modularize
+			pp-trace
+		)
+
+		if llvm_are_manpages_built; then
+			out+=(
+				# manpages
+				docs-clang-man
+				docs-clang-tools-man
+			)
+		fi
+
+		use doc && out+=(
+			docs-clang-html
+			docs-clang-tools-html
+		)
+
+		use static-analyzer && out+=(
+			clang-check
+			clang-extdef-mapping
+			scan-build
+			scan-view
+		)
+	fi
+
+	printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+	local llvm_version=$(llvm-config --version) || die
+	local clang_version=$(ver_cut 1-3 "${llvm_version}")
+
+	local mycmakeargs=(
+		-DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+		-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+		# relative to bindir
+		-DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+
+		-DBUILD_SHARED_LIBS=OFF
+		-DCLANG_LINK_CLANG_DYLIB=ON
+		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+		-DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+		-DLLVM_BUILD_TESTS=$(usex test)
+
+		# these are not propagated reliably, so redefine them
+		-DLLVM_ENABLE_EH=ON
+		-DLLVM_ENABLE_RTTI=ON
+
+		-DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+		# libgomp support fails to find headers without explicit -I
+		# furthermore, it provides only syntax checking
+		-DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+		# disable using CUDA to autodetect GPU, just build for all
+		-DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+
+		# override default stdlib and rtlib
+		-DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
+		-DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
+		-DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
+
+		-DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+		-DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+	use test && mycmakeargs+=(
+		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+	)
+
+	if multilib_is_native_abi; then
+		local build_docs=OFF
+		if llvm_are_manpages_built; then
+			build_docs=ON
+			mycmakeargs+=(
+				-DLLVM_BUILD_DOCS=ON
+				-DLLVM_ENABLE_SPHINX=ON
+				-DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+				-DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+				-DSPHINX_WARNINGS_AS_ERRORS=OFF
+			)
+		fi
+		mycmakeargs+=(
+			-DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+			-DCLANG_INCLUDE_DOCS=${build_docs}
+			-DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
+		)
+	else
+		mycmakeargs+=(
+			-DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
+		)
+	fi
+
+	if [[ -n ${EPREFIX} ]]; then
+		mycmakeargs+=(
+			-DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
+		)
+	fi
+
+	if tc-is-cross-compiler; then
+		[[ -x "/usr/bin/clang-tblgen" ]] \
+			|| die "/usr/bin/clang-tblgen not found or usable"
+		mycmakeargs+=(
+			-DCMAKE_CROSSCOMPILING=ON
+			-DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+		)
+	fi
+
+	# LLVM can have very high memory consumption while linking,
+	# exhausting the limit on 32-bit linker executable
+	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+	cmake_src_configure
+
+	multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+	cmake_build distribution
+
+	# provide a symlink for tests
+	if [[ ! -L ${WORKDIR}/lib/clang ]]; then
+		mkdir -p "${WORKDIR}"/lib || die
+		ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
+	fi
+}
+
+multilib_src_test() {
+	# respect TMPDIR!
+	local -x LIT_PRESERVES_TMP=1
+	cmake_build check-clang
+	multilib_is_native_abi &&
+		cmake_build check-clang-tools check-clangd
+}
+
+src_install() {
+	MULTILIB_WRAPPED_HEADERS=(
+		/usr/include/clang/Config/config.h
+	)
+
+	multilib-minimal_src_install
+
+	# Move runtime headers to /usr/lib/clang, where they belong
+	mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
+	# move (remaining) wrapped headers back
+	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+
+	# Apply CHOST and version suffix to clang tools
+	# note: we use two version components here (vs 3 in runtime path)
+	local llvm_version=$(llvm-config --version) || die
+	local clang_version=$(ver_cut 1 "${llvm_version}")
+	local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
+	local clang_tools=( clang clang++ clang-cl clang-cpp )
+	local abi i
+
+	# cmake gives us:
+	# - clang-X
+	# - clang -> clang-X
+	# - clang++, clang-cl, clang-cpp -> clang
+	# we want to have:
+	# - clang-X
+	# - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
+	# - clang, clang++, clang-cl, clang-cpp -> clang*-X
+	# also in CHOST variant
+	for i in "${clang_tools[@]:1}"; do
+		rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
+		dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
+		dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+	done
+
+	# now create target symlinks for all supported ABIs
+	for abi in $(get_all_abis); do
+		local abi_chost=$(get_abi_CHOST "${abi}")
+		for i in "${clang_tools[@]}"; do
+			dosym "${i}-${clang_version}" \
+				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
+			dosym "${abi_chost}-${i}-${clang_version}" \
+				"/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+		done
+	done
+
+	# Remove unnecessary headers on FreeBSD, bug #417171
+	if use kernel_FreeBSD; then
+		rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+	fi
+}
+
+multilib_src_install() {
+	DESTDIR=${D} cmake_build install-distribution
+
+	# move headers to /usr/include for wrapping & ABI mismatch checks
+	# (also drop the version suffix from runtime headers)
+	rm -rf "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+}
+
+multilib_src_install_all() {
+	python_fix_shebang "${ED}"
+	if use static-analyzer; then
+		python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+	fi
+
+	docompress "/usr/lib/llvm/${SLOT}/share/man"
+	llvm_install_manpages
+	# match 'html' non-compression
+	use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
+	# +x for some reason; TODO: investigate
+	use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+}
+
+pkg_postinst() {
+	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+		eselect compiler-shadow update all
+	fi
+
+	elog "You can find additional utility scripts in:"
+	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+	elog "Some of them are vim integration scripts (with instructions inside)."
+	elog "The run-clang-tidy.py script requires the following additional package:"
+	elog "  dev-python/pyyaml"
+}
+
+pkg_postrm() {
+	if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+		eselect compiler-shadow clean all
+	fi
+}
diff --git a/sys-devel/distcc/Manifest b/sys-devel/distcc/Manifest
index 43d055453b76..51a3e223dc4c 100644
--- a/sys-devel/distcc/Manifest
+++ b/sys-devel/distcc/Manifest
@@ -13,5 +13,5 @@ AUX distccd.service.conf 186 BLAKE2B b3776e30ded7777be2610f07acec0f70a3cfb7718be
 DIST distcc-3.3.3.tar.gz 1195666 BLAKE2B b393fdb20eb555dec794bf55c1287dd804a576e0a5db9f2fa84c3924a40185a193231aea807353918430297c9c83c7592aaaafd521cf73c92a72bf30b8a69caa SHA512 d5e7fc67f49ee640cef753038b5c0ebcbbac61c6ac29f20ee4736b045a89979ced765717c46383a4fadc50a4fe34e94e58e307509144414a9ca19eb4cc68a135
 DIST distcc-3.4.tar.gz 1239519 BLAKE2B 8dc9baa6b1f65f2bb3621e4e643d7d15d55e2338de4d6a7f20a572d9ec280925b4421a294f40c9fcfba8d4193a6bd1871eb8caf13dd2c2a8a81834671f6bc8bc SHA512 de09329fdfa25e08a9b9529190ddaa9ceccb34c8655692edb86f367a8db4a71b750c6e928cb8e5a670f51fbbc02fd1c8524f72e01b3ebaacc1106dc676d18eef
 EBUILD distcc-3.3.3-r3.ebuild 5402 BLAKE2B c4a34731c92f579bd15102a7741b17025cb39b678ed5f55e08eead12c8d9bc97d6ee9f16d49ce33a41b4f0b8e73f189acbb4e731d4948a6a61c003afc88c42f2 SHA512 35f93a143892c10695b74ac72a51345ee8b29baef2a8571db0661c4cb5179dfb27af2483d98f4aa9705424fb99e52608b66dc81d85a341436ceba5b9c27eeb79
-EBUILD distcc-3.4.ebuild 5107 BLAKE2B fbca28666b0ba4965a9f89d65b50be6c12ed01bc5749a477f3acb569062b140cdcad035f409e1092f2ca7044250b88e5a94d75cd80fe96730c6568b0f42541ed SHA512 d8f11cd5cf0b93defe316bbd00cc14ee9eb9272b4408b2278e2542152b6f08c6c6fef1a5e28d81df4759c54c637e03a2adeccf011288ee94ad9f15c975ae1bd7
+EBUILD distcc-3.4.ebuild 5114 BLAKE2B 200e65a320b3ebc32394884995732396380a8eb6b15169a39c9af881934b7557ca395cb52e91d7f4b4bd18d74f88ff8c9a11f9fc1b8623dc9a8f6f71436ed379 SHA512 ae8835ff14feb15f533751caaf865808a2d8912f017d9cb3f796bc77d7ee3d47ee40b8d913d12a0aea39abceb1c3ebf6895c2a01f0ad6098ddce754008b6490a
 MISC metadata.xml 459 BLAKE2B 8d2380ff1e55bf6e7201ea0ab2e4c6866b9c84c1eecef23470e9aa177279f94695c65c4d50cd5ffbb3d98c90ec9a712d9aed96c16238f2eb3c09d1bc5c6d4bae SHA512 dff25af7ec7895d4d2e3f3886614b227a9b62c4376d1736c61ce70e5cdae00124128ee78e89a31c9bc25cff3bc6c3826543ca8ebaf255a74c4611caabe9de1f8
diff --git a/sys-devel/distcc/distcc-3.4.ebuild b/sys-devel/distcc/distcc-3.4.ebuild
index 314dfd4b44be..d16540b5515c 100644
--- a/sys-devel/distcc/distcc-3.4.ebuild
+++ b/sys-devel/distcc/distcc-3.4.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/distcc/distcc/releases/download/v${PV}/${P}.tar.gz"
 
 LICENSE="GPL-2+"
 SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
 IUSE="gssapi gtk hardened ipv6 selinux xinetd zeroconf"
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index a32b603f6b02..d19adf37c188 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -1,11 +1,13 @@
 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
 EBUILD lld-10.0.1-r1.ebuild 1180 BLAKE2B 57351da8e2caf83758a607b1517a29e1d7ea0887d5ba6d58bb93da8208abf458c4c6185e7673a4da98a798cee82ed778a77c481f0eafcb866393ef0c0fac1851 SHA512 7435597d89ca5327f9aa80fff2874c9a86f8d8b8bbe33bb1f043ff4a0c73c0244249bb58285134e705a648223ba1ec4d35f79b6f81bb4430040ed439a8137011
 EBUILD lld-10.0.1.ebuild 1327 BLAKE2B c1933a141d5460f94cee3bdeac644760aec6d8e5906e3202e54a7a9da441a57d2de33b77d906dea4dcf6d7bac0bef97edd29c0a8d756093e9b56f81fbec07e01 SHA512 5901b7d0f5b2d07234d3287ab003e68b032a42e0887ab0d76fdd7a7af12feaea97a3ce07f06f3f1c428f7b5b4fa7f98daddf0909c8e3c0bf7ab2adc75363ed95
 EBUILD lld-11.1.0-r1.ebuild 1252 BLAKE2B 80f3bbdb8355e697eeb5951a76c67b04313aae078a80c40de22f2e2bb928501549ddbfe85a526e0c50f0a176c813f1362de3d1bf0a042da7fa7623696aa75a8b SHA512 e39de371e3a445fb99bb72f9841633d71ab4021d4a4b532f47d43c72379703025ac1dce06359e524788b00b8ded54d3718843bc72c2355a7c668e8ecbfe9241c
 EBUILD lld-11.1.0.ebuild 1399 BLAKE2B bfa3538e4bd9492e94547f4ed304d75ff5da1e58c1d1a3e044be9da0c77a6ac71fce301ef3e6970cc520cb0c31abd9a81a668998b9c808852b157c91c3e398f4 SHA512 2ae031e69815ad5711567fc0ff5a7aa20d1cd49bb29dadb03f9754bc69da89d309d57996f3a67157be55c87c75cac7ab00ec53deb9b579ed74901c1789f7cf5b
-EBUILD lld-12.0.0.9999.ebuild 1628 BLAKE2B 0287a5e68645f48b08189ef850705bb3e161f42a384efad389ed7915f575f60e850c73087a4833257683e34d9acf2b4c7e930c02ef0cc34a6a1591454927cd2c SHA512 006e8a213d2517483a8c719c6634dcf1fe21281159737b40c4f50a2da51a730fe37e44b4d3b3f4fec0cff8c2055b57f49e94666180c7fd61046e8b60784d0e24
 EBUILD lld-12.0.0.ebuild 1670 BLAKE2B 09569b42f03e6fe3bd962f8c951400f129acd9c6e080e74a0155bc3167a28976d5aa4428fe06654d34c49c8d96a11a94f2ff8cf7fc3f084a7a8482aad935a52b SHA512 08d5b7521b967233eaccd324607d97d41062dc424c2e659ffb8bb2ef60695962d9d32888d29c8dc0628b6b77f5cc0d932fd7d9394bc799107f5f24cf4de65814
+EBUILD lld-12.0.1.9999.ebuild 1628 BLAKE2B 0287a5e68645f48b08189ef850705bb3e161f42a384efad389ed7915f575f60e850c73087a4833257683e34d9acf2b4c7e930c02ef0cc34a6a1591454927cd2c SHA512 006e8a213d2517483a8c719c6634dcf1fe21281159737b40c4f50a2da51a730fe37e44b4d3b3f4fec0cff8c2055b57f49e94666180c7fd61046e8b60784d0e24
+EBUILD lld-12.0.1_rc1.ebuild 1628 BLAKE2B 0287a5e68645f48b08189ef850705bb3e161f42a384efad389ed7915f575f60e850c73087a4833257683e34d9acf2b4c7e930c02ef0cc34a6a1591454927cd2c SHA512 006e8a213d2517483a8c719c6634dcf1fe21281159737b40c4f50a2da51a730fe37e44b4d3b3f4fec0cff8c2055b57f49e94666180c7fd61046e8b60784d0e24
 EBUILD lld-13.0.0.9999.ebuild 1628 BLAKE2B 0287a5e68645f48b08189ef850705bb3e161f42a384efad389ed7915f575f60e850c73087a4833257683e34d9acf2b4c7e930c02ef0cc34a6a1591454927cd2c SHA512 006e8a213d2517483a8c719c6634dcf1fe21281159737b40c4f50a2da51a730fe37e44b4d3b3f4fec0cff8c2055b57f49e94666180c7fd61046e8b60784d0e24
 MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/lld/lld-12.0.0.9999.ebuild b/sys-devel/lld/lld-12.0.0.9999.ebuild
deleted file mode 100644
index da442603c870..000000000000
--- a/sys-devel/lld/lld-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm llvm.org python-any-r1
-
-DESCRIPTION="The LLVM linker (link editor)"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS=""
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="~sys-devel/llvm-${PV}"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	test? (
-		>=dev-util/cmake-3.16
-		$(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
-	)"
-
-LLVM_COMPONENTS=( lld libunwind/include/mach-o )
-LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
-llvm.org_set_globals
-
-python_check_deps() {
-	has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
-	LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
-	use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
-	llvm.org_src_unpack
-
-	# Directory ${WORKDIR}/llvm does not exist with USE="-test",
-	# but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
-	# and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
-	# (lld/MachO/CMakeLists.txt) and is expected to be resolvable
-	# to existent directory ${WORKDIR}/libunwind/include.
-	mkdir -p "${WORKDIR}/llvm" || die
-}
-
-src_configure() {
-	local mycmakeargs=(
-		-DBUILD_SHARED_LIBS=ON
-		-DLLVM_INCLUDE_TESTS=$(usex test)
-		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-	)
-	use test && mycmakeargs+=(
-		-DLLVM_BUILD_TESTS=ON
-		-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-		-DLLVM_LIT_ARGS="$(get_lit_flags)"
-		-DPython3_EXECUTABLE="${PYTHON}"
-	)
-	cmake_src_configure
-}
-
-src_test() {
-	local -x LIT_PRESERVES_TMP=1
-	cmake_build check-lld
-}
diff --git a/sys-devel/lld/lld-12.0.1.9999.ebuild b/sys-devel/lld/lld-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..da442603c870
--- /dev/null
+++ b/sys-devel/lld/lld-12.0.1.9999.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="~sys-devel/llvm-${PV}"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	test? (
+		>=dev-util/cmake-3.16
+		$(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+	)"
+
+LLVM_COMPONENTS=( lld libunwind/include/mach-o )
+LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
+llvm.org_set_globals
+
+python_check_deps() {
+	has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	llvm.org_src_unpack
+
+	# Directory ${WORKDIR}/llvm does not exist with USE="-test",
+	# but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
+	# and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
+	# (lld/MachO/CMakeLists.txt) and is expected to be resolvable
+	# to existent directory ${WORKDIR}/libunwind/include.
+	mkdir -p "${WORKDIR}/llvm" || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_SHARED_LIBS=ON
+		-DLLVM_INCLUDE_TESTS=$(usex test)
+		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+	)
+	use test && mycmakeargs+=(
+		-DLLVM_BUILD_TESTS=ON
+		-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+	cmake_src_configure
+}
+
+src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake_build check-lld
+}
diff --git a/sys-devel/lld/lld-12.0.1_rc1.ebuild b/sys-devel/lld/lld-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..da442603c870
--- /dev/null
+++ b/sys-devel/lld/lld-12.0.1_rc1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="~sys-devel/llvm-${PV}"
+DEPEND="${RDEPEND}"
+BDEPEND="
+	test? (
+		>=dev-util/cmake-3.16
+		$(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+	)"
+
+LLVM_COMPONENTS=( lld libunwind/include/mach-o )
+LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
+llvm.org_set_globals
+
+python_check_deps() {
+	has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+	LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+	use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+	llvm.org_src_unpack
+
+	# Directory ${WORKDIR}/llvm does not exist with USE="-test",
+	# but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
+	# and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
+	# (lld/MachO/CMakeLists.txt) and is expected to be resolvable
+	# to existent directory ${WORKDIR}/libunwind/include.
+	mkdir -p "${WORKDIR}/llvm" || die
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_SHARED_LIBS=ON
+		-DLLVM_INCLUDE_TESTS=$(usex test)
+		-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+	)
+	use test && mycmakeargs+=(
+		-DLLVM_BUILD_TESTS=ON
+		-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+		-DPython3_EXECUTABLE="${PYTHON}"
+	)
+	cmake_src_configure
+}
+
+src_test() {
+	local -x LIT_PRESERVES_TMP=1
+	cmake_build check-lld
+}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 1c84085d0fde..03460e432534 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -1,9 +1,11 @@
 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
 EBUILD llvm-common-10.0.1.ebuild 588 BLAKE2B cd416d913d8ef3f7abc35f4d4db088cb116ba1881b6ce10760ad6a7302b91cc128c560ddf9b7d4ba0acbbbf9c88f2fdc57ddb15e117254d4feec03a601a7fb24 SHA512 c0e63e8e0b26e33133aa0982b21fef306e3d07ad07a9d9e6046e5dbe782162ec8ec701064d0db1aa741d61b6146854cd1de2a352938e6b579be22a21dde753fe
 EBUILD llvm-common-11.1.0.ebuild 603 BLAKE2B 0a7273b73b30e1cfb707d232c8634368edf0c10ec938c78544c65ee8553f0916a271fbdacbd358fbafc8d02f1f3e2d8f48dc4ff5b77ef9f5d5f80ef3d2e05eb3 SHA512 520efa24caa6415e82461362659b7db6ea11d4bc3b6b93105cbdd45ce0f46dc35f2b14151425e989a45656e93a5d7b9a3288ff55ef0d585b4b376dfcd5908067
-EBUILD llvm-common-12.0.0.9999.ebuild 529 BLAKE2B 07f65b41962ce9384c029cdd72ffaa7aa18afaf1d347a83b4cfc40442cc8e235720a423311ae0b8a208dc461288eb86f8962ea392c9e599dadd1902b12842bbe SHA512 68072c0ef398aac4b06e57c1b72fdb939fb055a4fbf18f702e2ab1e322e400d706582a42addad5dc307e955f1c010ab951c0a8cc4eaa74b4657290bc968a9723
 EBUILD llvm-common-12.0.0.ebuild 613 BLAKE2B 960b0e06a84ef48bf0f0ef0e174b475572689d9a8a477f8b0a1a336203e1c8a3c5d034010a8e3e36251a0e0af95e8be9891d4ef77527122c173d65ff6e45e48c SHA512 7e4fdb7fae1bf619a2c2bcaae1486b8687431576bf3dfd856cfe2ecd618a77fa20a66f66ad692131cea71b762f3c7818ce677dceb58c3d45b145a4e2a9a3cfce
+EBUILD llvm-common-12.0.1.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
+EBUILD llvm-common-12.0.1_rc1.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
 EBUILD llvm-common-13.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
 MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/llvm-common/llvm-common-12.0.0.9999.ebuild b/sys-devel/llvm-common/llvm-common-12.0.0.9999.ebuild
deleted file mode 100644
index 4804d9640098..000000000000
--- a/sys-devel/llvm-common/llvm-common-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of LLVM"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS=""
-IUSE=""
-
-RDEPEND="!sys-devel/llvm:0"
-
-LLVM_COMPONENTS=( llvm/utils/vim )
-llvm.org_set_globals
-
-src_install() {
-	insinto /usr/share/vim/vimfiles
-	doins -r */
-	# some users may find it useful
-	newdoc README README.vim
-	dodoc vimrc
-}
diff --git a/sys-devel/llvm-common/llvm-common-12.0.1.9999.ebuild b/sys-devel/llvm-common/llvm-common-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-12.0.1.9999.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="!sys-devel/llvm:0"
+
+LLVM_COMPONENTS=( llvm/utils/vim )
+llvm.org_set_globals
+
+src_install() {
+	insinto /usr/share/vim/vimfiles
+	doins -r */
+	# some users may find it useful
+	newdoc README README.vim
+	dodoc vimrc
+}
diff --git a/sys-devel/llvm-common/llvm-common-12.0.1_rc1.ebuild b/sys-devel/llvm-common/llvm-common-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-12.0.1_rc1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="!sys-devel/llvm:0"
+
+LLVM_COMPONENTS=( llvm/utils/vim )
+llvm.org_set_globals
+
+src_install() {
+	insinto /usr/share/vim/vimfiles
+	doins -r */
+	# some users may find it useful
+	newdoc README README.vim
+	dodoc vimrc
+}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 70287cc32867..2059fe29ff5a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -8,9 +8,11 @@ DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b
 DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
 DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
 DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
+DIST llvmorg-12.0.1-rc1.tar.gz 134261735 BLAKE2B d29510495641c06e6d7a5ac165e6d34e0ba15d1a5b786534e186e341e3a0550cdd3d8a2b61deb3e2bf44c0b0ff8561224bf7f8cebc2ce9415639cb67ceae289e SHA512 4595a26df56eed7d5941240fe92116ad2f1c61639f0f464697c2c530a601347032fbad6802d1fa915ced8574c7b30ef05bc8c0be737784c844d3860892817e6e
 EBUILD llvm-10.0.1.ebuild 11490 BLAKE2B 40960dd1109655157b04396283d704ea1a0af35ffd09ec9bab2718d62fde888508246ea77a473cd7512c1818b5a3a8d7b72e5786d64faf43bd42ff823b765e22 SHA512 75767e94d55ca1f9f7a769abfc0c916388e69ccd51620c8083f8bb184bf9649d2b9c75efaed46d96f8e0932cb3e6beb71d51a3b1565243218a3efd5144238296
 EBUILD llvm-11.1.0.ebuild 12504 BLAKE2B 7f22ab387fab31e11d554667b1b183f5b66203f601096c130642500f877f2af473b31a0cba96da93d9c85d50e2fbafb7f46a0ff6bf2f96a0bd41266ddc04dc8f SHA512 716b8474077279b821140d2defa5f1dd5b2ab7cf09aeb27907410a184a701ecbf99f545622e68d0a81a762c3b5cbc6ff3b30415a331d38dac8fb72f37a3147bf
-EBUILD llvm-12.0.0.9999.ebuild 12533 BLAKE2B 11655c8c777803817c302b0c527fc169b13961ce29c426e11a71de70fbe47b5f440b6cc6a976a762badea202486b77279b0e288fb44ee996d33e0a179b9f5166 SHA512 1e84d291d1ce1496457a53f472929862f61f807f85efc3754978ce16e204f53962b45ff51e9454a2bfe17234bbf4a5bebacf030326b14a80659ad0dada3c3a96
 EBUILD llvm-12.0.0.ebuild 12776 BLAKE2B 7d191d704f92b5dd66a947e5d353fb6d11dcf967df4041c7527c3bdfbf2f6bd55125d3078a71df1f92458d3b16e14136f312c5111769dbd6653d93d3395a78c4 SHA512 0c6c84307e7dc738824daf74b9ed5b5320adeb7a3c45456e82c2720cb5e7634a63414c952525d430eb41f2a53097096189e3b91e89a0ad7d75ff7265cb2e8d16
+EBUILD llvm-12.0.1.9999.ebuild 12533 BLAKE2B 11655c8c777803817c302b0c527fc169b13961ce29c426e11a71de70fbe47b5f440b6cc6a976a762badea202486b77279b0e288fb44ee996d33e0a179b9f5166 SHA512 1e84d291d1ce1496457a53f472929862f61f807f85efc3754978ce16e204f53962b45ff51e9454a2bfe17234bbf4a5bebacf030326b14a80659ad0dada3c3a96
+EBUILD llvm-12.0.1_rc1.ebuild 12533 BLAKE2B 11655c8c777803817c302b0c527fc169b13961ce29c426e11a71de70fbe47b5f440b6cc6a976a762badea202486b77279b0e288fb44ee996d33e0a179b9f5166 SHA512 1e84d291d1ce1496457a53f472929862f61f807f85efc3754978ce16e204f53962b45ff51e9454a2bfe17234bbf4a5bebacf030326b14a80659ad0dada3c3a96
 EBUILD llvm-13.0.0.9999.ebuild 12552 BLAKE2B 33578989a0fd53a66fb962ea2dd937c19af3ce0bee1c5e7f37ee58edf3fdf19a4b9220ab47c05f9b5537e41d0d7b1a0f89a4e18938598bbcb61c9b167fbda7e9 SHA512 13bbfd61ac634dbe8a845af29016f122e36e5340d0a35ac6bc301c7f9c5322fbc1f301ea50c423613690dad584ba759724e963522146e0379ef5b735887d3e28
 MISC metadata.xml 2563 BLAKE2B ca85030788fb213fc891d895238fd75562cdd25cc5fe4271d709cb1c00ef56b0e8b367dc70cc18f7d185d6fbdb57333e219a984220b60141d28fb4784b2cb94a SHA512 8de68ee7f964e6eb2613bd2ff584f834e0f5a3ae8b303b5f2f10fda718a87af9b8ddfc19399950fe4eb8be515930124ced8018190af0f69da7ec5fe8180a68a2
diff --git a/sys-devel/llvm/llvm-12.0.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
deleted file mode 100644
index 09568c1ceda7..000000000000
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ /dev/null
@@ -1,518 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} )
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
-	toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Those are in lib/Targets, without explicit CMakeLists.txt mention
-ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
-# Keep in sync with CMakeLists.txt
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
-	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
-	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="$(ver_cut 1)"
-KEYWORDS=""
-IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
-	kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	sys-libs/zlib:0=[${MULTILIB_USEDEP}]
-	exegesis? ( dev-libs/libpfm:= )
-	gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
-	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}] )
-	xar? ( app-arch/xar )
-	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-	z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
-DEPEND="${RDEPEND}
-	gold? ( sys-libs/binutils-libs )"
-BDEPEND="
-	dev-lang/perl
-	>=dev-util/cmake-3.16
-	sys-devel/gnuconfig
-	kernel_Darwin? (
-		<sys-libs/libcxx-$(ver_cut 1-3).9999
-		>=sys-devel/binutils-apple-5.1
-	)
-	doc? ( $(python_gen_any_dep '
-		dev-python/recommonmark[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-	') )
-	libffi? ( virtual/pkgconfig )
-	${PYTHON_DEPS}"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="${RDEPEND}
-	!sys-devel/llvm:0"
-PDEPEND="sys-devel/llvm-common
-	gold? ( >=sys-devel/llvmgold-${SLOT} )"
-
-LLVM_COMPONENTS=( llvm )
-LLVM_MANPAGES=build
-LLVM_PATCHSET=9999-1
-llvm.org_set_globals
-
-python_check_deps() {
-	use doc || return 0
-
-	has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
-	has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_live_ebuild() {
-	local prod_targets=(
-		$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
-			| tail -n +2 | head -n -1)
-	)
-	local all_targets=(
-		lib/Target/*/
-	)
-	all_targets=( "${all_targets[@]#lib/Target/}" )
-	all_targets=( "${all_targets[@]%/}" )
-
-	local exp_targets=() i
-	for i in "${all_targets[@]}"; do
-		has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
-	done
-	# reorder
-	all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
-
-	if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
-		eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
-		eqawarn "    Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
-		eqawarn "Expected: ${exp_targets[*]}"
-		eqawarn
-	fi
-
-	if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
-		eqawarn "ALL_LLVM_TARGETS is outdated!"
-		eqawarn "    Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
-		eqawarn "Expected: ${all_targets[*]}"
-	fi
-}
-
-check_distribution_components() {
-	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
-		local all_targets=() my_targets=() l
-		cd "${BUILD_DIR}" || die
-
-		while read -r l; do
-			if [[ ${l} == install-*-stripped:* ]]; then
-				l=${l#install-}
-				l=${l%%-stripped*}
-
-				case ${l} in
-					# shared libs
-					LLVM|LLVMgold)
-						;;
-					# TableGen lib + deps
-					LLVMDemangle|LLVMSupport|LLVMTableGen)
-						;;
-					# static libs
-					LLVM*)
-						continue
-						;;
-					# meta-targets
-					distribution|llvm-libraries)
-						continue
-						;;
-					# used only w/ USE=doc
-					docs-llvm-html)
-						use doc || continue
-						;;
-				esac
-
-				all_targets+=( "${l}" )
-			fi
-		done < <(ninja -t targets all)
-
-		while read -r l; do
-			my_targets+=( "${l}" )
-		done < <(get_distribution_components $"\n")
-
-		local add=() remove=()
-		for l in "${all_targets[@]}"; do
-			if ! has "${l}" "${my_targets[@]}"; then
-				add+=( "${l}" )
-			fi
-		done
-		for l in "${my_targets[@]}"; do
-			if ! has "${l}" "${all_targets[@]}"; then
-				remove+=( "${l}" )
-			fi
-		done
-
-		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
-			eqawarn "get_distribution_components() is outdated!"
-			eqawarn "   Add: ${add[*]}"
-			eqawarn "Remove: ${remove[*]}"
-		fi
-		cd - >/dev/null || die
-	fi
-}
-
-src_prepare() {
-	# disable use of SDK on OSX, bug #568758
-	sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
-	# Update config.guess to support more systems
-	cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
-	# Verify that the live ebuild is up-to-date
-	check_live_ebuild
-
-	llvm.org_src_prepare
-}
-
-# Is LLVM being linked against libc++?
-is_libcxx_linked() {
-	local code='#include <ciso646>
-#if defined(_LIBCPP_VERSION)
-	HAVE_LIBCXX
-#endif
-'
-	local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
-
-	[[ ${out} == *HAVE_LIBCXX* ]]
-}
-
-get_distribution_components() {
-	local sep=${1-;}
-
-	local out=(
-		# shared libs
-		LLVM
-		LTO
-		Remarks
-
-		# tools
-		llvm-config
-
-		# common stuff
-		cmake-exports
-		llvm-headers
-
-		# libraries needed for clang-tblgen
-		LLVMDemangle
-		LLVMSupport
-		LLVMTableGen
-	)
-
-	if multilib_is_native_abi; then
-		out+=(
-			# utilities
-			llvm-tblgen
-			FileCheck
-			llvm-PerfectShuffle
-			count
-			not
-			yaml-bench
-
-			# tools
-			bugpoint
-			dsymutil
-			llc
-			lli
-			lli-child-target
-			llvm-addr2line
-			llvm-ar
-			llvm-as
-			llvm-bcanalyzer
-			llvm-bitcode-strip
-			llvm-c-test
-			llvm-cat
-			llvm-cfi-verify
-			llvm-config
-			llvm-cov
-			llvm-cvtres
-			llvm-cxxdump
-			llvm-cxxfilt
-			llvm-cxxmap
-			llvm-diff
-			llvm-dis
-			llvm-dlltool
-			llvm-dwarfdump
-			llvm-dwp
-			llvm-elfabi
-			llvm-exegesis
-			llvm-extract
-			llvm-gsymutil
-			llvm-ifs
-			llvm-install-name-tool
-			llvm-jitlink
-			llvm-jitlink-executor
-			llvm-lib
-			llvm-libtool-darwin
-			llvm-link
-			llvm-lipo
-			llvm-lto
-			llvm-lto2
-			llvm-mc
-			llvm-mca
-			llvm-ml
-			llvm-modextract
-			llvm-mt
-			llvm-nm
-			llvm-objcopy
-			llvm-objdump
-			llvm-opt-report
-			llvm-pdbutil
-			llvm-profdata
-			llvm-profgen
-			llvm-ranlib
-			llvm-rc
-			llvm-readelf
-			llvm-readobj
-			llvm-reduce
-			llvm-rtdyld
-			llvm-size
-			llvm-split
-			llvm-stress
-			llvm-strings
-			llvm-strip
-			llvm-symbolizer
-			llvm-undname
-			llvm-xray
-			obj2yaml
-			opt
-			sancov
-			sanstats
-			split-file
-			verify-uselistorder
-			yaml2obj
-
-			# python modules
-			opt-viewer
-		)
-
-		if llvm_are_manpages_built; then
-			out+=(
-				# manpages
-				docs-dsymutil-man
-				docs-llvm-dwarfdump-man
-				docs-llvm-man
-			)
-		fi
-		use doc && out+=(
-			docs-llvm-html
-		)
-
-		use gold && out+=(
-			LLVMgold
-		)
-	fi
-
-	printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
-	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=(
-		# disable appending VCS revision to the version to improve
-		# direct cache hit ratio
-		-DLLVM_APPEND_VC_REV=OFF
-		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
-		-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
-		-DBUILD_SHARED_LIBS=OFF
-		-DLLVM_BUILD_LLVM_DYLIB=ON
-		-DLLVM_LINK_LLVM_DYLIB=ON
-		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
-		# cheap hack: LLVM combines both anyway, and the only difference
-		# is that the former list is explicitly verified at cmake time
-		-DLLVM_TARGETS_TO_BUILD=""
-		-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-		-DLLVM_BUILD_TESTS=$(usex test)
-
-		-DLLVM_ENABLE_FFI=$(usex libffi)
-		-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
-		-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
-		-DLLVM_ENABLE_LIBXML2=$(usex xml)
-		-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
-		-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
-		-DLLVM_ENABLE_EH=ON
-		-DLLVM_ENABLE_RTTI=ON
-		-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
-		-DLLVM_HOST_TRIPLE="${CHOST}"
-
-		-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
-		-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-		# used only for llvm-objdump tool
-		-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
-		-DPython3_EXECUTABLE="${PYTHON}"
-
-		# disable OCaml bindings (now in dev-ml/llvm-ocaml)
-		-DOCAMLFIND=NO
-	)
-
-	if is_libcxx_linked; then
-		# Smart hack: alter version suffix -> SOVERSION when linking
-		# against libc++. This way we won't end up mixing LLVM libc++
-		# libraries with libstdc++ clang, and the other way around.
-		mycmakeargs+=(
-			-DLLVM_VERSION_SUFFIX="libcxx"
-			-DLLVM_ENABLE_LIBCXX=ON
-		)
-	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
-
-	use test && mycmakeargs+=(
-		-DLLVM_LIT_ARGS="$(get_lit_flags)"
-	)
-
-	if multilib_is_native_abi; then
-		local build_docs=OFF
-		if llvm_are_manpages_built; then
-			build_docs=ON
-			mycmakeargs+=(
-				-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-				-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
-				-DSPHINX_WARNINGS_AS_ERRORS=OFF
-			)
-		fi
-
-		mycmakeargs+=(
-			-DLLVM_BUILD_DOCS=${build_docs}
-			-DLLVM_ENABLE_OCAMLDOC=OFF
-			-DLLVM_ENABLE_SPHINX=${build_docs}
-			-DLLVM_ENABLE_DOXYGEN=OFF
-			-DLLVM_INSTALL_UTILS=ON
-		)
-		use gold && mycmakeargs+=(
-			-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
-		)
-	fi
-
-	if tc-is-cross-compiler; then
-		local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
-		[[ -x "${tblgen}" ]] \
-			|| die "${tblgen} not found or usable"
-		mycmakeargs+=(
-			-DCMAKE_CROSSCOMPILING=ON
-			-DLLVM_TABLEGEN="${tblgen}"
-		)
-	fi
-
-	# workaround BMI bug in gcc-7 (fixed in 7.4)
-	# https://bugs.gentoo.org/649880
-	# apply only to x86, https://bugs.gentoo.org/650506
-	if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
-			[[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
-	then
-		local CFLAGS="${CFLAGS} -mno-bmi"
-		local CXXFLAGS="${CXXFLAGS} -mno-bmi"
-	fi
-
-	# LLVM can have very high memory consumption while linking,
-	# exhausting the limit on 32-bit linker executable
-	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
-	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-	cmake_src_configure
-
-	multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
-	cmake_build distribution
-
-	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_build check
-}
-
-src_install() {
-	local MULTILIB_CHOST_TOOLS=(
-		/usr/lib/llvm/${SLOT}/bin/llvm-config
-	)
-
-	local MULTILIB_WRAPPED_HEADERS=(
-		/usr/include/llvm/Config/llvm-config.h
-	)
-
-	local LLVM_LDPATHS=()
-	multilib-minimal_src_install
-
-	# move wrapped headers back
-	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
-	DESTDIR=${D} cmake_build install-distribution
-
-	# move headers to /usr/include for wrapping
-	rm -rf "${ED}"/usr/include || die
-	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
-	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
-	local revord=$(( 9999 - ${SLOT} ))
-	newenvd - "60llvm-${revord}" <<-_EOF_
-		PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
-		# we need to duplicate it in ROOTPATH for Portage to respect...
-		ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
-		MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
-		LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
-	_EOF_
-
-	docompress "/usr/lib/llvm/${SLOT}/share/man"
-	llvm_install_manpages
-}
-
-pkg_postinst() {
-	elog "You can find additional opt-viewer utility scripts in:"
-	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
-	elog "To use these scripts, you will need Python along with the following"
-	elog "packages:"
-	elog "  dev-python/pygments (for opt-viewer)"
-	elog "  dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-12.0.1.9999.ebuild b/sys-devel/llvm/llvm-12.0.1.9999.ebuild
new file mode 100644
index 000000000000..09568c1ceda7
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.1.9999.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+	kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+	exegesis? ( dev-libs/libpfm:= )
+	gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+	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}] )
+	xar? ( app-arch/xar )
+	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+	z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+	dev-lang/perl
+	>=dev-util/cmake-3.16
+	sys-devel/gnuconfig
+	kernel_Darwin? (
+		<sys-libs/libcxx-$(ver_cut 1-3).9999
+		>=sys-devel/binutils-apple-5.1
+	)
+	doc? ( $(python_gen_any_dep '
+		dev-python/recommonmark[${PYTHON_USEDEP}]
+		dev-python/sphinx[${PYTHON_USEDEP}]
+	') )
+	libffi? ( virtual/pkgconfig )
+	${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+	!sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+	gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+	use doc || return 0
+
+	has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+	has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+	local prod_targets=(
+		$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+			| tail -n +2 | head -n -1)
+	)
+	local all_targets=(
+		lib/Target/*/
+	)
+	all_targets=( "${all_targets[@]#lib/Target/}" )
+	all_targets=( "${all_targets[@]%/}" )
+
+	local exp_targets=() i
+	for i in "${all_targets[@]}"; do
+		has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+	done
+	# reorder
+	all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+	if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+		eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+		eqawarn "    Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+		eqawarn "Expected: ${exp_targets[*]}"
+		eqawarn
+	fi
+
+	if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+		eqawarn "ALL_LLVM_TARGETS is outdated!"
+		eqawarn "    Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+		eqawarn "Expected: ${all_targets[*]}"
+	fi
+}
+
+check_distribution_components() {
+	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+		local all_targets=() my_targets=() l
+		cd "${BUILD_DIR}" || die
+
+		while read -r l; do
+			if [[ ${l} == install-*-stripped:* ]]; then
+				l=${l#install-}
+				l=${l%%-stripped*}
+
+				case ${l} in
+					# shared libs
+					LLVM|LLVMgold)
+						;;
+					# TableGen lib + deps
+					LLVMDemangle|LLVMSupport|LLVMTableGen)
+						;;
+					# static libs
+					LLVM*)
+						continue
+						;;
+					# meta-targets
+					distribution|llvm-libraries)
+						continue
+						;;
+					# used only w/ USE=doc
+					docs-llvm-html)
+						use doc || continue
+						;;
+				esac
+
+				all_targets+=( "${l}" )
+			fi
+		done < <(ninja -t targets all)
+
+		while read -r l; do
+			my_targets+=( "${l}" )
+		done < <(get_distribution_components $"\n")
+
+		local add=() remove=()
+		for l in "${all_targets[@]}"; do
+			if ! has "${l}" "${my_targets[@]}"; then
+				add+=( "${l}" )
+			fi
+		done
+		for l in "${my_targets[@]}"; do
+			if ! has "${l}" "${all_targets[@]}"; then
+				remove+=( "${l}" )
+			fi
+		done
+
+		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+			eqawarn "get_distribution_components() is outdated!"
+			eqawarn "   Add: ${add[*]}"
+			eqawarn "Remove: ${remove[*]}"
+		fi
+		cd - >/dev/null || die
+	fi
+}
+
+src_prepare() {
+	# disable use of SDK on OSX, bug #568758
+	sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+	# Update config.guess to support more systems
+	cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+	# Verify that the live ebuild is up-to-date
+	check_live_ebuild
+
+	llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+	local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+	HAVE_LIBCXX
+#endif
+'
+	local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+	[[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+	local sep=${1-;}
+
+	local out=(
+		# shared libs
+		LLVM
+		LTO
+		Remarks
+
+		# tools
+		llvm-config
+
+		# common stuff
+		cmake-exports
+		llvm-headers
+
+		# libraries needed for clang-tblgen
+		LLVMDemangle
+		LLVMSupport
+		LLVMTableGen
+	)
+
+	if multilib_is_native_abi; then
+		out+=(
+			# utilities
+			llvm-tblgen
+			FileCheck
+			llvm-PerfectShuffle
+			count
+			not
+			yaml-bench
+
+			# tools
+			bugpoint
+			dsymutil
+			llc
+			lli
+			lli-child-target
+			llvm-addr2line
+			llvm-ar
+			llvm-as
+			llvm-bcanalyzer
+			llvm-bitcode-strip
+			llvm-c-test
+			llvm-cat
+			llvm-cfi-verify
+			llvm-config
+			llvm-cov
+			llvm-cvtres
+			llvm-cxxdump
+			llvm-cxxfilt
+			llvm-cxxmap
+			llvm-diff
+			llvm-dis
+			llvm-dlltool
+			llvm-dwarfdump
+			llvm-dwp
+			llvm-elfabi
+			llvm-exegesis
+			llvm-extract
+			llvm-gsymutil
+			llvm-ifs
+			llvm-install-name-tool
+			llvm-jitlink
+			llvm-jitlink-executor
+			llvm-lib
+			llvm-libtool-darwin
+			llvm-link
+			llvm-lipo
+			llvm-lto
+			llvm-lto2
+			llvm-mc
+			llvm-mca
+			llvm-ml
+			llvm-modextract
+			llvm-mt
+			llvm-nm
+			llvm-objcopy
+			llvm-objdump
+			llvm-opt-report
+			llvm-pdbutil
+			llvm-profdata
+			llvm-profgen
+			llvm-ranlib
+			llvm-rc
+			llvm-readelf
+			llvm-readobj
+			llvm-reduce
+			llvm-rtdyld
+			llvm-size
+			llvm-split
+			llvm-stress
+			llvm-strings
+			llvm-strip
+			llvm-symbolizer
+			llvm-undname
+			llvm-xray
+			obj2yaml
+			opt
+			sancov
+			sanstats
+			split-file
+			verify-uselistorder
+			yaml2obj
+
+			# python modules
+			opt-viewer
+		)
+
+		if llvm_are_manpages_built; then
+			out+=(
+				# manpages
+				docs-dsymutil-man
+				docs-llvm-dwarfdump-man
+				docs-llvm-man
+			)
+		fi
+		use doc && out+=(
+			docs-llvm-html
+		)
+
+		use gold && out+=(
+			LLVMgold
+		)
+	fi
+
+	printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+	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=(
+		# disable appending VCS revision to the version to improve
+		# direct cache hit ratio
+		-DLLVM_APPEND_VC_REV=OFF
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+		-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+		-DBUILD_SHARED_LIBS=OFF
+		-DLLVM_BUILD_LLVM_DYLIB=ON
+		-DLLVM_LINK_LLVM_DYLIB=ON
+		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+		# cheap hack: LLVM combines both anyway, and the only difference
+		# is that the former list is explicitly verified at cmake time
+		-DLLVM_TARGETS_TO_BUILD=""
+		-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+		-DLLVM_BUILD_TESTS=$(usex test)
+
+		-DLLVM_ENABLE_FFI=$(usex libffi)
+		-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+		-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+		-DLLVM_ENABLE_LIBXML2=$(usex xml)
+		-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+		-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+		-DLLVM_ENABLE_EH=ON
+		-DLLVM_ENABLE_RTTI=ON
+		-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+		-DLLVM_HOST_TRIPLE="${CHOST}"
+
+		-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+		-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+		# used only for llvm-objdump tool
+		-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+
+		# disable OCaml bindings (now in dev-ml/llvm-ocaml)
+		-DOCAMLFIND=NO
+	)
+
+	if is_libcxx_linked; then
+		# Smart hack: alter version suffix -> SOVERSION when linking
+		# against libc++. This way we won't end up mixing LLVM libc++
+		# libraries with libstdc++ clang, and the other way around.
+		mycmakeargs+=(
+			-DLLVM_VERSION_SUFFIX="libcxx"
+			-DLLVM_ENABLE_LIBCXX=ON
+		)
+	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
+
+	use test && mycmakeargs+=(
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+	)
+
+	if multilib_is_native_abi; then
+		local build_docs=OFF
+		if llvm_are_manpages_built; then
+			build_docs=ON
+			mycmakeargs+=(
+				-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+				-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+				-DSPHINX_WARNINGS_AS_ERRORS=OFF
+			)
+		fi
+
+		mycmakeargs+=(
+			-DLLVM_BUILD_DOCS=${build_docs}
+			-DLLVM_ENABLE_OCAMLDOC=OFF
+			-DLLVM_ENABLE_SPHINX=${build_docs}
+			-DLLVM_ENABLE_DOXYGEN=OFF
+			-DLLVM_INSTALL_UTILS=ON
+		)
+		use gold && mycmakeargs+=(
+			-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+		)
+	fi
+
+	if tc-is-cross-compiler; then
+		local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+		[[ -x "${tblgen}" ]] \
+			|| die "${tblgen} not found or usable"
+		mycmakeargs+=(
+			-DCMAKE_CROSSCOMPILING=ON
+			-DLLVM_TABLEGEN="${tblgen}"
+		)
+	fi
+
+	# workaround BMI bug in gcc-7 (fixed in 7.4)
+	# https://bugs.gentoo.org/649880
+	# apply only to x86, https://bugs.gentoo.org/650506
+	if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+			[[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+	then
+		local CFLAGS="${CFLAGS} -mno-bmi"
+		local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+	fi
+
+	# LLVM can have very high memory consumption while linking,
+	# exhausting the limit on 32-bit linker executable
+	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+	cmake_src_configure
+
+	multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+	cmake_build distribution
+
+	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_build check
+}
+
+src_install() {
+	local MULTILIB_CHOST_TOOLS=(
+		/usr/lib/llvm/${SLOT}/bin/llvm-config
+	)
+
+	local MULTILIB_WRAPPED_HEADERS=(
+		/usr/include/llvm/Config/llvm-config.h
+	)
+
+	local LLVM_LDPATHS=()
+	multilib-minimal_src_install
+
+	# move wrapped headers back
+	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+	DESTDIR=${D} cmake_build install-distribution
+
+	# move headers to /usr/include for wrapping
+	rm -rf "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+	local revord=$(( 9999 - ${SLOT} ))
+	newenvd - "60llvm-${revord}" <<-_EOF_
+		PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+		# we need to duplicate it in ROOTPATH for Portage to respect...
+		ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+		MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+		LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+	_EOF_
+
+	docompress "/usr/lib/llvm/${SLOT}/share/man"
+	llvm_install_manpages
+}
+
+pkg_postinst() {
+	elog "You can find additional opt-viewer utility scripts in:"
+	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+	elog "To use these scripts, you will need Python along with the following"
+	elog "packages:"
+	elog "  dev-python/pygments (for opt-viewer)"
+	elog "  dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvm/llvm-12.0.1_rc1.ebuild b/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
new file mode 100644
index 000000000000..09568c1ceda7
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.1_rc1.ebuild
@@ -0,0 +1,518 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+	toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+	NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+	"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+	kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+	exegesis? ( dev-libs/libpfm:= )
+	gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+	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}] )
+	xar? ( app-arch/xar )
+	xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+	z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+	gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+	dev-lang/perl
+	>=dev-util/cmake-3.16
+	sys-devel/gnuconfig
+	kernel_Darwin? (
+		<sys-libs/libcxx-$(ver_cut 1-3).9999
+		>=sys-devel/binutils-apple-5.1
+	)
+	doc? ( $(python_gen_any_dep '
+		dev-python/recommonmark[${PYTHON_USEDEP}]
+		dev-python/sphinx[${PYTHON_USEDEP}]
+	') )
+	libffi? ( virtual/pkgconfig )
+	${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+	!sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+	gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=9999-1
+llvm.org_set_globals
+
+python_check_deps() {
+	use doc || return 0
+
+	has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+	has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+	local prod_targets=(
+		$(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+			| tail -n +2 | head -n -1)
+	)
+	local all_targets=(
+		lib/Target/*/
+	)
+	all_targets=( "${all_targets[@]#lib/Target/}" )
+	all_targets=( "${all_targets[@]%/}" )
+
+	local exp_targets=() i
+	for i in "${all_targets[@]}"; do
+		has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+	done
+	# reorder
+	all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+	if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+		eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+		eqawarn "    Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+		eqawarn "Expected: ${exp_targets[*]}"
+		eqawarn
+	fi
+
+	if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+		eqawarn "ALL_LLVM_TARGETS is outdated!"
+		eqawarn "    Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+		eqawarn "Expected: ${all_targets[*]}"
+	fi
+}
+
+check_distribution_components() {
+	if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+		local all_targets=() my_targets=() l
+		cd "${BUILD_DIR}" || die
+
+		while read -r l; do
+			if [[ ${l} == install-*-stripped:* ]]; then
+				l=${l#install-}
+				l=${l%%-stripped*}
+
+				case ${l} in
+					# shared libs
+					LLVM|LLVMgold)
+						;;
+					# TableGen lib + deps
+					LLVMDemangle|LLVMSupport|LLVMTableGen)
+						;;
+					# static libs
+					LLVM*)
+						continue
+						;;
+					# meta-targets
+					distribution|llvm-libraries)
+						continue
+						;;
+					# used only w/ USE=doc
+					docs-llvm-html)
+						use doc || continue
+						;;
+				esac
+
+				all_targets+=( "${l}" )
+			fi
+		done < <(ninja -t targets all)
+
+		while read -r l; do
+			my_targets+=( "${l}" )
+		done < <(get_distribution_components $"\n")
+
+		local add=() remove=()
+		for l in "${all_targets[@]}"; do
+			if ! has "${l}" "${my_targets[@]}"; then
+				add+=( "${l}" )
+			fi
+		done
+		for l in "${my_targets[@]}"; do
+			if ! has "${l}" "${all_targets[@]}"; then
+				remove+=( "${l}" )
+			fi
+		done
+
+		if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+			eqawarn "get_distribution_components() is outdated!"
+			eqawarn "   Add: ${add[*]}"
+			eqawarn "Remove: ${remove[*]}"
+		fi
+		cd - >/dev/null || die
+	fi
+}
+
+src_prepare() {
+	# disable use of SDK on OSX, bug #568758
+	sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+	# Update config.guess to support more systems
+	cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+	# Verify that the live ebuild is up-to-date
+	check_live_ebuild
+
+	llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+	local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+	HAVE_LIBCXX
+#endif
+'
+	local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+	[[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+	local sep=${1-;}
+
+	local out=(
+		# shared libs
+		LLVM
+		LTO
+		Remarks
+
+		# tools
+		llvm-config
+
+		# common stuff
+		cmake-exports
+		llvm-headers
+
+		# libraries needed for clang-tblgen
+		LLVMDemangle
+		LLVMSupport
+		LLVMTableGen
+	)
+
+	if multilib_is_native_abi; then
+		out+=(
+			# utilities
+			llvm-tblgen
+			FileCheck
+			llvm-PerfectShuffle
+			count
+			not
+			yaml-bench
+
+			# tools
+			bugpoint
+			dsymutil
+			llc
+			lli
+			lli-child-target
+			llvm-addr2line
+			llvm-ar
+			llvm-as
+			llvm-bcanalyzer
+			llvm-bitcode-strip
+			llvm-c-test
+			llvm-cat
+			llvm-cfi-verify
+			llvm-config
+			llvm-cov
+			llvm-cvtres
+			llvm-cxxdump
+			llvm-cxxfilt
+			llvm-cxxmap
+			llvm-diff
+			llvm-dis
+			llvm-dlltool
+			llvm-dwarfdump
+			llvm-dwp
+			llvm-elfabi
+			llvm-exegesis
+			llvm-extract
+			llvm-gsymutil
+			llvm-ifs
+			llvm-install-name-tool
+			llvm-jitlink
+			llvm-jitlink-executor
+			llvm-lib
+			llvm-libtool-darwin
+			llvm-link
+			llvm-lipo
+			llvm-lto
+			llvm-lto2
+			llvm-mc
+			llvm-mca
+			llvm-ml
+			llvm-modextract
+			llvm-mt
+			llvm-nm
+			llvm-objcopy
+			llvm-objdump
+			llvm-opt-report
+			llvm-pdbutil
+			llvm-profdata
+			llvm-profgen
+			llvm-ranlib
+			llvm-rc
+			llvm-readelf
+			llvm-readobj
+			llvm-reduce
+			llvm-rtdyld
+			llvm-size
+			llvm-split
+			llvm-stress
+			llvm-strings
+			llvm-strip
+			llvm-symbolizer
+			llvm-undname
+			llvm-xray
+			obj2yaml
+			opt
+			sancov
+			sanstats
+			split-file
+			verify-uselistorder
+			yaml2obj
+
+			# python modules
+			opt-viewer
+		)
+
+		if llvm_are_manpages_built; then
+			out+=(
+				# manpages
+				docs-dsymutil-man
+				docs-llvm-dwarfdump-man
+				docs-llvm-man
+			)
+		fi
+		use doc && out+=(
+			docs-llvm-html
+		)
+
+		use gold && out+=(
+			LLVMgold
+		)
+	fi
+
+	printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+	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=(
+		# disable appending VCS revision to the version to improve
+		# direct cache hit ratio
+		-DLLVM_APPEND_VC_REV=OFF
+		-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+		-DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+		-DBUILD_SHARED_LIBS=OFF
+		-DLLVM_BUILD_LLVM_DYLIB=ON
+		-DLLVM_LINK_LLVM_DYLIB=ON
+		-DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+		# cheap hack: LLVM combines both anyway, and the only difference
+		# is that the former list is explicitly verified at cmake time
+		-DLLVM_TARGETS_TO_BUILD=""
+		-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+		-DLLVM_BUILD_TESTS=$(usex test)
+
+		-DLLVM_ENABLE_FFI=$(usex libffi)
+		-DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+		-DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+		-DLLVM_ENABLE_LIBXML2=$(usex xml)
+		-DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+		-DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+		-DLLVM_ENABLE_EH=ON
+		-DLLVM_ENABLE_RTTI=ON
+		-DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+		-DLLVM_HOST_TRIPLE="${CHOST}"
+
+		-DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+		-DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+		# used only for llvm-objdump tool
+		-DHAVE_LIBXAR=$(multilib_native_usex xar 1 0)
+
+		-DPython3_EXECUTABLE="${PYTHON}"
+
+		# disable OCaml bindings (now in dev-ml/llvm-ocaml)
+		-DOCAMLFIND=NO
+	)
+
+	if is_libcxx_linked; then
+		# Smart hack: alter version suffix -> SOVERSION when linking
+		# against libc++. This way we won't end up mixing LLVM libc++
+		# libraries with libstdc++ clang, and the other way around.
+		mycmakeargs+=(
+			-DLLVM_VERSION_SUFFIX="libcxx"
+			-DLLVM_ENABLE_LIBCXX=ON
+		)
+	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
+
+	use test && mycmakeargs+=(
+		-DLLVM_LIT_ARGS="$(get_lit_flags)"
+	)
+
+	if multilib_is_native_abi; then
+		local build_docs=OFF
+		if llvm_are_manpages_built; then
+			build_docs=ON
+			mycmakeargs+=(
+				-DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+				-DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+				-DSPHINX_WARNINGS_AS_ERRORS=OFF
+			)
+		fi
+
+		mycmakeargs+=(
+			-DLLVM_BUILD_DOCS=${build_docs}
+			-DLLVM_ENABLE_OCAMLDOC=OFF
+			-DLLVM_ENABLE_SPHINX=${build_docs}
+			-DLLVM_ENABLE_DOXYGEN=OFF
+			-DLLVM_INSTALL_UTILS=ON
+		)
+		use gold && mycmakeargs+=(
+			-DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+		)
+	fi
+
+	if tc-is-cross-compiler; then
+		local tblgen="${EPREFIX}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
+		[[ -x "${tblgen}" ]] \
+			|| die "${tblgen} not found or usable"
+		mycmakeargs+=(
+			-DCMAKE_CROSSCOMPILING=ON
+			-DLLVM_TABLEGEN="${tblgen}"
+		)
+	fi
+
+	# workaround BMI bug in gcc-7 (fixed in 7.4)
+	# https://bugs.gentoo.org/649880
+	# apply only to x86, https://bugs.gentoo.org/650506
+	if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+			[[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+	then
+		local CFLAGS="${CFLAGS} -mno-bmi"
+		local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+	fi
+
+	# LLVM can have very high memory consumption while linking,
+	# exhausting the limit on 32-bit linker executable
+	use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+	# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+	use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+	cmake_src_configure
+
+	multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+	cmake_build distribution
+
+	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_build check
+}
+
+src_install() {
+	local MULTILIB_CHOST_TOOLS=(
+		/usr/lib/llvm/${SLOT}/bin/llvm-config
+	)
+
+	local MULTILIB_WRAPPED_HEADERS=(
+		/usr/include/llvm/Config/llvm-config.h
+	)
+
+	local LLVM_LDPATHS=()
+	multilib-minimal_src_install
+
+	# move wrapped headers back
+	mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+}
+
+multilib_src_install() {
+	DESTDIR=${D} cmake_build install-distribution
+
+	# move headers to /usr/include for wrapping
+	rm -rf "${ED}"/usr/include || die
+	mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+
+	LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+	local revord=$(( 9999 - ${SLOT} ))
+	newenvd - "60llvm-${revord}" <<-_EOF_
+		PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+		# we need to duplicate it in ROOTPATH for Portage to respect...
+		ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
+		MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+		LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+	_EOF_
+
+	docompress "/usr/lib/llvm/${SLOT}/share/man"
+	llvm_install_manpages
+}
+
+pkg_postinst() {
+	elog "You can find additional opt-viewer utility scripts in:"
+	elog "  ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
+	elog "To use these scripts, you will need Python along with the following"
+	elog "packages:"
+	elog "  dev-python/pygments (for opt-viewer)"
+	elog "  dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/m4/Manifest b/sys-devel/m4/Manifest
index 7755ef44803f..6d102d2a97c6 100644
--- a/sys-devel/m4/Manifest
+++ b/sys-devel/m4/Manifest
@@ -1,7 +1,7 @@
 AUX m4-1.4.18-darwin17-printf-n.patch 1386 BLAKE2B e5b1e4750b21b4efc0e62f2447a3f40dd037e28b5fe833d3ddf87fe853ee8885e34c5720b7b00f08242131df9996d36f4a954571ed21d067ca0dfeae69961e09 SHA512 4ad476e538c85ee41280461269dd8acabdbdb9cd2e0e2e49ea43bc14eb370e17282c504403a7c2914d886adf703bcc3b95991724bed90dc014a66cb861a70faf
 AUX m4-1.4.18-glibc228.patch 13863 BLAKE2B f8b54c3b7feae5d458ba893e08313f5e9772e66be03a5db2fe3929e671002cc3c80cf8cc6ca0a68b792f729404dc27c95cf436663026b50682f47c306721b581 SHA512 c81df4510b01044578e11c7bd1046ec297ab195f6e5c7d7eaad7aae31862326d12cf00a9f36218f93db88e36f88ec73be8e320214b999330da3dc5bba9a3be46
 DIST m4-1.4.18.tar.xz 1207688 BLAKE2B debfaa4d25af6f583e2cd703e77b73775790f48f34e878eddd820c6b244a065c69495473ce5067be1f20ca07b2d6af9f90cffd33e12c18fd719c0d234eb5462a SHA512 06f583efc3855cd8477d8347544f4ae5153a3e50aea74d21968afa7214784ea3ddfc02d0a2b11324120d76a19f2e804d20de11a456b5da929eb6ae469519b174
-DIST m4-1.4.18d.tar.xz 1546856 BLAKE2B fb2deb18237e62d87cc9e4f28d4f95519e90309d515dbfb05b6f042d73f1fa14e02620fdf66febeb22dd7bc4286c0a11085632741b4468a237c273e702f4a4fe SHA512 54205a88b623a605d1905d4959062d622c08d2daf191b862bc857f7cce7b11347e979a3dccbe4ab1c7425202acc144586dfc8f202e298183454b34100d3da51e
+DIST m4-1.4.19.tar.xz 1654908 BLAKE2B 08694485a49c542761fa9a7db4d7609f4dfb08a5c6b785b57f2e14cf1f696c2a1c788bb5eb934e8159a632b63ff071dfe42511d0109d7b1828f46d33c8bf416a SHA512 47f595845c89709727bda0b3fc78e3188ef78ec818965b395532e7041cabe9e49677ee4aca3d042930095a7f8df81de3da1026b23b6897be471f6cf13ddd512b
 EBUILD m4-1.4.18-r2.ebuild 1332 BLAKE2B e436ea04a282b05aa213f92822f619520c280910a676aa3bffdc313e1c3c8bd648f6aa71e326bd50876714dbe51ab088961277f213d45972355906987c681666 SHA512 6ae904bce3461eba20d7c42e49f83b0a6ec6f0f48f32ceae61dc9dd590299158f332298becdf5391aa4dcf7f74db8eda37a053cae584c9fb00a2d901e5d31a7f
-EBUILD m4-1.4.19_beta2.ebuild 1443 BLAKE2B 5aaa25230527e5a875214325551e4322d7a9b32c5b8159a02d3ef05f8ab22bc5d6b7a577117a57e590e2f75bdc84c9449195bc12190349aade7cdb5fba751414 SHA512 c43e363c08b846a9d8980baf6a06c22c6f5a05926b0488a837160cf365f166fa2119d8f9f48ec812775bbeec4dd1f807eefd0286c4e148700426ae5055a82722
+EBUILD m4-1.4.19.ebuild 1733 BLAKE2B f206bcab3fc9c6f9ff1e5a3e74830555431ceb35ddf51d2f21421b7f6ac5e9fd6285318bc1cbc605f579f5ec46be487a19af6261e428ebe7324aaab8003de7a3 SHA512 88acd63e44ccd4472779b48b65307f25025d06048252aecdd390cadf99e4eaa1d7fe5450bc09a19c55990d57dba0001727c95b76e284b81bfa88555bee960d55
 MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-devel/m4/m4-1.4.19.ebuild b/sys-devel/m4/m4-1.4.19.ebuild
new file mode 100644
index 000000000000..7e30a110bc38
--- /dev/null
+++ b/sys-devel/m4/m4-1.4.19.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="GNU macro processor"
+HOMEPAGE="https://www.gnu.org/software/m4/m4.html"
+if [[ "${PV}" == *_beta* ]] ; then
+	MY_P="${PN}-1.4.18d"
+	#SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
+	SRC_URI="https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz"
+	S="${WORKDIR}/${MY_P}"
+else
+	SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
+	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+fi
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="examples nls"
+
+RDEPEND="
+	virtual/libiconv
+	nls? (
+		sys-devel/gettext
+		virtual/libintl
+	)"
+DEPEND="${RDEPEND}"
+# Remember: cannot dep on autoconf since it needs us
+BDEPEND="app-arch/xz-utils
+	nls? ( sys-devel/gettext )"
+
+src_configure() {
+	local -a myeconfargs=(
+		--enable-changeword
+
+		--with-packager="Gentoo Linux"
+		--with-packager-version="${PVR}"
+		--with-packager-bug-reports="https://bugs.gentoo.org/"
+
+		$(usex nls '' '--disable-nls')
+
+		# Disable automagic dependency over libsigsegv; see bug #278026
+		ac_cv_libsigsegv=no
+	)
+
+	[[ ${USERLAND} != GNU ]] && myeconfargs+=( --program-prefix=g )
+
+	econf "${myeconfargs[@]}"
+}
+
+src_test() {
+	[[ -d /none ]] && die "m4 tests will fail with /none/" #244396
+	emake check
+}
+
+src_install() {
+	default
+
+	# autoconf-2.60 for instance, first checks gm4, then m4.  If we don't have
+	# gm4, it might find gm4 from outside the prefix on for instance Darwin
+	use prefix && dosym m4 /usr/bin/gm4
+
+	if use examples ; then
+		dodoc -r examples
+		rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile*
+	fi
+}
diff --git a/sys-devel/m4/m4-1.4.19_beta2.ebuild b/sys-devel/m4/m4-1.4.19_beta2.ebuild
deleted file mode 100644
index 370f1d50f9e3..000000000000
--- a/sys-devel/m4/m4-1.4.19_beta2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P="${PN}-1.4.18d"
-
-DESCRIPTION="GNU macro processor"
-HOMEPAGE="https://www.gnu.org/software/m4/m4.html"
-if [[ "${PV}" == *_beta* ]] ; then
-	#SRC_URI="mirror://gnu-alpha/${PN}/${MY_P}.tar.xz"
-	SRC_URI="https://alpha.gnu.org/gnu/${PN}/${MY_P}.tar.xz"
-	S="${WORKDIR}/${MY_P}"
-else
-	SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz"
-	KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-fi
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="examples"
-
-# remember: cannot dep on autoconf since it needs us
-BDEPEND="app-arch/xz-utils"
-
-src_configure() {
-	local -a myeconfargs=(
-		--enable-changeword
-
-		# Disable automagic dependency over libsigsegv; see bug #278026
-		ac_cv_libsigsegv=no
-	)
-
-	[[ ${USERLAND} != GNU ]] && myeconfargs+=( --program-prefix=g )
-
-	econf "${myeconfargs[@]}"
-}
-
-src_test() {
-	[[ -d /none ]] && die "m4 tests will fail with /none/" #244396
-	emake check
-}
-
-src_install() {
-	default
-	# autoconf-2.60 for instance, first checks gm4, then m4.  If we don't have
-	# gm4, it might find gm4 from outside the prefix on for instance Darwin
-	use prefix && dosym m4 /usr/bin/gm4
-	if use examples ; then
-		dodoc -r examples
-		rm -f "${ED}"/usr/share/doc/${PF}/examples/Makefile*
-	fi
-}
-- 
cgit v1.2.3