summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-01-29 18:03:51 +0000
commitd7ed2b01311f15ba54fe8ea872aab7d59ab2b193 (patch)
tree1814dd2b5bbf2e7639fdafbeef48d228cfaf5e9b /sys-devel
parentabaa75b10f899ada8dd05b23cc03205064394bc6 (diff)
gentoo resync : 29.01.2021
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin9304 -> 9309 bytes
-rw-r--r--sys-devel/autoconf-wrapper/Manifest2
-rw-r--r--sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild29
-rw-r--r--sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh203
-rw-r--r--sys-devel/autoconf/Manifest4
-rw-r--r--sys-devel/autoconf/autoconf-2.71-r1.ebuild (renamed from sys-devel/autoconf/autoconf-2.70-r1.ebuild)21
-rw-r--r--sys-devel/autoconf/files/autoconf-2.70-fix_c99_check.patch15
-rw-r--r--sys-devel/binutils-hppa64/Manifest7
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild2
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild (renamed from sys-devel/binutils-hppa64/binutils-hppa64-2.35.1.ebuild)2
-rw-r--r--sys-devel/binutils/Manifest7
-rw-r--r--sys-devel/binutils/binutils-2.35.1-r1.ebuild2
-rw-r--r--sys-devel/binutils/binutils-2.36.ebuild (renamed from sys-devel/binutils/binutils-2.35.1.ebuild)3
-rw-r--r--sys-devel/bison/Manifest2
-rw-r--r--sys-devel/bison/bison-3.7.5.ebuild91
-rw-r--r--sys-devel/bmake/Manifest6
-rw-r--r--sys-devel/bmake/bmake-20210110.ebuild (renamed from sys-devel/bmake/bmake-20201222.ebuild)0
-rw-r--r--sys-devel/bmake/files/bmake-20210110-tests.patch (renamed from sys-devel/bmake/files/bmake-20201222-tests.patch)6
-rw-r--r--sys-devel/clang-common/Manifest5
-rw-r--r--sys-devel/clang-common/clang-common-11.1.0_rc2.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-12.0.0_rc1.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-13.0.0.9999.ebuild24
-rw-r--r--sys-devel/clang-runtime/Manifest3
-rw-r--r--sys-devel/clang-runtime/clang-runtime-11.1.0_rc2.ebuild24
-rw-r--r--sys-devel/clang-runtime/clang-runtime-12.0.0_rc1.ebuild25
-rw-r--r--sys-devel/clang-runtime/clang-runtime-13.0.0.9999.ebuild25
-rw-r--r--sys-devel/clang/Manifest5
-rw-r--r--sys-devel/clang/clang-11.1.0_rc2.ebuild439
-rw-r--r--sys-devel/clang/clang-12.0.0_rc1.ebuild435
-rw-r--r--sys-devel/clang/clang-13.0.0.9999.ebuild435
-rw-r--r--sys-devel/gcc-config/Manifest2
-rw-r--r--sys-devel/gcc-config/gcc-config-2.3.3.ebuild53
-rw-r--r--sys-devel/gcc/Manifest10
-rw-r--r--sys-devel/gcc/gcc-10.2.0-r3.ebuild18
-rw-r--r--sys-devel/gcc/gcc-10.2.0-r4.ebuild18
-rw-r--r--sys-devel/gcc/gcc-11.0.0_pre9999.ebuild4
-rw-r--r--sys-devel/gcc/gcc-8.4.0-r2.ebuild2
-rw-r--r--sys-devel/lld/Manifest5
-rw-r--r--sys-devel/lld/lld-11.1.0_rc2.ebuild65
-rw-r--r--sys-devel/lld/lld-12.0.0_rc1.ebuild76
-rw-r--r--sys-devel/lld/lld-13.0.0.9999.ebuild76
-rw-r--r--sys-devel/llvm-common/Manifest5
-rw-r--r--sys-devel/llvm-common/llvm-common-11.1.0_rc2.ebuild27
-rw-r--r--sys-devel/llvm-common/llvm-common-12.0.0_rc1.ebuild27
-rw-r--r--sys-devel/llvm-common/llvm-common-13.0.0.9999.ebuild27
-rw-r--r--sys-devel/llvm/Manifest7
-rw-r--r--sys-devel/llvm/llvm-11.1.0_rc2.ebuild516
-rw-r--r--sys-devel/llvm/llvm-12.0.0.9999.ebuild1
-rw-r--r--sys-devel/llvm/llvm-12.0.0_rc1.ebuild521
-rw-r--r--sys-devel/llvm/llvm-13.0.0.9999.ebuild521
-rw-r--r--sys-devel/llvmgold/Manifest1
-rw-r--r--sys-devel/llvmgold/llvmgold-13.ebuild25
52 files changed, 3789 insertions, 88 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 22e364496cc2..81db00ea768b 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/autoconf-wrapper/Manifest b/sys-devel/autoconf-wrapper/Manifest
index 11cacb6845de..b101f07acd2c 100644
--- a/sys-devel/autoconf-wrapper/Manifest
+++ b/sys-devel/autoconf-wrapper/Manifest
@@ -1,5 +1,7 @@
AUX ac-wrapper-13.sh 5055 BLAKE2B 66fd728f347cdb873007e51113225608b3dae87c5979ba512a5e65a3185d8278502cdbaa60675b33643e0f9f459cf3956967f8e07b198d442139abb06a75f597 SHA512 0bbe9a992cff140bd60161404f1d1f6a9da6c79b1e9909000092f5e1159e457edee3fcefcb8fcaf47cedd9a7074505c4a61bc25107277d248150cdde5f11c5b7
AUX ac-wrapper-14.sh 5093 BLAKE2B 4ce76b0eae9b7be9bbf4fbb12dacf10e9c2731c13f2e708feebf583c9a7c88a9985cc992c617c5e2a30772daa61bc05391196c1d7ddebd4f1269b60c4038db60 SHA512 868751a8e73e6994fef500df37d5a002445ea3da6d68affa8aaaa5b00a8a913b08c4576ca030d578686d97e1b237defa735a46c03b9655e65e38c625488fc9ec
+AUX ac-wrapper-15.sh 5102 BLAKE2B a5575fc72c9b83801dd38104fc90c6df71bd4e387f882f515e26e22d7b24fec7958dbdba0d484dca3ae779ef0a9eca80c479e1ea5243c29e2b6f37edad795c89 SHA512 4ca9c2fd016862ff17776c1df320b72af40f8c2babf1fe49be823d5bdc4dd52d720faf0e7ff7b1859c0185db2afeb2181d0d0cb5c404e96c0f64211e9cb67db3
EBUILD autoconf-wrapper-13-r1.ebuild 785 BLAKE2B 5b55a828dcc7260f82d8af38f4237a8ab05749bd71dfb66e1fadec59e989ea66aa49aafcd55dde54d9e34ff2096cb573d077dfd32c3cd204de6c0391d66bb4e9 SHA512 8a0c74419cac7cf8803dae5faa09cdcb5f69cc700490f7a11b05125bc0682a49bbe6346f7edd6f5676f7f85046f5a1ddc4bf2c8f879b9164797b3f74f1b5a248
EBUILD autoconf-wrapper-14.ebuild 823 BLAKE2B 2dddfe1c7e55ec4ab70a7c556061a3b6b385a43a95e45a444038b06ca23e70c620f3b268928ebc3fe710fdf385b34f5484ca1bfd69b28771a857bbe3988c94bf SHA512 bc08692c0eb0baf560038537abad44fcab12b59c6199c383cca6d6a7331f5ed2dda9b2155cc1ec8b89041d186779684c14cd61854d99748c23b04db895cad03c
+EBUILD autoconf-wrapper-15.ebuild 823 BLAKE2B 2dddfe1c7e55ec4ab70a7c556061a3b6b385a43a95e45a444038b06ca23e70c620f3b268928ebc3fe710fdf385b34f5484ca1bfd69b28771a857bbe3988c94bf SHA512 bc08692c0eb0baf560038537abad44fcab12b59c6199c383cca6d6a7331f5ed2dda9b2155cc1ec8b89041d186779684c14cd61854d99748c23b04db895cad03c
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild b/sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild
new file mode 100644
index 000000000000..68d956726bb0
--- /dev/null
+++ b/sys-devel/autoconf-wrapper/autoconf-wrapper-15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+DESCRIPTION="wrapper for autoconf to manage multiple autoconf versions"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ "${PV}" == *_pre* ]] || \
+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=""
+
+S="${WORKDIR}"
+
+src_install() {
+ exeinto /usr/$(get_libdir)/misc
+ newexe "${FILESDIR}"/ac-wrapper-${PV}.sh ac-wrapper.sh
+
+ dodir /usr/bin
+ local x=
+ for x in auto{conf,header,m4te,reconf,scan,update} ifnames ; do
+ dosym ../$(get_libdir)/misc/ac-wrapper.sh /usr/bin/${x}
+ done
+}
diff --git a/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh b/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh
new file mode 100644
index 000000000000..e5eda0e53f18
--- /dev/null
+++ b/sys-devel/autoconf-wrapper/files/ac-wrapper-15.sh
@@ -0,0 +1,203 @@
+#!/bin/sh
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# Based on the ac-wrapper.pl script provided by MandrakeSoft
+# Rewritten in bash by Gregorio Guidi
+#
+# Executes the correct autoconf version.
+#
+# - defaults to newest version available (hopefully autoconf-2.60)
+# - runs autoconf 2.13 if:
+# - envvar WANT_AUTOCONF is set to `2.1'
+# -or-
+# - `ac{local,include}.m4' or `configure.{in,ac}' have AC_PREREQ(2.1) (not higher)
+# -or-
+# - `configure' is already present and was generated by autoconf 2.13
+
+warn() { printf "ac-wrapper: $*\n" 1>&2; }
+err() { warn "$@"; exit 1; }
+unset IFS
+which() {
+ local p
+ IFS=: # we don't use IFS anywhere, so don't bother saving/restoring
+ for p in ${PATH} ; do
+ p="${p}/$1"
+ [ -e "${p}" ] && echo "${p}" && return 0
+ done
+ unset IFS
+ return 1
+}
+
+#
+# Sanitize argv[0] since it isn't always a full path #385201
+#
+argv0=${0##*/}
+case ${0} in
+ ${argv0})
+ # find it in PATH
+ if ! full_argv0=$(which "${argv0}") ; then
+ err "could not locate ${argv0}; file a bug"
+ fi
+ ;;
+ *)
+ # re-use full/relative paths
+ full_argv0=$0
+ ;;
+esac
+
+if [ "${argv0}" = "ac-wrapper.sh" ] ; then
+ err "Don't call this script directly"
+fi
+
+if [ "${WANT_AUTOCONF}" = "2.1" ] && [ "${argv0}" = "autom4te" ] ; then
+ err "Autoconf 2.13 doesn't contain autom4te.\n" \
+ " Either unset WANT_AUTOCONF or don't execute anything\n" \
+ " that would use autom4te."
+fi
+
+if ! seq 0 0 2>/dev/null 1>&2 ; then #338518
+ seq() {
+ local f l i
+ case $# in
+ 1) f=1 i=1 l=$1;;
+ 2) f=$1 i=1 l=$2;;
+ 3) f=$1 i=$2 l=$3;;
+ esac
+ while :; do
+ [ $l -lt $f -a $i -gt 0 ] && break
+ [ $f -lt $l -a $i -lt 0 ] && break
+ echo $f
+ : $(( f += i ))
+ done
+ return 0
+ }
+fi
+
+#
+# Set up bindings between actual version and WANT_AUTOCONF;
+# Start at last known unstable/stable versions to speed up lookup process.
+#
+if [ -z "${KNOWN_AUTOCONF}" ] ; then
+ KNOWN_AUTOCONF="2.71:2.5 2.70:2.5 2.69:2.5"
+fi
+vers="${KNOWN_AUTOCONF} 9999:2.5 $(printf '2.%s:2.5 ' `seq 99 -1 59`) 2.13:2.1"
+
+binary=""
+for v in ${vers} ; do
+ auto_ver=${v%:*}
+ if [ -z "${binary}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then
+ binary="${full_argv0}-${auto_ver}"
+ break
+ fi
+done
+if [ -z "${binary}" ] ; then
+ err "Unable to locate any usuable version of autoconf.\n" \
+ "\tI tried these versions: ${vers}\n" \
+ "\tWith a base name of '${full_argv0}'."
+fi
+
+#
+# Check the WANT_AUTOCONF setting. We accept a whitespace delimited
+# list of autoconf versions.
+#
+if [ -n "${WANT_AUTOCONF}" ] ; then
+ for v in ${vers} x ; do
+ if [ "${v}" = "x" ] ; then
+ warn "warning: invalid WANT_AUTOCONF '${WANT_AUTOCONF}'; ignoring."
+ unset WANT_AUTOCONF
+ break
+ fi
+
+ auto_ver=${v%:*}
+ want_ver=${v#*:}
+ for wx in ${WANT_AUTOCONF} ; do
+ if [ -x "${full_argv0}-${wx}" ] ; then
+ binary="${full_argv0}-${wx}"
+ v="x"
+ elif [ "${wx}" = "${want_ver}" ] && [ -x "${full_argv0}-${auto_ver}" ] ; then
+ binary="${full_argv0}-${auto_ver}"
+ v="x"
+ fi
+ done
+ [ "${v}" = "x" ] && break
+ done
+fi
+
+#
+# autodetect helpers
+#
+acprereq_version() {
+ sed -n -r \
+ -e '/^\s*(#|dnl)/d' \
+ -e '/AC_PREREQ/s:.*AC_PREREQ\s*\(\[?\s*([0-9.]+)\s*\]?\):\1:p' \
+ "$@" |
+ LC_ALL=C sort -n -t . |
+ tail -1
+}
+
+generated_version() {
+ local re='^# Generated (by (GNU )?Autoconf|automatically using autoconf version) ([0-9.]+).*'
+ sed -n -r "/${re}/{s:${re}:\3:;p;q}" "$@"
+}
+
+#
+# autodetect routine
+#
+if [ "${WANT_AUTOCONF}" = "2.1" ] && [ -f "configure.ac" ] ; then
+ err "Since configure.ac is present, aclocal always use\n" \
+ "\tautoconf 2.59+, which conflicts with your choice and\n" \
+ "\tcauses error. You have two options:\n" \
+ "\t1. Try execute command again after removing configure.ac\n" \
+ "\t2. Don't set WANT_AUTOCONF"
+fi
+
+if [ "${WANT_AUTOCONF:-2.1}" = "2.1" ] && [ -n "${WANT_AUTOMAKE}" ] ; then
+ # Automake-1.7 and better require autoconf-2.5x so if WANT_AUTOMAKE
+ # is set to an older version, let's do some sanity checks.
+ case "${WANT_AUTOMAKE}" in
+ 1.[456])
+ acfiles=$(ls aclocal.m4 acinclude.m4 configure.in configure.ac 2>/dev/null)
+ [ -n "${acfiles}" ] && confversion=$(acprereq_version ${acfiles})
+
+ [ -z "${confversion}" ] && [ -r "configure" ] \
+ && confversion=$(generated_version configure)
+
+ if [ "${confversion}" = "2.1" ] && [ ! -f "configure.ac" ] ; then
+ binary="${full_argv0}-2.13"
+ fi
+ esac
+fi
+
+if [ -n "${WANT_ACWRAPPER_DEBUG}" ] ; then
+ if [ -n "${WANT_AUTOCONF}" ] ; then
+ warn "DEBUG: WANT_AUTOCONF is set to ${WANT_AUTOCONF}"
+ fi
+ warn "DEBUG: will execute <${binary}>"
+fi
+
+#
+# for further consistency
+#
+if [ -z "${WANT_AUTOCONF}" ] ; then
+ for v in ${vers} ; do
+ auto_ver=${v%:*}
+ want_ver=${v#*:}
+ if [ "${binary}" = "${full_argv0}-${auto_ver}" ] ; then
+ export WANT_AUTOCONF="${want_ver}"
+ break
+ fi
+ done
+fi
+
+#
+# Now try to run the binary
+#
+if [ ! -x "${binary}" ] ; then
+ # this shouldn't happen
+ err "${binary} is missing or not executable.\n" \
+ "\tPlease try emerging the correct version of autoconf."
+fi
+
+exec "${binary}" "$@"
+# The shell will error out if `exec` failed.
diff --git a/sys-devel/autoconf/Manifest b/sys-devel/autoconf/Manifest
index ca8822fb69b0..1de8a455d17d 100644
--- a/sys-devel/autoconf/Manifest
+++ b/sys-devel/autoconf/Manifest
@@ -7,18 +7,18 @@ AUX autoconf-2.69-fix-libtool-test.patch 1093 BLAKE2B e7b98ae1c84d6d0a41daa16c71
AUX autoconf-2.69-make-tests-bash5-compatible.patch 2275 BLAKE2B 17fd9702c37cc7686a232e0bb93e5fc04d11b65945f89d79673302bec393bd5572a961b0ecedd743b3336f2583534063b6dd9b3095d0cc6bbd4cf55a58145c54 SHA512 f2672e99afb69cf625097ba5e6d15356eec5c41e095ff60da33331184ecd635d97fa20f20a2db8cfdeb96fde14dca0cdee7081df3328e8032f66eeed58374e36
AUX autoconf-2.69-perl-5.26-2.patch 1003 BLAKE2B e2a858f905f20d46a52ac7d78be63ef0ea5ce0b87a7059ea17317bed3b658c0eafe3f9d8b1b11f4d84d3160bfa3f504e980870fe562d7a1ba6da1c70177e49bb SHA512 b02086ac8a468a626d8b6506aa14e19ef10e4d33b91a7647f74d5746cce9f690d6cf5840ea81c593f63e8f94275974f31c8695065844380678e83153c1b547d0
AUX autoconf-2.69-perl-5.26.patch 820 BLAKE2B 405d92044f338b8c7f0ebc6b0007938143c011eff116a65dd06a126a9ab3b127ee766c618e0d51caf88821d979632e7949c843ebad1c5c9e87ad066aa4a46376 SHA512 0202c099b85102dab18ad7d4268b836cadf587d0a48aefa386e70539b3b689fd580053d7287730f1d0a9cc97d6eeb41c1579a181a82a5cb2e04e436bb96d0b20
-AUX autoconf-2.70-fix_c99_check.patch 834 BLAKE2B 387ae38c3a6966efc802f0a9b0f12c5cedb09696b8dde08a78ca7c07736032b6815f8dcf6ceef9e9596973f78e48e4464865e68eea8d694f169f64ade92ada78 SHA512 fdb7cd4b6e87ecd63c99306cd5360aede9b7ec9e4b8c17ae43d8b821ea716ca15966243f091743e90444868eb54b5f5e29407d8bb844c1ef812c7a02d8caa6a4
DIST autoconf-2.13.tar.gz 443844 BLAKE2B ade10f9d4a0b1a0e8b752eee817cfe100d77b074192b9892330402ddc5b62dda1a3485ce0c36e72191daa9fd49382b99851cb6aa3a13aca8cf2ae6e884638fb6 SHA512 602584f4c77b7a554aaa068eda5409b68eb0b3229e9c224bffb91c83c4314d25de15bd560a323626ff78f6df339c79e1ef8938c54b78ecadf4dc75c5241290ad
DIST autoconf-2.64.tar.xz 1113892 BLAKE2B 598873209a67725150cd4cf09c4b78b26b3d1782f259846da48dc8106a1d32ae2b24f3a864c3be0e9e8dc7d6b6ca8781b83ff33a691c88e68391d1ea861ccf23 SHA512 ee4b504447c14a59b849d0915e55a90522cfb071d1583af2bd3575e5a05d7bd290e55e0e9d0760c8f36043f926199fc2d962b559d27d2f95c70d0e147b4ad0a3
DIST autoconf-2.69-runstatedir_patches.tar.xz 257096 BLAKE2B ae765e0ca7fe8261117f6f6b75611c232fc3d4016c22c86346afa72f2b7e6c3b7ccc1f9dfe134b2443f8bde6d578b503d79cf88472f76ce75b6c2e843ef55b8e SHA512 55f93299fe5243151f6bb782986a7935270f06d5065929f4d365a37aba05703e3ce66ecf7981d30413db50ee6b4f77d81d10a71b539c8a366c5c5a156c5443da
DIST autoconf-2.69.tar.xz 1214744 BLAKE2B 71d33d72a06e9a05fbed0eda73bc9d8a3805c7c90bf082959862f93f3c5f01192114176e84d84ecb58fa99512eafbc0ab21ad1407be18c8c63bb3dc1117c482d SHA512 995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b
DIST autoconf-2.70-patches-01.tar.xz 27284 BLAKE2B fa4ef923d487f600de98d765d3db23c73cd546f777c19986f9179cbe0e9eb254e3bb4c8107b6ce9f2c1f008b4c72033565711f0d8b63e6538b83ec56a2d75875 SHA512 648604ec24decbc48d281049eca94e7e7146d013c006297d9d9c71b749bd856684b8ab8550ac8961ce506b036ad25b7236dfb5e53114c10edfefbd58ecc55020
DIST autoconf-2.70.tar.xz 1346528 BLAKE2B 7a14f966f1fb89a250aedb03d483ab1f92d73a7085bc289094b62984620563922d041e717274270af0afaf52f058b4c6402c1af14cce58d70d5d884414797c80 SHA512 af4af6b8811baa424c00990b368a6cbfb1d598dde9ee08dce2a5fc32cb9517e6e683a59d6852507f6a72d499fc298c4171b6f06962cf3ba40cf1557cfb6069fe
+DIST autoconf-2.71.tar.xz 1292296 BLAKE2B 7fd4b98b4cfff10720e8da6ee91045637991643b50fcb3e47a0ecfcc01600f7b7b36fd1c0a5f08b68a418f1bdbd8d5a98de1008157595dd37cc3a31facb61416 SHA512 73d32b4adcbe24e3bafa9f43f59ed3b6efbd3de0f194e5ec90375f35da1199c583f5d3e89139b7edbad35171403709270e339ffa56a2ecb9b3123e9285021ff0
EBUILD autoconf-2.13-r1.ebuild 1519 BLAKE2B 58fd708a0ad5b5fecb1c27035f6283a02d4b49fac552a6c59da077a52d79beed9d28fb8fd8594d7cb6b652e0270ae7068060d97b5d6c4d6c228f7acfdf7f5e36 SHA512 ce5bd09f8a242fe91e3d5633f88ed33569a82264b881ea74a68d29b6175cf2d532377a1c80f1e7b220c0582ff4241fc7946897bbe32ad9a521a470fdfdec616e
EBUILD autoconf-2.64-r1.ebuild 647 BLAKE2B 7af4ebd9fe46e9808285a02471375d268d8fb2e24f00d60a9aec1c962c6bacea1ae8f256b9decf22ffda6470bd3a44f43a89bb05bc91c667abd10bdceb171ece SHA512 abf831a67e7d72816a69ee00735a47e624fb74739ef4b3e8b901f660e2aaa285c44a5950fd29c19b27bc455466a27a654fa8472c958649178644b75f86001a89
EBUILD autoconf-2.69-r4.ebuild 1300 BLAKE2B a7611ebc260e49b8893af7d1179820abad58dd294e8d160f13a8a3eba1fa7f91235851ee8a5116a4d8d91a045409235c4310bd012affbaa2084515618e32f923 SHA512 2b8b1f5c7db44cef4bbcb674909f6008c201e00ce1ffd7e3dc8d347185a4b7171e06db7a2f5e0c3b3486625aec95be374830fba486bc0942cf014126e2f4ce9a
EBUILD autoconf-2.69-r5.ebuild 1819 BLAKE2B 5cdb2367829da34d55780dc42b5773a10b92610a33268a1dbab205c4296e754f11daebfcd635a99b2dd39b0c466371b5020464faa94793805bdfea37d0a86bcf SHA512 b591922b1f2e8aede0ca2f4bc5a27d86dbe7d43c3121109ac9b1a499c9d01da8888aeb02cb9d252d5931c886e53a54b61878f8ab6c66f4e8063a0cbd5bdd2313
-EBUILD autoconf-2.70-r1.ebuild 1846 BLAKE2B 86c980472a4f9dd4fa3c7a1b64a3da44e43b7358d7ea46863a2134222841eb052c3ba1246e75acb8e6edd0efa1f05d58518bf6bb64ec234bfcbb2ba20dbcc72d SHA512 3a6339ba3f3859641bcb16e3ddbca5af1f0a7276a661926dc44a79df284fb4245a90c64c1b442fcfc4edb820dd61a7a20e72d76b1c10d3a5540506d7e3ab70b2
EBUILD autoconf-2.70-r2.ebuild 2040 BLAKE2B 9a149ce87967e1e58abb170f2f2febf01788988827e46067e898892b18c3686a999625073c68b618e3c517007600e1340e12c17fdae5797b0832c8bcac5b9b79 SHA512 dd266d75b0942f82737930263aec6f6838f0041ce5c99782451e1bae95442027bab56fed4a4ea2180aa25bc5e719926288159901adde0fd3456188e6e7d642bc
+EBUILD autoconf-2.71-r1.ebuild 2157 BLAKE2B e97dc881118f122653dc7d9c64628706ad3ad2e723a2066552ee1112c1f9e2cb595c3f7488593ebe5268eb6c195142f27fa462488915f79001a3f5190f6591e3 SHA512 a425cc8e2870315d1d4ea31745164482dd187384af82a0494e8722cac9b000e42034c535964cc4196bda798d7aed21050816146b3780eaae3145538ec1a74b5d
EBUILD autoconf-9999.ebuild 1386 BLAKE2B de6bb3a1c210e63b358e6db1fa72c77bd5067fe22e629ea76620d8c31657b8c29bd58cdb69b39f87c7445bcc0d0da77e93c5d35d33783cc31df9a4ddf14cad03 SHA512 5dc7271984bb48e29325dae31d193bdf838cef778d7d391145787c4b1e1a31a4720f8827bcef2acf8d4edbd8885ebf70392d3dfddb7a64e63d30dc7208565164
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-devel/autoconf/autoconf-2.70-r1.ebuild b/sys-devel/autoconf/autoconf-2.71-r1.ebuild
index 5ed982219210..034454ba9f77 100644
--- a/sys-devel/autoconf/autoconf-2.70-r1.ebuild
+++ b/sys-devel/autoconf/autoconf-2.71-r1.ebuild
@@ -10,8 +10,10 @@ else
# For _beta handling replace with real version number
MY_PV="${PV}"
MY_P="${PN}-${MY_PV}"
+ #PATCH_TARBALL_NAME="${PN}-2.70-patches-01"
SRC_URI="mirror://gnu/${PN}/${MY_P}.tar.xz -> ${P}.tar.xz
https://alpha.gnu.org/pub/gnu/${PN}/${MY_P}.tar.xz -> ${P}.tar.xz"
+ #SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
[[ "${PV}" == *_beta* ]] || \
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"
S="${WORKDIR}/${MY_P}"
@@ -23,22 +25,20 @@ DESCRIPTION="Used to create autoconfiguration files"
HOMEPAGE="https://www.gnu.org/software/autoconf/autoconf.html"
LICENSE="GPL-3"
-SLOT="${PV/_*}"
+#SLOT="${PV/_*}"
+# autoconf-2.71 is a bugfix release of autoconf-2.70. Let's keep the same slot
+SLOT="2.70"
IUSE="emacs"
BDEPEND=">=sys-devel/m4-1.4.16
>=dev-lang/perl-5.6"
RDEPEND="${BDEPEND}
- >=sys-devel/autoconf-wrapper-14
+ >=sys-devel/autoconf-wrapper-15
sys-devel/gnuconfig
!~sys-devel/${P}:2.5"
[[ ${PV} == "9999" ]] && BDEPEND+=" >=sys-apps/texinfo-4.3"
PDEPEND="emacs? ( app-emacs/autoconf-mode )"
-PATCHES=(
- "${FILESDIR}/${P}-fix_c99_check.patch"
-)
-
src_prepare() {
# usr/bin/libtool is provided by binutils-apple, need gnu libtool
if [[ ${CHOST} == *-darwin* ]] ; then
@@ -48,6 +48,13 @@ src_prepare() {
# Save timestamp to avoid later makeinfo call
touch -r doc/{,old_}autoconf.texi || die
+ local pdir
+ for pdir in "${WORKDIR}"/{upstream_,}patches ; do
+ if [[ -d "${pdir}" ]] ; then
+ eapply ${pdir}
+ fi
+ done
+
toolchain-autoconf_src_prepare
# Restore timestamp to avoid makeinfo call
@@ -56,7 +63,7 @@ src_prepare() {
}
src_install() {
- default
+ toolchain-autoconf_src_install
local f
for f in config.{guess,sub} ; do
diff --git a/sys-devel/autoconf/files/autoconf-2.70-fix_c99_check.patch b/sys-devel/autoconf/files/autoconf-2.70-fix_c99_check.patch
deleted file mode 100644
index 2174e75afebd..000000000000
--- a/sys-devel/autoconf/files/autoconf-2.70-fix_c99_check.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-X-Git-Url: http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=blobdiff_plain;f=lib%2Fautoconf%2Fc.m4;h=601c2df41bd4ee602065ce041a1173aca8a0f52e;hp=fe217cad679f2f4506c3e20dee64e7e3e3b83a24;hb=efc940dc82763b7b2d6e65f04d15d5972d829c0a;hpb=b693e208691c54fbe07cdf49b9a98358baadcfe2
-
-diff --git a/lib/autoconf/c.m4 b/lib/autoconf/c.m4
-index fe217ca..601c2df 100644
---- a/lib/autoconf/c.m4
-+++ b/lib/autoconf/c.m4
-@@ -1559,7 +1559,7 @@ dnl SVR4 -Xc -D__EXTENSIONS__
- # option to output variable CC to make it so.
- AC_DEFUN([_AC_PROG_CC_C99],
- [AC_REQUIRE([_AC_C_C99_TEST_PROGRAM])]dnl
--[_AC_C_STD_TRY([c99], [ac_c_conftest_c89_program],
-+[_AC_C_STD_TRY([c99], [ac_c_conftest_c99_program],
- dnl Try
- dnl GCC -std=gnu99 (unused restrictive modes: -std=c99 -std=iso9899:1999)
- dnl IBM XL C -qlanglvl=extc1x (V12.1; does not pass C11 test)
diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest
index 9cb81f76376b..8577a2f3e9af 100644
--- a/sys-devel/binutils-hppa64/Manifest
+++ b/sys-devel/binutils-hppa64/Manifest
@@ -4,12 +4,13 @@ DIST binutils-2.33.1-patches-1.tar.xz 17944 BLAKE2B 811ad416fe9c059f645856a3123e
DIST binutils-2.33.1.tar.xz 21490848 BLAKE2B c336a8412938dc8c224f40a763a8bea9937cca0462a8fb80e62f14aabe590107fc061a3f4b9327e1f4652cb026384d36a91b4766d4d469d2d0680932874b638c SHA512 b7a6767c6c7ca6b5cafa7080e6820b7bb3a53b7148348c438d99905defbdf0d30c9744a484ee01c9441a8153901808513366b15ba9533e20c9673c262ade36ac
DIST binutils-2.34-patches-6.tar.xz 103028 BLAKE2B d0e866d0941d2b550c7d7f23530c6ee393fa13b4f2f27832f07790989476f11d1beddb5ad5a9be5c65c1d4dff9d4598d21adcb00c1d0490f69a99127f4527447 SHA512 e05ed8886acb5cb95a3e97c5bc0564215f7d44b604610f5c4545997fd9625d6de909c37063127e819926cd1548a48d3529dd3e82e98ee6a5dbaced028c57355d
DIST binutils-2.34.tar.xz 21637796 BLAKE2B 07dd23916a7d27f71c3f160c8c16abe2bd4fce294c738c665a012a3be6a87dbe8160d0c38740524f9025e01d438e99b2a94bcf9f9f79ee214f5dd033de8aad3d SHA512 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd
-DIST binutils-2.35.1-patches-1.tar.xz 10088 BLAKE2B fa4b0c417b6452757f90243921c60b2406c9bf60d1aaa393654fb23ce52e32fb3e7ed90f6d59286786dd95398a10d008c75bfdca065d704025cc828ff65b225f SHA512 dccb4407f4f2a8b38488f9f42638c10777ee344239cf5d4fcc8f580df3e8ff15d03211dc51ef18d905c326a71771da4b38f47381d6d549422a8353b5da0e7b0b
DIST binutils-2.35.1-patches-2.tar.xz 72236 BLAKE2B 584cb3edbda28c69171ed64e941535f992150d86f25201cadd07b63daaa36bf76b07dc0aa8a4837da17d1672feb47a7b15f83efdeec5409e695965a10142147a SHA512 b704ebe82c4402f058f9c96991a89256a6b369d28f844bf020ed2c77766894d9a2ca0596cd609de7b389fa8cd52bfab674b6deb10ea2096e50aa57921be2083e
DIST binutils-2.35.1.tar.xz 22031720 BLAKE2B d3468da90b75e9b5fa7fbd64d3fdb0a4bc445e4cb7da5ae058f73a1e9d948b3e9438bc9f1b5b351db369b76a25960c9c1f58f828fd2c7646f555de45fa3c052b SHA512 94ff72708403413b70b247f3af4099ebaa882b6659249869f1ed9941a0f1912e313f08357d470f9fd2359e7f5e5b0eb86285e5eaf883fa8187789d6b1bd304eb
+DIST binutils-2.36-patches-1.tar.xz 13200 BLAKE2B 82e8ef3c51984d4418466d7b838fa5c0a5a72c3bbe3e631b8aeb28503fd8b81e2b187908a2a4e1b286eba8af0db25eafadc5ffe42dd07677e6bd659cf5483b07 SHA512 88c5ac42d25d131c1507d94992fdd11a15700a0304da10cedd3b0db9bc689d3387189d6d97f847d77e8a5d053619b174695a0a6b3c6c1bb66ea8f122f0b38d63
+DIST binutils-2.36.tar.xz 22760136 BLAKE2B 6666841e26c89a07b7e6c1144d893bab112278906d7917f3ca6273aa78094951686f0d5893857cae1edde1e1ecd7c6798bc14eac88d03c5a1e6e3e480a788f9c SHA512 0b89b70d4ad5cfe5bd0011dc7e342ae9de96efdbfc3442a0d6b5f7660e38bbcad36f2c72ba8f074323f02bde022ff1cd723ae99f0ea55cf94ee2dbbc0e4efdb2
EBUILD binutils-hppa64-2.32-r1.ebuild 12648 BLAKE2B aa452384823e5b0be386bc4a7501d49b2de644af4492a05992f7dddd680c5e87481dbf5a38fff342526e571e271adc6af68b33bda2e83059877a307b4d892b81 SHA512 df21c036804f909f7c8b3ccec6119c6f35189cfe3988390be4dbe3f36cc7ead39eea4415cae689dcdcaa9387bb7d97477e50f329c7a11f75d28880a6f676b1eb
EBUILD binutils-hppa64-2.33.1.ebuild 12302 BLAKE2B 84e6b959af5995933200f19231c033fbc7bec57f54c7a28d92733556a2194e963120469d68ca488788e32f3199312bf2f08351e1d541e847c15e67d451648b79 SHA512 4b1330e3070fb3ccbaea43f261ce9a96786779d3c876d41fa4e80e73206395ef1586bc7e82e959b744ebe0c6ca798aaa41d48a19c77380b627f0824aad405bba
EBUILD binutils-hppa64-2.34-r2.ebuild 12447 BLAKE2B 84e65ce3f3dabab20ac002cbbe67b0545e1f15adfc262c5319d579320c1fcc30eefbac6618d320802c2160d351ade699f0cf8964209268f44ca1e97512719d50 SHA512 8f4e0cc1d2771c9d2323e623bc4667ab5199929631877802fbd69b48ede3f7055df305e237a021c8f0e38801eabebcc15c411e6d85e013a4a3115e5976810665
-EBUILD binutils-hppa64-2.35.1-r1.ebuild 12204 BLAKE2B 107fbac936c6d7ef91e6f9aa0f24c3f91192c48620ba1c8507a7e2a143b533c532ee9e025233a1b8c0aa468252a06332f83825ab9ca9c519f2c1b48efdce98fc SHA512 aa0053f7d21dbef7376ce6cb9503d2580ed804f9bb641e8b2eeae69f8636b578815a6ceccf69e3369867e149ce7783df7aa9922c204988936c1153229cdc1b33
-EBUILD binutils-hppa64-2.35.1.ebuild 12204 BLAKE2B 534a11a53242fcfba7803eae4b9585db43346b30d9f18a1c88ccbc17fa84053a5bc4397c8d1202604295eeadfc1c9a5775c0f068ca24c87f9cae1c80d787caf3 SHA512 289476a85fdad16df68c9f1dcdf2225020e81139add596040ca8870e0c5b6a30191dcea347f2fb55d4a8759779ed6c6edfa9ac5769bf54e671f450eb7c7f7ed1
+EBUILD binutils-hppa64-2.35.1-r1.ebuild 12203 BLAKE2B 382ae2ec708e84aa69633aa64666e7b853903e63dfbd990d99dfaa4e4709e76dfe130397fb893892602d6a23c6278d73e547a5202589d2d2aa038b9bd458bdf5 SHA512 f5318c41f475f177591d21cce9c01509f674197d49f6accba271c4e3ee58b5f8c42832db70f0ebff5e492ee08a152320171e900116be2a1e4338099e32938099
+EBUILD binutils-hppa64-2.36.ebuild 12206 BLAKE2B 26debdbaa7c693fe5aa42fb61630144486568c4de1b0d4f2fc6d2f46997b6a3b9405803b1b22900bebd64bbfbbebc768da6a15c5b56b85277b674d1b5ec0d6d5 SHA512 34bbf63b477ae3dfa1675f140397ec2fdb7c03088d49b60b1a8889ae4e8866a841d9b20e72dd58361d15269decdc10411cba3dd39137af5905581ac7baaa3bf7
MISC metadata.xml 691 BLAKE2B ce21a0c95e69ad1f656373ec843f43ff5300b0145e0d89b92c7d7ae664886db9ba5afd4c39c7d7fe0d4f898b43d98bab6ba562b06945e5016a2abf62e1c4119f SHA512 97ff085ad4b3273a5867d37bb70dc9586a7bc3ffbf9ca1b6c68e224c340afe102afbfc034b339533732afd032a7f8be584e31c8572cd76df90f4db93bac3baa3
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild
index e007720179e4..5a302e9061f3 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild
@@ -35,7 +35,7 @@ case ${PV} in
*)
SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
SLOT=$(ver_cut 1-2)
- KEYWORDS="-* ~hppa"
+ KEYWORDS="-* hppa"
;;
esac
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild
index 27d0f88efc67..f26da6552ae3 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.35.1.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild
@@ -35,7 +35,7 @@ case ${PV} in
*)
SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
SLOT=$(ver_cut 1-2)
- KEYWORDS="-* ~hppa"
+ # KEYWORDS="-* ~hppa"
;;
esac
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index edcde9b0e7e7..dba06b676f87 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -9,14 +9,15 @@ DIST binutils-2.33.1-patches-2.tar.xz 18636 BLAKE2B 0e0757329b6a83aeff4f4c450c95
DIST binutils-2.33.1.tar.xz 21490848 BLAKE2B c336a8412938dc8c224f40a763a8bea9937cca0462a8fb80e62f14aabe590107fc061a3f4b9327e1f4652cb026384d36a91b4766d4d469d2d0680932874b638c SHA512 b7a6767c6c7ca6b5cafa7080e6820b7bb3a53b7148348c438d99905defbdf0d30c9744a484ee01c9441a8153901808513366b15ba9533e20c9673c262ade36ac
DIST binutils-2.34-patches-6.tar.xz 103028 BLAKE2B d0e866d0941d2b550c7d7f23530c6ee393fa13b4f2f27832f07790989476f11d1beddb5ad5a9be5c65c1d4dff9d4598d21adcb00c1d0490f69a99127f4527447 SHA512 e05ed8886acb5cb95a3e97c5bc0564215f7d44b604610f5c4545997fd9625d6de909c37063127e819926cd1548a48d3529dd3e82e98ee6a5dbaced028c57355d
DIST binutils-2.34.tar.xz 21637796 BLAKE2B 07dd23916a7d27f71c3f160c8c16abe2bd4fce294c738c665a012a3be6a87dbe8160d0c38740524f9025e01d438e99b2a94bcf9f9f79ee214f5dd033de8aad3d SHA512 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd
-DIST binutils-2.35.1-patches-1.tar.xz 10088 BLAKE2B fa4b0c417b6452757f90243921c60b2406c9bf60d1aaa393654fb23ce52e32fb3e7ed90f6d59286786dd95398a10d008c75bfdca065d704025cc828ff65b225f SHA512 dccb4407f4f2a8b38488f9f42638c10777ee344239cf5d4fcc8f580df3e8ff15d03211dc51ef18d905c326a71771da4b38f47381d6d549422a8353b5da0e7b0b
DIST binutils-2.35.1-patches-2.tar.xz 72236 BLAKE2B 584cb3edbda28c69171ed64e941535f992150d86f25201cadd07b63daaa36bf76b07dc0aa8a4837da17d1672feb47a7b15f83efdeec5409e695965a10142147a SHA512 b704ebe82c4402f058f9c96991a89256a6b369d28f844bf020ed2c77766894d9a2ca0596cd609de7b389fa8cd52bfab674b6deb10ea2096e50aa57921be2083e
DIST binutils-2.35.1.tar.xz 22031720 BLAKE2B d3468da90b75e9b5fa7fbd64d3fdb0a4bc445e4cb7da5ae058f73a1e9d948b3e9438bc9f1b5b351db369b76a25960c9c1f58f828fd2c7646f555de45fa3c052b SHA512 94ff72708403413b70b247f3af4099ebaa882b6659249869f1ed9941a0f1912e313f08357d470f9fd2359e7f5e5b0eb86285e5eaf883fa8187789d6b1bd304eb
+DIST binutils-2.36-patches-1.tar.xz 13200 BLAKE2B 82e8ef3c51984d4418466d7b838fa5c0a5a72c3bbe3e631b8aeb28503fd8b81e2b187908a2a4e1b286eba8af0db25eafadc5ffe42dd07677e6bd659cf5483b07 SHA512 88c5ac42d25d131c1507d94992fdd11a15700a0304da10cedd3b0db9bc689d3387189d6d97f847d77e8a5d053619b174695a0a6b3c6c1bb66ea8f122f0b38d63
+DIST binutils-2.36.tar.xz 22760136 BLAKE2B 6666841e26c89a07b7e6c1144d893bab112278906d7917f3ca6273aa78094951686f0d5893857cae1edde1e1ecd7c6798bc14eac88d03c5a1e6e3e480a788f9c SHA512 0b89b70d4ad5cfe5bd0011dc7e342ae9de96efdbfc3442a0d6b5f7660e38bbcad36f2c72ba8f074323f02bde022ff1cd723ae99f0ea55cf94ee2dbbc0e4efdb2
EBUILD binutils-2.32-r1.ebuild 12354 BLAKE2B 1771cb776e87efa9b0ad69a78df051db44b2078e323645ce185815987a540ffd4e82ed2ae5b3d92ffa3837f117ec7737188b9920f59b8b5e0f55cda03afbf888 SHA512 4233627432a43ab46dac5e10d90a07dc9e085455f3140fb0a731fdb1ef2bfd2245dae3c47e9ba32bdb7a8650f32e7a9f49b911999ee32a18d41c32be4c697fcd
EBUILD binutils-2.32-r2.ebuild 12173 BLAKE2B fb2dd9286d25b3e9b6bfbebfd70965e72b0458b3d87830be8f8e2f14866818441118f809392c34f2ea535d2f54821c3460108ed71bbd9e78286cad1190a669c3 SHA512 cb442d2e13a2c33fd3e89cd948b5bfbb453d7f37ba18cd061c21c69fceb8cdcfb047d4b009d1ec5d6f3d90c37ad9fa30cdfaf2422ccc6c410720ee0989c11cae
EBUILD binutils-2.33.1-r1.ebuild 11908 BLAKE2B 7d4a576a037a162d329977822aa08807115e7d6775df73a047bc1c82bdf1cfb3a7f51e31c21c2682553673dca8bbb5db0359a65f3f9722fe751b7871b2bcf91a SHA512 2837ab896d900e9dbb19e7d5584bede1fa19e50ba0dc432d02644ee4c8c791a1219b6fb35213b5e8f50d2d11d24ac1cb393cfd2db20346e7eafc23a8a0da82a7
EBUILD binutils-2.34-r2.ebuild 12004 BLAKE2B 7ac248b26ace7c134b4cc1cba28e53fb703209584bda66f9916c86f0406384697af77f4e3e10c78f63c3b3f002255232050dbf11fd2e86692125df3bd563b999 SHA512 cfa9314e1d4851e20bd42ca481a3c97a8c6978f2c38616f7f73585f432fbe50304a091a9b1ee4c5e20e550ccbfd06c728a6f63bb26981e01d9b09407bceb61a8
-EBUILD binutils-2.35.1-r1.ebuild 12602 BLAKE2B 01579b5d3a910cfd9c35892d7ab31696d98e650c1a8da0b6c07ef27d738396e1858d0109139798a69091350a3eb5360943cbc1d011419a609fe36d5789fd95cd SHA512 cc4001a6f5bd140366517f713d0431c3d3be997cf7145d3bd617c4ef25cff2f9b5d324995ff3e689eecb3e66bd4f72d763c6535a1f887c3952a206130e9f5e48
-EBUILD binutils-2.35.1.ebuild 12602 BLAKE2B 28e7b9f0801c04b74f747478e51f3627098ad7390a17ee52df0e7c17a71d2449c96a7808cdca90bd2d0a3c3f33996bf1b25b755906b60e673df02098982310b7 SHA512 e71e621c220f229cf988c128743fbfd937932b52948ac65f5bca97d98d1441240ce02757dbdef6ef83e09066947108078e6ba1b1137e42bccda8f795dd31556c
+EBUILD binutils-2.35.1-r1.ebuild 12599 BLAKE2B d504179963407b583c314e2430cc6c8e26f511479b29bf0ffee81146b66098be9829907a1dbc929bd8c7de550955c1c9e977a2b15cc1410c79fdb4e369588e2d SHA512 3baf3448c7bc0842d146f6cd81cfa162607edd4d7b0cc2c332278208e1256acf464e93d3e03a007a31c2c0d28f8d0069c1da4dce04fb95d50a20f5833b93528b
+EBUILD binutils-2.36.ebuild 12588 BLAKE2B 2df3d9b7f0ba4c5b05df1a4b1a99ffe237ff0397e1e90270bad4d3f4eea479326e1524e6648db1bb4787f5725e7fbd00d057f80fc3502a860249e8478c9ada43 SHA512 813322bfbd35ef54c1f019f02879e6e875abf556cb9c07e51235883364e08f9271257b7aa45c0ccd7db8ee6e9d108ad37852b57397c57da4524d7fe4b73dcf53
EBUILD binutils-9999.ebuild 12603 BLAKE2B 785bb872ada3cd55ff301861375c0e1babb1f27f66e4872fbaee7fa5bf4d41e723260773a21e3819427b660f05a5e1221960b63a14a40401fd6f186e9346b125 SHA512 cf8c62c71f0b74f74a597fd0c294897c23f09cc791adef8199f68f9aef4b1af2348b5472dfabf57d5358f36449995a06e3ea6c37b1e69d572c34cb1e3ae6ec1c
MISC metadata.xml 650 BLAKE2B 5f0547bb9a41a09f28afc7feb1d6f2da32205924d860a88f64a7970a5e24749b961531c023a8647720e119ffbf2bdcab9384f10726a3371a8ec750b808233eaf SHA512 9057a779adcdf1da85c7e26fdd134303e4fe53ba015dda84761f5e4894833ba50f1411c1e96102319479fb1becf6c02e23984737b3660a7c24101d0cf0d404b2
diff --git a/sys-devel/binutils/binutils-2.35.1-r1.ebuild b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
index c64b6d48e492..7a0e01d57678 100644
--- a/sys-devel/binutils/binutils-2.35.1-r1.ebuild
+++ b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
@@ -33,7 +33,7 @@ else
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
SLOT=$(ver_cut 1-2)
# live ebuild
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86"
fi
#
diff --git a/sys-devel/binutils/binutils-2.35.1.ebuild b/sys-devel/binutils/binutils-2.36.ebuild
index cb86407d9c85..afa2a08fc1c2 100644
--- a/sys-devel/binutils/binutils-2.35.1.ebuild
+++ b/sys-devel/binutils/binutils-2.36.ebuild
@@ -32,8 +32,7 @@ else
[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
SLOT=$(ver_cut 1-2)
- # live ebuild
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
fi
#
diff --git a/sys-devel/bison/Manifest b/sys-devel/bison/Manifest
index 21024fafa4ba..d339840cc8ef 100644
--- a/sys-devel/bison/Manifest
+++ b/sys-devel/bison/Manifest
@@ -3,7 +3,9 @@ DIST bison-3.6.4.tar.xz 2472456 BLAKE2B d2efe7ff1a349efe5a8c79eb69aa296dbc7eb9fd
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.4.tar.xz 2617336 BLAKE2B e49a4a6fba1dc93314133541c24c6619b465a81850d6b8c4ff63074df46fa7d6e1d9645797c14be32a87c0ffee6830b24e49137b6357d3284d736b407fe7d118 SHA512 3fc13ab21e28218afc9b7f1196a5607de7ff4403c4126df359848422a8057ac6c17ce4344864dd320b7c47a08d98e0f3e2929f25b06be3b1f1c867c0568f367c
+DIST bison-3.7.5.tar.xz 2622228 BLAKE2B 4787af645197bfbc4c0439e98bbc98030a726ca185ec3375b2fe7f49aeee6517e2155e242a9829f93de931cf3217a7a3ede520fa1d562b25e2d34915677c1747 SHA512 98cdfaf114b8f8eb0927b29fe999dc9629336333d85bd2f87c4c558125500c44ee6fbfff453e3121c7e9e239a632f8c72e08c39be7dfb045361d35ec59d31811
EBUILD bison-3.6.4.ebuild 2419 BLAKE2B b5d405a8c927778aa0fc5336691351dbebc294da46493c56ecf95d238155dab060d41fc7687acd83360e1301004307bc3d515f34d967b31e26440e15a4cfdf39 SHA512 3b58aaa76132e6c0949beee503741604041c5a49b5aa16aebc7dfb496a1c6dd26a20715ccd9e67d61a4c192cbfb32a119e505ec0953fcf9b13cf44681710b1b5
EBUILD bison-3.7.3.ebuild 2432 BLAKE2B b2dbf43ba21d82979c7e9ed257dae1997e6a3ba0803aaa5eaa8172fc9b025ff18cfe959cb8e2a503e53df1b01eac73d4503842efe9f41692ffd4e343bf978b27 SHA512 5187d11a38ebf391a87c09bfa145ef6799a140813e813ccc44800cce66f39b8611bb67af659e69baaf887e58b882c2dc1225c4ee610bb4abf3d4e6aae07e08ee
EBUILD bison-3.7.4.ebuild 2441 BLAKE2B bd46555601a5ca6aad72511b4254cc3b4c5542ca094188f47a91f3ada4fa3805717955143b086d71ae56c67892dff43736decec2a86e84274c223c96b59b7def SHA512 d83b7c14fb8fb3592e83673eb80f26105376e97dadd686778e85906369529abea353cd8782ff4ec4a9975a70f6860638d90e2c484299faf35b09d0e4bd3a2cdf
+EBUILD bison-3.7.5.ebuild 2441 BLAKE2B bd46555601a5ca6aad72511b4254cc3b4c5542ca094188f47a91f3ada4fa3805717955143b086d71ae56c67892dff43736decec2a86e84274c223c96b59b7def SHA512 d83b7c14fb8fb3592e83673eb80f26105376e97dadd686778e85906369529abea353cd8782ff4ec4a9975a70f6860638d90e2c484299faf35b09d0e4bd3a2cdf
MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555
diff --git a/sys-devel/bison/bison-3.7.5.ebuild b/sys-devel/bison/bison-3.7.5.ebuild
new file mode 100644
index 000000000000..61db0e9ab17a
--- /dev/null
+++ b/sys-devel/bison/bison-3.7.5.ebuild
@@ -0,0 +1,91 @@
+# 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/bmake/Manifest b/sys-devel/bmake/Manifest
index 3e31469b43e6..1a5ed63cc2b1 100644
--- a/sys-devel/bmake/Manifest
+++ b/sys-devel/bmake/Manifest
@@ -1,11 +1,11 @@
AUX bmake-20181221-fix-gcc10-fno-common.patch 575 BLAKE2B f8e767c442683332b258cb4df3cad965cc2cb2903ce404e6f0f923c6ff1135e3e51d28e3b1855fe0ac27e5db839ae117236ead9cf8fed3bef6706dff9754e56f SHA512 d6986497844239b7c67e721b76387c391a7bf71a7122dfa54aadbada6add5bf3d810aea0f8f119d47c76445266f90a2cc39bef23b398cb3ee396de6cefa0020b
AUX bmake-20201117-tests.patch 425 BLAKE2B 55f487ddf626698b0b5de6fc37cb06ba90f1fdca6a43d63fc74429615ef27ab3ac74d0e073f7741cbc6b92f328e0a7b1b70c97a3e34d870525a1e8810b36d87f SHA512 7a6521e6a94cb71d8afdf231ca25958737ccc8daa8b3ec9e12cb4032804c7aeaecea9d4abbcd1289e477de349780da818fb862c4d13d324f0b0cd066916b47f2
-AUX bmake-20201222-tests.patch 670 BLAKE2B 869d70085b20d2a8f9eb2f28401b22beb4af3833fba85dab842efb57e4189f826f224fb10b8a70975eb5402bb2200418eed56daf537633d51be06db7a5b7a8ae SHA512 33f7caa47fc0401f3d3ce9546b3745728a8d59c2e09f2fadaef4a9a2ab881896f291b79cd13e5662743a1a2d93bfcd7a525f4d3b050312d000d11ead2fc674f5
+AUX bmake-20210110-tests.patch 670 BLAKE2B 0b3f10933d5608781b231a0e198839e5aa6ab1dbcb2509412746bdfe04a92f000be1fd999b320128d9eaf5ffba0a75578db72de3c77510913a55bcfbfa26676c SHA512 0c7ac61f93dcdef6af48ac03e8789a04960c1884166ef40dfcd06d0df73bf7d89b238c2325c1ce40e5e3c1bf0420ff673d042a3d469e31b88b7d227e97a52ace
DIST bmake-20200318.tar.gz 572827 BLAKE2B f10c6f3e87497508e26154acb3e8a07b78daeba083228478023443b5ccaf540385c1d594fb968ed1fe9ccad30680e7c527db48fc3787c01930f62f88f1fb6699 SHA512 a405226e8f4a9a985ed00dc359390da7890d70f8a7b7e134db05da34ebc3c6ee2373497a9e44e0d75bb64edd81f860fd0cc204bdf7f392dd4e9d2e6a5fe9e507
DIST bmake-20201117.tar.gz 696371 BLAKE2B e92568e844d74f1ace157d68ea029c7a999351b18c3afab50ab584abb8c41691dee5fe4f2e1fd7936103cbbabe33dbbd6c7b2b0af2e0cc199dbb83150b237f8c SHA512 b78e6f6276032fe68a67196d18b6786556b1079109998b1c9a585a9d58e9245294ee01b3b787329a04e7f024fa72763c109351a8da9ec09f8bf8407393758588
-DIST bmake-20201222.tar.gz 727973 BLAKE2B cd093418c646e6b15e47f08c3c8e6a5daa5db2c9a1f76b4e8d639e0a50444ad518836585af7381bb2952309dd82716046a85e42121180133c9ccd546963a7748 SHA512 ddf1152adf99b350ae1ff1dd473319cd7c277c696f29b3ccba9080ecb9da0013f334b183c46a6e0a34708071a8f4f89d813264436e1946ebdc1923e6fe7440d9
+DIST bmake-20210110.tar.gz 735461 BLAKE2B e12882507bff3b47e4531519437e5e3c8fd0628edf8cbf7ca82b2e96745a767bead62f9a61bf3b99c1757803e29dfe757e0b2a48e2a2275a1ceaef1c63db9e24 SHA512 5b68b806a32a068e54d2a79796e99c189a6a5236c9596d5ebc9d0bbfa3454e975005c751a9e15eb077a8dc8e236630a900ecf5bee7674b3139d2b82a76c5a1e9
DIST mk-20191111.tar.gz 102361 BLAKE2B 6a542c41e2a2153bd3c812aa9bcdc78a47bf2e9121835279afa2e57ec9cdd44f72a1cd7b48a7647d56b0586c547656f45359821cd2013c5a90532568e12086b5 SHA512 4a3e2344e7ada0666bcb147fcd4627030ba9b928acab6876215c8529b23909be4ced802bea177b078a6b4457370d2d0070114c0d69979622274be74336778861
EBUILD bmake-20200318.ebuild 1137 BLAKE2B 5ceb9e88fec798df6afebae8dd6534a95ee5a977369a52bd9dde1525c471a0fd838cd667e3c5c1d7ce3a29f6e9fc449c1cf011fe75cdbfd5a397410f99cf3860 SHA512 aab466bfc237621ba3f5f5840b93c4fef6b42464f0c302380dad7d3caee053ec7b6510136188ffed382a8017cb44f41e36155637e1d6d51c1ba0bd15faaaaccf
EBUILD bmake-20201117.ebuild 1152 BLAKE2B 643222e719b1bc152f930c85c026a19077645e767d1b1256d72882beb1b271348c944d54e5433aa96f3364fd6204e341d2854f2b93dc0f6ed40d487cd588b475 SHA512 b06d919e2d9adff7d7a39498fd1a8e2fd231af83dcac3a358e751cdda1e47e247957465e785245ffd56d0cf1ddc5015c9e23a5be28d5d5a4855d8bb8b713f49f
-EBUILD bmake-20201222.ebuild 1153 BLAKE2B 1cb5132e060ae65c0afe2a4b14740172ae2f43be23d1ca93b60001fcd0901d227ad8170d5f11cd593bbcaa80f90375f79fdab656b89876bb5d3370add35b7fea SHA512 6d1eef0c8c9371350ccb28b95c11518f0413c9224e993bd94eb6bf1fa97a51da9662e85acaa353134ddb898d37710910a12a93b1223a2b5268d31f3fb241b20e
+EBUILD bmake-20210110.ebuild 1153 BLAKE2B 1cb5132e060ae65c0afe2a4b14740172ae2f43be23d1ca93b60001fcd0901d227ad8170d5f11cd593bbcaa80f90375f79fdab656b89876bb5d3370add35b7fea SHA512 6d1eef0c8c9371350ccb28b95c11518f0413c9224e993bd94eb6bf1fa97a51da9662e85acaa353134ddb898d37710910a12a93b1223a2b5268d31f3fb241b20e
MISC metadata.xml 244 BLAKE2B bd2c6209566a4936a38d9109a9a533aa1669dd50701ff8a96d2a65411aa692517ab70cafd98afcad7058979d62f1a7ac796c5b99a520c0f6ca1ed92cf9e0e207 SHA512 57959095dc10704e073e5517ac49ceee80e42fb1cc3f26b1b7308f872ffda810ce42e0b80ea6da57faa7a759878a9b8d2476fe351fecac1450f9c83751802787
diff --git a/sys-devel/bmake/bmake-20201222.ebuild b/sys-devel/bmake/bmake-20210110.ebuild
index 547f81f91f68..547f81f91f68 100644
--- a/sys-devel/bmake/bmake-20201222.ebuild
+++ b/sys-devel/bmake/bmake-20210110.ebuild
diff --git a/sys-devel/bmake/files/bmake-20201222-tests.patch b/sys-devel/bmake/files/bmake-20210110-tests.patch
index 9a5efb79246e..1557ef85bef9 100644
--- a/sys-devel/bmake/files/bmake-20201222-tests.patch
+++ b/sys-devel/bmake/files/bmake-20210110-tests.patch
@@ -1,6 +1,6 @@
--- a/unit-tests/Makefile
+++ b/unit-tests/Makefile
-@@ -183,7 +183,6 @@ TESTS+= dotwait
+@@ -188,7 +188,6 @@ TESTS+= dotwait
TESTS+= envfirst
TESTS+= error
TESTS+= # escape # broken by reverting POSIX changes
@@ -8,7 +8,7 @@
TESTS+= export-all
TESTS+= export-env
TESTS+= export-variants
-@@ -280,7 +279,6 @@ TESTS+= sh-leading-plus
+@@ -285,7 +284,6 @@ TESTS+= sh-leading-plus
TESTS+= sh-meta-chars
TESTS+= sh-multi-line
TESTS+= sh-single-line
@@ -16,7 +16,7 @@
TESTS+= shell-custom
.if exists(/bin/ksh)
TESTS+= shell-ksh
-@@ -316,7 +314,6 @@ TESTS+= var-op-append
+@@ -321,7 +319,6 @@ TESTS+= var-op-append
TESTS+= var-op-assign
TESTS+= var-op-default
TESTS+= var-op-expand
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 79777a998c3c..38bea12c9fb9 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -2,11 +2,16 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD clang-common-10.0.1.ebuild 573 BLAKE2B a2e0ed9b70b470ade3c22d56ea097befd935702369dcb21b367f3baa95635e1edea1f62760ffe3b678a72410b8b20091167bc5c38d75350004f52b24d7497cae SHA512 da407fe94951d7b6edfe8a237d761bda0114a8e34fd3fe59933c4605851b6a414f9278204e6b7f83d3f6ac9334f80660a7733484b64291ad58c84364015585a4
EBUILD clang-common-11.0.0.ebuild 580 BLAKE2B 3affe14fc54fa11d15701312b51cce47b18aee3dba3ac84004be1d6bb7c70229c6e606ba3c051e038d058d94b9da00ec2710597f945d9bd4eb5cca7c1fb6ee57 SHA512 22d04fb19dd7dc0e7469f920c8ae477680eede237b1e69664c5e1f5f649e4b0d214b38f07e7e3794828c6fd54fe6da8b604d4e64aea6e4e95ed79c6943ea58b3
EBUILD clang-common-11.0.1.ebuild 586 BLAKE2B 695ae16044b48bb9718d7d2afd9e77b2da305599cd8138b0100ded12496a7a1ff49c038ed020582340ec16d309e52688698150f8a97553eaeda0c115c578a30b SHA512 aef092bacfe504ec8a081c5ea25c2c96ba8efaf0074afe2089a83f4f3091644694d62bcf6c92ec61d9533f5706d949927f20bdd45ef7f3faca086bfbb5cb440b
EBUILD clang-common-11.1.0_rc1.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
+EBUILD clang-common-11.1.0_rc2.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
EBUILD clang-common-12.0.0.9999.ebuild 514 BLAKE2B fdd7858dc5690225fc806afe2f2c85f212546c443a5ee725df19b460507855392ec5639cf304d3fa00db199f9f141b841e198c9c853076332c55bfae6b9d9ae2 SHA512 7dac5188645661066ccab55b360e61cba561fc4ece7ab2974e31c4b41d2c110a6a75295f7ec6be9902e9e74fcb210e70c29c4baf0e8ee1c0fb6250084f465d2a
+EBUILD clang-common-12.0.0_rc1.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
+EBUILD clang-common-13.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
EBUILD clang-common-9.0.1.ebuild 573 BLAKE2B a2e0ed9b70b470ade3c22d56ea097befd935702369dcb21b367f3baa95635e1edea1f62760ffe3b678a72410b8b20091167bc5c38d75350004f52b24d7497cae SHA512 da407fe94951d7b6edfe8a237d761bda0114a8e34fd3fe59933c4605851b6a414f9278204e6b7f83d3f6ac9334f80660a7733484b64291ad58c84364015585a4
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/clang-common/clang-common-11.1.0_rc2.ebuild b/sys-devel/clang-common/clang-common-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-11.1.0_rc2.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.0_rc1.ebuild b/sys-devel/clang-common/clang-common-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-12.0.0_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-common/clang-common-13.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-13.0.0.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-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index c978009ad268..33eefe4e5746 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -2,6 +2,9 @@ EBUILD clang-runtime-10.0.1.ebuild 685 BLAKE2B 175c35a6d7960eb40f49cfe3ecf42cd7c
EBUILD clang-runtime-11.0.0.ebuild 692 BLAKE2B 5703e482af3e2983d4c7a5c6345fb33d2ec0e7bc68ec67b3a9346aa022819f1c324f766639f49828da6fe4e254a4986bdd60276766b8558a488ed9aecb9d75dd SHA512 ae9e43cf8f97366d8248f8587cec068c775f57d3daeaccd09f24ea337ed98dd7808507e8a6024225d8508301abd35f63a6723cdc83593176fc3affddd74fdf11
EBUILD clang-runtime-11.0.1.ebuild 697 BLAKE2B 63a0a06a94e6166e01da2fddcee1e0d627a6fa43fe4ec80cae9cafa96cdbae99522e74eefc781e9cf9441752352b13e9d7e8963e1e556847001f6f715c06e726 SHA512 dc8c30f3ce306c18005609017ab693a41081198ce8f2759276c1e49b4ea4538a719e52c921cdc5dd6298c0159fbc19e4a83247bc5a75263654d31f2ef3873ce4
EBUILD clang-runtime-11.1.0_rc1.ebuild 625 BLAKE2B a45dbed81c7f2414802077e5185c9015c85b02715d03ce6320f307855287ee90ef317760340b95770667f4ad5adcc55e9b8e37a80a1d93baf23304097c209c18 SHA512 949151ce8e3244fe4293c162deb918ee6bc41b98fceb977c53e68399c12c0f31e022c0b6d203f616313ff01c314a1ce57aef602a875fb999fdb7c9d512ec9ee8
+EBUILD clang-runtime-11.1.0_rc2.ebuild 625 BLAKE2B a45dbed81c7f2414802077e5185c9015c85b02715d03ce6320f307855287ee90ef317760340b95770667f4ad5adcc55e9b8e37a80a1d93baf23304097c209c18 SHA512 949151ce8e3244fe4293c162deb918ee6bc41b98fceb977c53e68399c12c0f31e022c0b6d203f616313ff01c314a1ce57aef602a875fb999fdb7c9d512ec9ee8
EBUILD clang-runtime-12.0.0.9999.ebuild 643 BLAKE2B d40d0fe357437cd1953be01751c4f31b0545bd48df6130aa0ffbd5b8cce5826ae1bf721e74fcf60b98528f402a734862f9ae495710e72c2d236741191e845dd3 SHA512 a70d29e6ee013f5eaebaa004655617f221ca47457d99f5b6b99ef1fd3c5ee1b0d082267c6436a34d523ebb96a5f9746f4659baa2f8241946be08517c9a5d6d97
+EBUILD clang-runtime-12.0.0_rc1.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
+EBUILD clang-runtime-13.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
EBUILD clang-runtime-9.0.1.ebuild 685 BLAKE2B 175c35a6d7960eb40f49cfe3ecf42cd7c52aceb60591b83a81ef494b52ca08739cf06397fdd45fb0e782ae07dd506277826c816643a6f885a8d59d0b97c63123 SHA512 51e03c55059ada3ed7b7b26217c8184045aab8397bbb7172e0a5d9fe6c90b0369fdc91429a485bfda2fef08701a2ea8d9ba15b349438fd53470e37c28789ee23
MISC metadata.xml 578 BLAKE2B d58a4d1a7bf88a0d5640a02f3acb7e491f275b3bb66a8583aa057b8daae93bb1dbb80f6150bc326228c6ab8c8f8498b46bf72a3fb5e97d0eeea2fb39f87660e3 SHA512 822f56b33d991088ad5e51c3dd96e2e36f544b68c57e45ed8365835d1ef6d0eb797f9de1f8f33b59fbbaf085e245079ca767d5e8b773261cf9ad2c5629b7b16a
diff --git a/sys-devel/clang-runtime/clang-runtime-11.1.0_rc2.ebuild b/sys-devel/clang-runtime/clang-runtime-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..b83335d9b8c8
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-11.1.0_rc2.ebuild
@@ -0,0 +1,24 @@
+# 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 )"
+
+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.0_rc1.ebuild b/sys-devel/clang-runtime/clang-runtime-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..218cdb1426f6
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-12.0.0_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-runtime/clang-runtime-13.0.0.9999.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..218cdb1426f6
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-13.0.0.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/Manifest b/sys-devel/clang/Manifest
index 68ac65da115a..c2a59471b4b0 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -10,11 +10,16 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD clang-10.0.1.ebuild 11828 BLAKE2B e6ee6571b0be8983ea5d23acb899e562758a1cc6f28acc1e82d0b4d8cf5854262fb5f059abf0154e523c075f49ef804255a1ae106982276a1276fd9106d39da3 SHA512 c076072d0c3a1dc91b50dc58af34a0d274217f2d3b138c5fcdeda5e0d669511c1cc5dc3ef2b2332e9bc5b6d8660520def5f03dfb8890c1d7a4701e2915b122ab
EBUILD clang-11.0.0.ebuild 11810 BLAKE2B 2afbd9ccc9e2c444105f5cf2e490fcefcbbed19a12a4eed72bc46e1ac314fc7197c92e3abb1d570e0ab9684e3f8872dbe5741102bdd9a6f03db0821a4737498c SHA512 5e2884a6518c0b40691e495bcb0fe6beefdfabb08ba9cd946e3a4b220c7bee5539910a818940c41dff823297fa847b08f58251f615cbed78f825d5a2a1cde67a
EBUILD clang-11.0.1.ebuild 11816 BLAKE2B c4379d10895759b37a4ca67904e1e1308ec0c18260742f7c69eefdf33a1e6674db7e1597812c6494757d0c608b71e7d8bbf2efd417d3637239c2a6cf68262436 SHA512 13644fd2158b0562704486ef1410b3ddffc7c7270169ca5ca2820b3d530508a94c9a9eb49163543f7305518a6a19189f1db9f979147df01988c383160c4375a1
EBUILD clang-11.1.0_rc1.ebuild 11748 BLAKE2B 44f40ceac2062412e612e9fe1b6fd188c222e3574230dbef89010a8d597a6bbb3ba7b77ce0cb8996b4324e11d7923394153eb28f170c05c3d1decf641ff86b81 SHA512 d8b01b51eb3136918cc25dda73b7382583da7856a2aaf515a4d25b8d2b2b2224c3a623a23e7b249c604a000e4b4627069b83ad3580ee153dcfb48188f6f2ddb8
+EBUILD clang-11.1.0_rc2.ebuild 11817 BLAKE2B 4398adadcb0c06f6ab9a0fe640dbd8fec06fd0fc2d76f6a423211b86b07337b27955588eb3560a3e7a7570e0ac55dbed993994086c5d4e5d3c0e0f6e6722f33d SHA512 6520786e88b4b4637a7f569ef6fdfa0eaf009daae71e76926e1b41039390d8698b38f73e11076684b9f797b900c7469c98f8d16824684abb6ed1c11879e43caa
EBUILD clang-12.0.0.9999.ebuild 11683 BLAKE2B e0e15552782b787b60aa6e73ea9dd852223b66a82fbd86d780123912d64ebb629726f47ab01c2b0e18f6000989c6916faf446ba710378b98d7899af17770626e SHA512 baf0bf3c97f0658e9b36b6e7e50fe8714c8c9e351e5a94976919261ec70de8b933b71650467a6182afc16f3b448092a4b3ec2d444d18114cd1b4cef8f743136c
+EBUILD clang-12.0.0_rc1.ebuild 11683 BLAKE2B e0e15552782b787b60aa6e73ea9dd852223b66a82fbd86d780123912d64ebb629726f47ab01c2b0e18f6000989c6916faf446ba710378b98d7899af17770626e SHA512 baf0bf3c97f0658e9b36b6e7e50fe8714c8c9e351e5a94976919261ec70de8b933b71650467a6182afc16f3b448092a4b3ec2d444d18114cd1b4cef8f743136c
+EBUILD clang-13.0.0.9999.ebuild 11683 BLAKE2B e0e15552782b787b60aa6e73ea9dd852223b66a82fbd86d780123912d64ebb629726f47ab01c2b0e18f6000989c6916faf446ba710378b98d7899af17770626e SHA512 baf0bf3c97f0658e9b36b6e7e50fe8714c8c9e351e5a94976919261ec70de8b933b71650467a6182afc16f3b448092a4b3ec2d444d18114cd1b4cef8f743136c
EBUILD clang-9.0.1.ebuild 9020 BLAKE2B 7c5f8d85d4c6c4d1541c14ff36f2b93ebd553b3ff11e1c9d90dc6eb406b9a7f4072ec08d508cad4efebdfc0d622750a0cba8b24a21b8a053ccabac99bfa750e5 SHA512 6eb0b5558982ad0c43b9478f4ca25c4aadc7a7ed0e4cabd0b918b75613e7d3fac88c0cd09d1616fa88618b7b5b5783b35d3a5b9b9a3b2f7366863aac738e2743
MISC metadata.xml 1336 BLAKE2B aaddc1c1193323466a545df21dfa53b637c3edff4f61cd55037d8327273457cf8d35cad7b92a2eef31acfb055a3e1ed93cb53a913b01eddf43b7b3dc6de880c4 SHA512 0538198df449cdf4d0cd00cb50d7c6883b06524419a29c4376cdcaed440fb84cfbd4983a1a025ae9a6e2fc5d91a4870bfcde587c493d8b617baec2214705601c
diff --git a/sys-devel/clang/clang-11.1.0_rc2.ebuild b/sys-devel/clang/clang-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..33ff1eb5ba37
--- /dev/null
+++ b/sys-devel/clang/clang-11.1.0_rc2.ebuild
@@ -0,0 +1,439 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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 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)/$(ver_cut 1-2)"
+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.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).
+
+PATCHES=(
+ "${FILESDIR}"/9999/prefix-dirs.patch
+)
+
+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
+
+ mv ../clang-tools-extra tools/extra || die
+
+ # 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
+
+ # 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+=(
+ # normally copied from LLVM_INCLUDE_DOCS but the latter
+ # is lacking value in stand-alone builds
+ -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.0_rc1.ebuild b/sys-devel/clang/clang-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..8825b6aafaab
--- /dev/null
+++ b/sys-devel/clang/clang-12.0.0_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_{6..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.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).
+
+PATCHES=(
+ "${FILESDIR}"/9999/prefix-dirs.patch
+)
+
+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
+
+ # 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-13.0.0.9999.ebuild b/sys-devel/clang/clang-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..8825b6aafaab
--- /dev/null
+++ b/sys-devel/clang/clang-13.0.0.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_{6..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.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).
+
+PATCHES=(
+ "${FILESDIR}"/9999/prefix-dirs.patch
+)
+
+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
+
+ # 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/gcc-config/Manifest b/sys-devel/gcc-config/Manifest
index 30fd0707bcc6..5a9ccee17565 100644
--- a/sys-devel/gcc-config/Manifest
+++ b/sys-devel/gcc-config/Manifest
@@ -1,4 +1,6 @@
DIST gcc-config-2.3.2.tar.xz 17444 BLAKE2B c66fd121770dddcb27033be228de691f766f1acd9ada9580ae96dc12f6fbd0cd823e6656dc9b0515d498305b10d72f9cd87cf69388791971e9eac1a20e3f97c9 SHA512 31327d9abd26fdadaaf25a63568fd860ae25030b4a99dcbf0424f2d8fb14e61f041e681eea90c781a3f4e5401e3a7ba3299b1260ceb6e51bda5bef24f65dcacc
+DIST gcc-config-2.3.3.tar.xz 17452 BLAKE2B fb77e2a2ea3d57142e6784d985364f3c0c82c149af10ac0a6490b3f4acceb3cd86e9d25168a60c532dd2bfce300a12a13cfc0eb290bf8c9457e43b9acf247328 SHA512 110af5a15e34c41f8f0568f20215bd4b0db2ffd2e65a4c3e7c3a6695c0de574e85478582cd65b627591ee754cd7f28c01ab8f3c3a101ed00c2b42fedab58a08a
EBUILD gcc-config-2.3.2-r1.ebuild 1519 BLAKE2B 0c80ef8f3c9f443f3ef5ec53eac602a3bf1b35ea527df07fc3e91307c87209aef921f757e4fc9cb4ad296eea2ee438f9b80752bd5ead2cbaa6f3107853396a44 SHA512 88eedc35a0ff2e6fbff28cf6ad5a50352ebf1ccfb3e4ce458875022a46ae22f0540f034fe39367677cd5b58e897649355d97c801271a30fd29432812a9c4424c
+EBUILD gcc-config-2.3.3.ebuild 1283 BLAKE2B b181194a31e02627538d33c2b21ca8ffa951374b059d0c8586672c02cdcc2c3ca09a828e793f899493d637334e5b127eb0d2f28453826949547ad6256f494f5c SHA512 d9edd49ebada071cf1a3d83648ceaf0f11a4211c48b2923294dcef724d38990814469d7c2a62ab76f7d1562b04d9b0306aca841814424a2ba7d7f755a102fca1
EBUILD gcc-config-9999.ebuild 1528 BLAKE2B 2748dbbcd43c80df61ee32e744059d421691298f696d3db52d51bc8084b72da0971df1bbc22a224713690268453585e9d84ab57de94c6ba7fb25d9807c049986 SHA512 bd50f91b0ea31a175ba83180db0bfb6e3252f8c3afcfe64fe11d4abb7721accb6aebc49288fc9ee4989539adae5fa82fcbc41c0f042c7a625ab600b47806fe52
MISC metadata.xml 532 BLAKE2B f2ce0b655376a7a6a31520f557917b4a6e2036ceec6726d869f795b6fff0a97fa27b7e13b7a41b6ea1b83ff67b9e3ef4ea12c0a8058911007da92f986c0f8265 SHA512 f2dc77e3d2301f3fadc24ceba33894ee8fd07831496b04e3513369906e101c155c7cb10cf81a4a08628514db5758368a64b0b4eb37c41f7f8fe4942f90b11935
diff --git a/sys-devel/gcc-config/gcc-config-2.3.3.ebuild b/sys-devel/gcc-config/gcc-config-2.3.3.ebuild
new file mode 100644
index 000000000000..33b842037c49
--- /dev/null
+++ b/sys-devel/gcc-config/gcc-config-2.3.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gcc-config.git"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~slyfox/distfiles/${P}.tar.xz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+DESCRIPTION="Utility to manage compilers"
+HOMEPAGE="https://gitweb.gentoo.org/proj/gcc-config.git/"
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="+cc-wrappers +native-symlinks"
+
+RDEPEND=">=sys-apps/gentoo-functions-0.10"
+
+_emake() {
+ emake \
+ PV="${PVR}" \
+ SUBLIBDIR="$(get_libdir)" \
+ USE_CC_WRAPPERS="$(usex cc-wrappers)" \
+ USE_NATIVE_LINKS="$(usex native-symlinks)" \
+ TOOLCHAIN_PREFIX="${CHOST}-" \
+ "$@"
+}
+
+src_compile() {
+ _emake
+}
+
+src_install() {
+ _emake DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ # Do we have a valid multi ver setup ?
+ local x
+ for x in $(gcc-config -C -l 2>/dev/null | awk '$NF == "*" { print $2 }') ; do
+ gcc-config ${x}
+ done
+
+ # USE flag change can add or delete files in /usr/bin worth recaching
+ if [[ ! ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+}
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 306703d89176..fd4b3019c18d 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -12,11 +12,9 @@ AUX gcc-spec-env-r1.patch 3148 BLAKE2B 30ceb113a510092a907b445c4b2131f148f7fef54
AUX gcc-spec-env.patch 1544 BLAKE2B ebd019ff63f6a8526f741f1760925538f10b25c7d5fc69bc015e27bdb468ddf1239aa9d0af21520ed1f286babc98b7418828e212b68415d238cd2c78b43db2f1 SHA512 ce9c1f923e2c6d17347ec2d3d8482351a9644194b2753627389294d43bb4f11b9c2ef41eda1b46ad83d09901a0bedebd5b6b8a57a198646030ab61e8d2d8cb48
DIST ecj-4.5.jar 1470676 BLAKE2B 793c10ba09fd8040c0e1181204141aea16780c9c9088e07126e00da2b510af2ad6f58d876357d7e98cbb02d783a3be434469d5de1df134ccb8cc508e45028d80 SHA512 d4e1bf7538ace56e3d69fa91da5bbd16c272923b4de0a9d8dee23ea2b75f9f38c603de72fc4061df49285c450b63f3df211cee5270e9fffc5447445d1a9c9e4e
DIST gcc-10.2.0-patches-2.tar.bz2 17701 BLAKE2B bed0cf2dcb6b2e35dbd86c43db617cfa0a0973b3d55bd6e12baf9e6495afd0fec855fefd223172c23f11449769996c18359abacfac36f62681310c861d5d2850 SHA512 6ebf5875ecc9f10dea67d4793fcc47178ddd6abe8959fc0390c6ff967fba7318013b4bf251abf451999b86697e97390c8698685b12086956c8e6bc2e97708bc9
-DIST gcc-10.2.0-patches-4.tar.bz2 23266 BLAKE2B 8173474d3dea27a440b36eb80c89aabb08c37528c3ec2382839c46fc36336aff7f9cdf3dfbc66947df9286b1cfe9f479d615f77d81ab24ff68a3edf5df5b2350 SHA512 17080f358a3f231837de35188ad1a6ae554a4ca6199efae6dacf9b17706937379559d6c8de330b4237480fea6f5cffffc1158c1d5ecc36ec3a7b410546a2684b
-DIST gcc-10.2.0-patches-5.tar.bz2 24415 BLAKE2B 08d1e2409a6013f8ba3c14b60a5db773b0ca18b2df71bb1c11aa3ae76bba69d88ca4e7a33d2a7a012bd36bff15c55d5ada9b53d3e36c210b9a5e7aba178327f8 SHA512 04292690aa221849c16432ee165a3aef8ad81dec0acc68a0499b3a4256eb8dacf6c1160ac91053c0b84f30a019bfeb121bb21b6ffed3dae15a5b8c24f1e870df
DIST gcc-10.2.0-patches-6.tar.bz2 24103 BLAKE2B f719012f86136ad9c4ea1397548caca6e69687534599a88cc25fe0e4f83dd7fd34c07375fa6e612e2b430e078c1a59913160cce07312e94fa1ce575a33e5457b SHA512 61d97dba29024c7a22806689ebf33f5cb9ce099230bcc344f2865b976c3fdfd8ebec5962eaffd0156de75eca58499ba785867bd4a4ac92c6f799ab1bee8844a1
DIST gcc-10.2.0.tar.xz 75004144 BLAKE2B 1d79397330354e61439283cac96a109bf78ffc726265442e6d3ec131f107589ab7349d6612836edd8c8512f7bcc1d901a65a0d5d925d28a5bf3ef5cc3f9787ee SHA512 42ae38928bd2e8183af445da34220964eb690b675b1892bbeb7cd5bb62be499011ec9a93397dba5e2fb681afadfc6f2767d03b9035b44ba9be807187ae6dc65e
-DIST gcc-11.0.0-patches-5.tar.bz2 12815 BLAKE2B fb5d467422de29bee6cd4e1b822ecbe1cc1a0364288f6ff37b43ceb12cf96618dcc072ddc5b1311e205996cb1d528be28641870ce03a51fa1d65ccf0c8c4d075 SHA512 6ebc28998b02c2fdd6cbc8b70a9c67a9de08226880b11bd87f512e9b81a04d9d78597faab3814c27f7bd6bed51513119d580eb828b0d4891768819c028aa48db
+DIST gcc-11.0.0-patches-6.tar.bz2 12744 BLAKE2B 05e8d8b87cd1069bc6c03a6cbd61e5414148b7c6467e5b2ebf03af1493075280d8f1a5a123148f786724e3f813ef7fbb5f2728598ab4ab7879b4e649f592156b SHA512 9e873a40eca07e471a9832ed062575063144554ca306b60a9b5f7da61fa1f148a13fd5ea933c852d105931e452de1c6ab3cd7baf4f80da17b9d81eeb36c5b3fd
DIST gcc-6.5.0-patches-5.tar.bz2 13723 BLAKE2B db0170d6db74dcb6dc3ec937379c188814cfe88b5204aa0c1cc925083d8f178be4896e98ff44fe224060e4e1fea98ef3c90aa8339b2cf78d33cd2dc8b94e3bdc SHA512 d79cf975157c5285faa893da0259b0013df66b01ad597322f05ece0343dd7912d8d793663448c04f37be93092e2fde06f84374e142cb81b12ba5964b37b0de89
DIST gcc-6.5.0.tar.xz 74355588 BLAKE2B 538595d32000b15a53577f0dc6b164d75791a8ccdf90500d5f667ff78378ef4ab9bedb8a590848907caf863bf1165ebe108b5e81eb4b54e85ced4002affde693 SHA512 ce046f9a50050fd54b870aab764f7db187fe7ea92eb4aaffb7c3689ca623755604e231f2af97ef795f41c406bb80c797dd69957cfdd51dfa2ba60813f72b7eac
DIST gcc-7.5.0-patches-3.tar.bz2 11613 BLAKE2B 84d59103bffaec8fc57e69dbb17f53882935b20c23d54db5f805e8270fa16d8e572ee4a369ecc82d2279cf66a71d1eb2a7f0c9792d4495d2f68946d6b6403f15 SHA512 6e5bea150c56ce3d43c9b0878691ed54ecc5d2a12482e99261efa74af7f1d59ec94c2d0c363792d99e0d3a0abd739d5d06b861da4dea2c1676e5d498b5815d55
@@ -27,15 +25,13 @@ DIST gcc-8.4.0.tar.xz 63713440 BLAKE2B e536b7d1da5942a522f4ccce489882dcd5aefb1c7
DIST gcc-9.3.0-patches-3.tar.bz2 14193 BLAKE2B 4863fec1af41a8cdb2c24479b28812df36c1f71ab71d267ff0efc467cfb8ce99ed77714ceaedfb08b0d1eb0eb9316758cc7cbc5a8ad0bb582050690935e64b46 SHA512 8b90a5826df64e6f74e4f6c0e5acead695b38f671e26485b110d5b341daaad4ac21aabb04baae9ad457408eed274888b7f785bbc782611acfc7261e6a315d110
DIST gcc-9.3.0-patches-4.tar.bz2 15474 BLAKE2B b06fdfce4402850bb1c6c211ace4c3a07ad2114ffa48eac58d1624124d5d1bddd6d2b4faa18be3291a340272c022bea26dfcaf17929828ceb6474a5211401389 SHA512 54904a4a1c4a784f1a707cbdd9f6f498457e4aa550dc6f3d6eff71ed05a75685e23e6b71c2a614b1dea7e506b9f42fb0109ecfde00ef00373275bbc0409cb7e0
DIST gcc-9.3.0.tar.xz 70533868 BLAKE2B 21efb1432aefad5ed9b9b395e88ef2adfda3a8ea6e3e808cd151da6e66df9fed1bafdc8b8ff055d4b2272ac786d8b7ddc4293bb6b51c55c40a261a0eda0e7cb4 SHA512 4b9e3639eef6e623747a22c37a904b4750c93b6da77cf3958d5047e9b5ebddb7eebe091cc16ca0a227c0ecbd2bf3b984b221130f269a97ee4cc18f9cf6c444de
-EBUILD gcc-10.2.0-r3.ebuild 434 BLAKE2B ba1fccc8fa386407cee7f758fa6d0b9b989825f6a796d2d18e90e9fea25f5dbd07ac911e61eb11edc226cc0aebb6b27016d8be008755d7e6a9ec0eb1e35e0169 SHA512 3b24b9f05039720b05ba55e2399f0b6251dbb0cfc15587855ba888620d459cd9f1dc0b49c3df0a49414f0f713c021d800108226a4f88897491c47ff3828d18ff
-EBUILD gcc-10.2.0-r4.ebuild 434 BLAKE2B 36c6583bfbec07d3b1f264e640c5ad9422f6833fa4dd9e382bd22e0177f1485e3aef68290cc1104f9796bd380823538fbc14e76874c3ace2196dc0ed5e18eaa4 SHA512 57eca9be43d772c7f5ca9e8c1729ff33647afcc49cc3a62fc4c5b5dbaa4b87a186734baa9ceb6f7bbeab0a3174159745cf8dd2353d172a0ad34758d2bd7a6fd3
EBUILD gcc-10.2.0-r5.ebuild 434 BLAKE2B 2bd91fc954ab2cb09988ae74e9e69f02faf6e2032155405fffe586b39d5582541dde9628a8820dfcf9f7eaa01fe5a1fe602fb23ea48ff9fdefad391e2c2910ec SHA512 ea0cbbfa8b8635ab4a29fe464846aa65744a4130f881a2fbd2c9c0cd208128a31874db59aa55c434a7354cd03f682f0ded8948de72a6ca35e92cdced53a3c6ec
EBUILD gcc-10.2.1_pre9999.ebuild 807 BLAKE2B 08c2172ac50d043050dcfb3d69c138c51fb8d58f2601c14bcbaa4df5d9e844639f0bd345b14a702a86cebb7c420ca4cd831e0b8a995b036e7fd261963663e331 SHA512 0c05fc611f569a49d95d766048f6a1f3972108f7cbf2d03d5dc9a0f0ad29bf1ce4dd2269edabb0912628c9d5e8e377e9be586dbd07f182ebadbe7721a7cd5108
-EBUILD gcc-11.0.0_pre9999.ebuild 511 BLAKE2B c439da4d9eaf4512ac7ad516a2ce726e08a64e2bd60b2288738f6997855ef873a046e679781a237bbbfbc57b8ea36e1a92d428a06f0dbc3c797716127a6b55ef SHA512 b5f39fdd33f9dca702963492e010f0e397580ab1d0a7fedaa23c2e6da63ecda14db6253a02a4aee30c0151ea9437a2ce2ec1027d01574a076ee267737272b132
+EBUILD gcc-11.0.0_pre9999.ebuild 511 BLAKE2B 3c298f291708ab37ce458c5950295fb37953067621d50f9aa038918ebf3bf4cd9f2caaaec5e76138f4d9fb71a9da5e1c7a5abe23014ebd3d16c12bf2bd37d1ad SHA512 c127c94447bfabb4471d21a89b04330e0bd619a6e91be4b5c55bf40b39a51dd8123cdbfd70e65d676bb98f361c441db6f5364ebd241f1e8fa87420a4cf4bfd11
EBUILD gcc-6.5.0-r3.ebuild 436 BLAKE2B 8b219613160b1d152efeebae97d56e1110473c31949b6c09b9f721afc36c765a8a499fe1ab43ec5e115197f4b9ec3f73cd6cff2d7716993a93353b8556bb5115 SHA512 b83c39a6a99971a0bc4f3ab57b5bc8c5477a1da8fb82a6b56a0dec1e0225761dbdd080606e6abf4b06d56a9b39e766ebac8b347ae56c535f7bf2a381212530ba
EBUILD gcc-7.5.0-r1.ebuild 447 BLAKE2B b7465ed897cd3f2c0716e7fc1fe384dd93de4f29a090948857af9cbb04af1acee54557a2185e08852efb63ece42f72bf0c6289ac63f059d31bf32936bcb3dead SHA512 73b7cd1af8c1a45e0303085b95f8fa25831af50ad9999d7268847c970af9ece183dd68334bb0b57a153c8e4ed4ca3baa93c61a4ee6376bbaa944dfd529dd9bdd
EBUILD gcc-8.4.0-r1.ebuild 443 BLAKE2B 7263728f3a730bcba73bb779ab11b4951f1171be0a0c0f2dc0efa3299e33cb0880c33d53672d369c2266816aa8f165b0d0295fa66c7fd92779ab80846428640a SHA512 2ea31641f37460d7951767780868c7e4b582531f7e0a0a732f5ce4d981a559b3f0750dd51c8dfc91154da9e4205114353ad883df35b9910d361bccaceaeb5711
-EBUILD gcc-8.4.0-r2.ebuild 451 BLAKE2B 60cfc227c950d02feec23f57b7eae142484fd5fe6f2a8eb18b4d7e0dd925bd87497eddcfd902e00bcd86877b8e7b0fe9e6ba6ab4da4ad091f03260621e7b5d08 SHA512 61da3282a50732e724ba5a75103dfa31374b8203a5c58ab469d2de4fa14befc5e5ae845c5d4794ec30b2adfe5fba86abebe30532ecd3469160c6da26b2979e6c
+EBUILD gcc-8.4.0-r2.ebuild 450 BLAKE2B c790e74cc1d584a9dcbdf29e12d200a5bd60bfa119533649c04ddc47a272ed11635e25e0fe678ef7281d37eaeaa9d2c67f9d3996df9f780cfef0a7316bfd86af SHA512 856309bb86b77e8c4b4fd9d4ed84c552c1fed88647e6175b32d18078a23c7346255744a4e1242f1a5d315e1717534ee39ecbab27c14446b71a82d3a631048ba2
EBUILD gcc-9.3.0-r1.ebuild 443 BLAKE2B 0f43c582049ee55a5627d2a05e6dec513b4078d57e322fcadcc917056e840db4bd58dab264f068135569c0f06baf75e95d43302e89b2caf4bf4dac420e052872 SHA512 4efda3a2cbf371a688bfecb74369e7215dec1d5e8b72612f13a50644a884e738842f8ea25aa6800931c39bf0571c8f494972f413cc187b967f9b7a533a4237ad
EBUILD gcc-9.3.0-r2.ebuild 447 BLAKE2B 21486596a97d2b46ac76e3f669927fc6ab936fd1ef7ba90b6eeae67880ea68f9fecb19b6fdf8c1e8f8fbcfd7df7c8a6f7e3c353ec3160bbdbcec48cdcf2406e2 SHA512 edc497faaa3e5793e7a90b2e3561b56dd9f60bd5bf742d36154b374755db45667b42e000d37cb62df792bd1586ed309fe42197bb43b2a48043d654ccfa635e99
MISC metadata.xml 2704 BLAKE2B 3e64655ebe03af9038fa2087b8d929e05136f833fe8667d2e1452a5f5140a1ffa64e39eb7e8e26859cf390d3a2b32842e41fa492697acd8cdac1336a34bba33e SHA512 dc9ec372f6feb99232ab0599351430440b4ddc71e2bf2be1ca4cf235337acfef5443e3ca44f12438f1b0f654b8eaaae66622728f6bcd8f15d3db78374ab781df
diff --git a/sys-devel/gcc/gcc-10.2.0-r3.ebuild b/sys-devel/gcc/gcc-10.2.0-r3.ebuild
deleted file mode 100644
index 9bda9722f0fc..000000000000
--- a/sys-devel/gcc/gcc-10.2.0-r3.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PATCH_VER="4"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND=""
-BDEPEND="${CATEGORY}/binutils"
-
-src_prepare() {
- has_version '>=sys-libs/glibc-2.32-r1' && rm -v "${WORKDIR}/patch/23_all_disable-riscv32-ABIs.patch"
- toolchain_src_prepare
-}
diff --git a/sys-devel/gcc/gcc-10.2.0-r4.ebuild b/sys-devel/gcc/gcc-10.2.0-r4.ebuild
deleted file mode 100644
index 1e1a7574abd6..000000000000
--- a/sys-devel/gcc/gcc-10.2.0-r4.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-
-PATCH_VER="5"
-
-inherit toolchain
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND=""
-BDEPEND="${CATEGORY}/binutils"
-
-src_prepare() {
- has_version '>=sys-libs/glibc-2.32-r1' && rm -v "${WORKDIR}/patch/23_all_disable-riscv32-ABIs.patch"
- toolchain_src_prepare
-}
diff --git a/sys-devel/gcc/gcc-11.0.0_pre9999.ebuild b/sys-devel/gcc/gcc-11.0.0_pre9999.ebuild
index 4418b2fb8afc..7734b7517cc4 100644
--- a/sys-devel/gcc/gcc-11.0.0_pre9999.ebuild
+++ b/sys-devel/gcc/gcc-11.0.0_pre9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
PATCH_GCC_VER="11.0.0"
-PATCH_VER="5"
+PATCH_VER="6"
inherit toolchain
diff --git a/sys-devel/gcc/gcc-8.4.0-r2.ebuild b/sys-devel/gcc/gcc-8.4.0-r2.ebuild
index 7de031d31f4a..7eeaf8f532e1 100644
--- a/sys-devel/gcc/gcc-8.4.0-r2.ebuild
+++ b/sys-devel/gcc/gcc-8.4.0-r2.ebuild
@@ -7,7 +7,7 @@ PATCH_VER="3"
inherit toolchain
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND=""
DEPEND="${RDEPEND}
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index c75720d624af..33c9faec4d19 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -2,11 +2,16 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD lld-10.0.1.ebuild 1327 BLAKE2B 1c55c1e99e5e8bedbc1e3ab1b8159ee04e9128f7ddecc2fcb1800e12c62c1543cf16f9fc016eada3773c263f7a86c5199ead1f75d28db9126c6df3de6a9f0fba SHA512 9d22766d1b5915fade4ed73e1a5ba1eeb276d1cca640ba13d76502cf58025e03a96c4c162bbdfa328a29bc612d954771249300fe4724614b910b97f5313693c3
EBUILD lld-11.0.0.ebuild 1396 BLAKE2B f57f7373326fee82fd0816e61ac0c4c45a2efac0cd4261b545c751d023f9986bd36be88e3afda9bee7a8d7b226577e0494fd11236a6683ea9ea2bad7f457efbf SHA512 57c50fd9b83a26dfdfb1732867a74264905241f77d31acf1a82e7b3ef09c4867105ec0ce99dc45b3373bd45285c043858f9befc167c44a8d0f25fa3cd89bce29
EBUILD lld-11.0.1.ebuild 1404 BLAKE2B 0823eb53ad364ab1ac920a9dad28c2bcbd5acf8e0f8b04f6684b5133144e0dc86849c35ff8f56b72f3158f129443509772ba752b80f06517d2f3a5b7dea9a8ec SHA512 7f5c3b5a2c508af7c3f499c9afc525fe860f4e1b0438ce21717db5fccb051cc5e2502fc14739d48ba83c9188a2beb2a655459dbf8242172488fe3d4a12adb7a6
EBUILD lld-11.1.0_rc1.ebuild 1367 BLAKE2B c43f70f1ca73cc07ef53dd7968f55c3b33888fa17d06286245decb3f9d2c67405fdac17a8c62511b2061118ab38e07affa9653c0090dfbb26ecc86947d20fb0a SHA512 470fa0b3b1dedc2f4d1065d2c313d893a9c0c1305844333cc6e413dcca6a3f77559d5e9b1befddcf6f030966e78052f56b1058f048e75b78be0846c2b028c498
+EBUILD lld-11.1.0_rc2.ebuild 1367 BLAKE2B c43f70f1ca73cc07ef53dd7968f55c3b33888fa17d06286245decb3f9d2c67405fdac17a8c62511b2061118ab38e07affa9653c0090dfbb26ecc86947d20fb0a SHA512 470fa0b3b1dedc2f4d1065d2c313d893a9c0c1305844333cc6e413dcca6a3f77559d5e9b1befddcf6f030966e78052f56b1058f048e75b78be0846c2b028c498
EBUILD lld-12.0.0.9999.ebuild 1777 BLAKE2B 69690e21b7c4a63f24b873ae13ab37f57f7b7a4c564be295ed185657508e5ca0fcf108a4f114506cdf793dfb3986f65bedfa3886a0d548827de172217718af01 SHA512 3aa55f77f6c966f6bdce54cade8c957b8ad6a5d3152c6cf1d104c145ea35536dc8ec577c81f476577028a7828eb6401323fe6deb5fcddbac2865f165f81294c3
+EBUILD lld-12.0.0_rc1.ebuild 1777 BLAKE2B d42d2824adbd51168c941fbc949b48ef57f279992c89db56ee07f7d8b7c71d63953ce4d6704b0966db52fd4dfa52dd082058318b0afaee3ed97da24b397bfadd SHA512 56925c7dfed0842fa106e902890d627d990cdb64f61ae2e527dc5b5b77d3c63a0aecbef472b3ee04fefe842bcf861e5cf8df68badcec034c44eeb0d9a556d63d
+EBUILD lld-13.0.0.9999.ebuild 1777 BLAKE2B d42d2824adbd51168c941fbc949b48ef57f279992c89db56ee07f7d8b7c71d63953ce4d6704b0966db52fd4dfa52dd082058318b0afaee3ed97da24b397bfadd SHA512 56925c7dfed0842fa106e902890d627d990cdb64f61ae2e527dc5b5b77d3c63a0aecbef472b3ee04fefe842bcf861e5cf8df68badcec034c44eeb0d9a556d63d
EBUILD lld-9.0.1.ebuild 1323 BLAKE2B 042f875208515a2b9c39289239601e9b573aa2d9603f2bd58652612d44ff9e62b5776a2370eac1b6933f38f6dd085d3ba24749509eeb2084416e78dc4b5f8fe2 SHA512 d0a352fa95f0e5c47edce97ed4344555ee56d09b70db50b79f2b0ce50ab41e71aaa427dd4218f7239bfa56a439d04b9e99d4eabaa07f573617d55ac259721b55
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/lld/lld-11.1.0_rc2.ebuild b/sys-devel/lld/lld-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..d136465d213d
--- /dev/null
+++ b/sys-devel/lld/lld-11.1.0_rc2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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 )
+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_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -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
+}
+
+src_install() {
+ cmake_src_install
+ # LLD has no shared libraries, so strip it all for the time being
+ rm -r "${ED}"/usr/{include,lib*} || die
+}
diff --git a/sys-devel/lld/lld-12.0.0_rc1.ebuild b/sys-devel/lld/lld-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..55857fedba99
--- /dev/null
+++ b/sys-devel/lld/lld-12.0.0_rc1.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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=OFF
+
+ -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
+}
+
+src_install() {
+ cmake_src_install
+ # LLD has no shared libraries, so strip it all for the time being
+ rm -r "${ED}"/usr/{include,lib*} || die
+}
diff --git a/sys-devel/lld/lld-13.0.0.9999.ebuild b/sys-devel/lld/lld-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..55857fedba99
--- /dev/null
+++ b/sys-devel/lld/lld-13.0.0.9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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=OFF
+
+ -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
+}
+
+src_install() {
+ cmake_src_install
+ # LLD has no shared libraries, so strip it all for the time being
+ rm -r "${ED}"/usr/{include,lib*} || die
+}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 50e6b45e99e8..97f887aad0d1 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -2,11 +2,16 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD llvm-common-10.0.1.ebuild 588 BLAKE2B cd416d913d8ef3f7abc35f4d4db088cb116ba1881b6ce10760ad6a7302b91cc128c560ddf9b7d4ba0acbbbf9c88f2fdc57ddb15e117254d4feec03a601a7fb24 SHA512 c0e63e8e0b26e33133aa0982b21fef306e3d07ad07a9d9e6046e5dbe782162ec8ec701064d0db1aa741d61b6146854cd1de2a352938e6b579be22a21dde753fe
EBUILD llvm-common-11.0.0.ebuild 595 BLAKE2B 4c0f992968a6e624cbcd73b430b37fd0ff5c108e6af88b2edda0b94d1370b2857dec11140e14e6b949e6353412e9d50eac610f79ae80ac9a917e6db4754eb36f SHA512 56563e4388614da0e7b9efd0022a1da789db772dd593a3101d4d639677fa0217dc822aa602dce719b0ff547be8f102c1a42e1c05c2fee612f9cece2eec27d7a7
EBUILD llvm-common-11.0.1.ebuild 601 BLAKE2B 570f3217864c54be4846d406b88c16ea8f8f7f8b11fccdd6dd81760cf7fe216cdd991cc5d090a59336bbb4d4eac448b15a809b14c7a248faaebede90cd42145b SHA512 8f85ddbabc6319c75f7e57f3a41d302db2cbcd215919682340d8a421f3117af509fb3c605d0bf79c57a76d226bab34f4ef392550dbe6dd5dd819294db6a7a23f
EBUILD llvm-common-11.1.0_rc1.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
+EBUILD llvm-common-11.1.0_rc2.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
EBUILD llvm-common-12.0.0.9999.ebuild 529 BLAKE2B 07f65b41962ce9384c029cdd72ffaa7aa18afaf1d347a83b4cfc40442cc8e235720a423311ae0b8a208dc461288eb86f8962ea392c9e599dadd1902b12842bbe SHA512 68072c0ef398aac4b06e57c1b72fdb939fb055a4fbf18f702e2ab1e322e400d706582a42addad5dc307e955f1c010ab951c0a8cc4eaa74b4657290bc968a9723
+EBUILD llvm-common-12.0.0_rc1.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
+EBUILD llvm-common-13.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
EBUILD llvm-common-9.0.1.ebuild 588 BLAKE2B cd416d913d8ef3f7abc35f4d4db088cb116ba1881b6ce10760ad6a7302b91cc128c560ddf9b7d4ba0acbbbf9c88f2fdc57ddb15e117254d4feec03a601a7fb24 SHA512 c0e63e8e0b26e33133aa0982b21fef306e3d07ad07a9d9e6046e5dbe782162ec8ec701064d0db1aa741d61b6146854cd1de2a352938e6b579be22a21dde753fe
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/llvm-common/llvm-common-11.1.0_rc2.ebuild b/sys-devel/llvm-common/llvm-common-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-11.1.0_rc2.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.0_rc1.ebuild b/sys-devel/llvm-common/llvm-common-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-12.0.0_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-common/llvm-common-13.0.0.9999.ebuild b/sys-devel/llvm-common/llvm-common-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-13.0.0.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/Manifest b/sys-devel/llvm/Manifest
index e74f25e8ff9b..642a9ad22f0c 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -11,11 +11,16 @@ DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3
DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc9da40911bbe9ee3531c15ada9165e5002b1c2f778cf8735858485ea05a8754e3d3a5f4b15bdd6cb33d64a14692984 SHA512 b6d38871ccce0e086e27d35e42887618d68e57d8274735c59e3eabc42dee352412489296293f8d5169fe0044936345915ee7da61ebdc64ec10f7737f6ecd90f2
DIST llvmorg-11.0.1.tar.gz 122790338 BLAKE2B 0130996b4a8c4d9f757136fd7fb318068c9bfdc565060dec0d4336480c4ab66c4ae3185a7fdb05f13cf9ee8fd4123b09df938881b75d6e5d3689595114b7e32a SHA512 f5e6ef0b3111aae08a89cd01adb2ff4abfa9ef779c68b9190421d0447efd25c2cc00e5aae9f4764805f5fa31434866043d1510ae7389817e28ae53a5442e2fdf
DIST llvmorg-11.1.0-rc1.tar.gz 122793491 BLAKE2B f4777455f5903cffea284eaffd872be6c287c6c1ebbd0c4b5b5473f146d7f5476f3551998a58d3e976ab90cde7b0d05db2b3be97f4e8e2c3474755ff38739268 SHA512 44e281486c44fa1611042ab658b9833a75f9613b7f896863613cfb99de66d13607fb1e9064f42ea3d89ca7951113465a90fd96ca4544262f165f78bd5261f5a8
+DIST llvmorg-11.1.0-rc2.tar.gz 122794772 BLAKE2B ab533f078d9d6c37e27c578866a07896344a0b4cf4ebf6402f4fa490213e017310d1c882bf63e552e99a5b4f6d1d8c01413420713b200bfa6732eff64f3c47a9 SHA512 88d8f1d938f0ba7ec39478d03a35c09a30bea51735276205494265b1061621b3ebcda8ee4211e896783b1b99a377c9fa68046118b0d6cb7fcb7bea1e960f95b7
+DIST llvmorg-12.0.0-rc1.tar.gz 134164708 BLAKE2B d4261ff7d9586b47f4cfda3d2cda4b76534f9e17fbd5cdb8861895b8eb466021962f4608bfcdeb52f8fce78850a994fd5eda0560f7211e5c8d1ac9330a738a36 SHA512 3d07d013d0705bb99f56898cc55d054d0d95aeb53b3c756cfab80b4c9097cc4935bcea89b9efde2e503a899b9fccf0dacc0073c9991c8ea352755c5ec68a757a
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD llvm-10.0.1.ebuild 11889 BLAKE2B e5c81e014cfa7b66d784085f8f2c47d8b604a0e18d95294b6f37739d945ec66ee527a36b417fa633e46fe26daa65bc75a276e95e2734578003294d655e110f2f SHA512 7a88759263f653b2573c085ac43372ad6753c25c3c443f1bdcc59b136b5f5758b815c74c7a2312353f5906fce51c0e05e48d17e44c7e07a63986faf00da5240f
EBUILD llvm-11.0.0.ebuild 12872 BLAKE2B d4c8f01e25c682599419585ae23b498b6ad28e11e93fe35c7a4d7d0a67f45c92fa9289a0606f9b56e5e43162a780bad84bb0ce70f1540cea1358143b685f8d80 SHA512 ef461574bd311482f07e550b0ab18eb3535be9ead64065ced49fa12d7d4e78eb35437ee016910f9d7d1b14ba07231002947fd3a01e88cf1f21185061a1d0cffd
EBUILD llvm-11.0.1.ebuild 12681 BLAKE2B 5ee9376b3cb8ea5ff1537456f6ea3e998af01a6cc43d1f3d4adb465b67de16e870b6351f08a79e1f3c3b5e8032d0bb814b975da696b459c40776760affcabb23 SHA512 a2ebc8020ca2680021e03de2da8ee94ca4cc221e2eff579230fc6b4fad559a62045e493e868c59077f22f78887edf666d4315c6b41f285bce09435986b6b3a57
EBUILD llvm-11.1.0_rc1.ebuild 12602 BLAKE2B d1efac06b7f292a69d10d01d10ab800574054b947a677a2fbedcc9f3eb57af1ad7802b68f68cc634ea7b66736a91aa7310451f73aa296976f7f947788375d44b SHA512 f24943bda4da2ba200634a19c331720af0dda6a24c119bad104ce050844bfbe4a4be326ff0be61ec8987ae9c3f64d0491811f305df1343315dc13b6f1789bbe0
-EBUILD llvm-12.0.0.9999.ebuild 12691 BLAKE2B b63824a7f09b43cbd44e700170ab980780a6f3e99040bc9a19a7229ea2ae3a55d3062b6d00f43f7ed46f5799bd8daa277c06bcd0492ef515fe8ade3f906942c5 SHA512 e1712430643f8f44d9069329e6706461ad1a708435dbf44528efe70c0cf277d2b46e6b7edad18ba97356d71e81ca9c183843ddb7c71e1c4893cb815ad2cabbca
+EBUILD llvm-11.1.0_rc2.ebuild 12602 BLAKE2B d1efac06b7f292a69d10d01d10ab800574054b947a677a2fbedcc9f3eb57af1ad7802b68f68cc634ea7b66736a91aa7310451f73aa296976f7f947788375d44b SHA512 f24943bda4da2ba200634a19c331720af0dda6a24c119bad104ce050844bfbe4a4be326ff0be61ec8987ae9c3f64d0491811f305df1343315dc13b6f1789bbe0
+EBUILD llvm-12.0.0.9999.ebuild 12707 BLAKE2B cbb5c49c529c0f7a148f0312d83e914b75f65fcee53b9140726f80b3c413d07766b858cbdbbecf77e544be9ce31a960cd4c42255188852c8546d7ec3f64aedb0 SHA512 4cfe73d8618ca861b8e69fb7b27193be69d139cde099e6e3a7af2e229644506b84c99aaa51a7f3e6d97b7cfff91b1fe9d2eb8b9dbe4a522caf13f277061309e8
+EBUILD llvm-12.0.0_rc1.ebuild 12707 BLAKE2B cbb5c49c529c0f7a148f0312d83e914b75f65fcee53b9140726f80b3c413d07766b858cbdbbecf77e544be9ce31a960cd4c42255188852c8546d7ec3f64aedb0 SHA512 4cfe73d8618ca861b8e69fb7b27193be69d139cde099e6e3a7af2e229644506b84c99aaa51a7f3e6d97b7cfff91b1fe9d2eb8b9dbe4a522caf13f277061309e8
+EBUILD llvm-13.0.0.9999.ebuild 12707 BLAKE2B cbb5c49c529c0f7a148f0312d83e914b75f65fcee53b9140726f80b3c413d07766b858cbdbbecf77e544be9ce31a960cd4c42255188852c8546d7ec3f64aedb0 SHA512 4cfe73d8618ca861b8e69fb7b27193be69d139cde099e6e3a7af2e229644506b84c99aaa51a7f3e6d97b7cfff91b1fe9d2eb8b9dbe4a522caf13f277061309e8
EBUILD llvm-9.0.1.ebuild 8388 BLAKE2B 502ae7150a7d03c53f181fe4f69ea0f2a37dc94fc5920fab72f65207472c3754db8f9b1449b390121719a611588a46a099b75e8b7956a234ad7bfcff76732bd4 SHA512 d066d32c267ff95eccd39a24e588b6ac526259e5e7ca166a30f6a5a68d544ee433c44d7bfa981129043acd63d761745647ed19569f83ca995c1643ef3ba0fa64
MISC metadata.xml 2563 BLAKE2B ca85030788fb213fc891d895238fd75562cdd25cc5fe4271d709cb1c00ef56b0e8b367dc70cc18f7d185d6fbdb57333e219a984220b60141d28fb4784b2cb94a SHA512 8de68ee7f964e6eb2613bd2ff584f834e0f5a3ae8b303b5f2f10fda718a87af9b8ddfc19399950fe4eb8be515930124ced8018190af0f69da7ec5fe8180a68a2
diff --git a/sys-devel/llvm/llvm-11.1.0_rc2.ebuild b/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
new file mode 100644
index 000000000000..40ecd173e2da
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0_rc2.ebuild
@@ -0,0 +1,516 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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 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.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() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # 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-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-lib
+ 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-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
+ 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.0.9999.ebuild b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
index d51ccdbab14b..11caae9220b5 100644
--- a/sys-devel/llvm/llvm-12.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-12.0.0.9999.ebuild
@@ -279,6 +279,7 @@ get_distribution_components() {
llvm-opt-report
llvm-pdbutil
llvm-profdata
+ llvm-profgen
llvm-ranlib
llvm-rc
llvm-readelf
diff --git a/sys-devel/llvm/llvm-12.0.0_rc1.ebuild b/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
new file mode 100644
index 000000000000..11caae9220b5
--- /dev/null
+++ b/sys-devel/llvm/llvm-12.0.0_rc1.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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.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() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # 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-13.0.0.9999.ebuild b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
new file mode 100644
index 000000000000..11caae9220b5
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0.9999.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..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.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() {
+ # Fix llvm-config for shared linking and sane flags
+ # https://bugs.gentoo.org/show_bug.cgi?id=565358
+ eapply "${FILESDIR}"/9999/0007-llvm-config-Clean-up-exported-values-update-for-shar.patch
+
+ # 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/llvmgold/Manifest b/sys-devel/llvmgold/Manifest
index 133ef2562213..2eb2a3d8b303 100644
--- a/sys-devel/llvmgold/Manifest
+++ b/sys-devel/llvmgold/Manifest
@@ -1,5 +1,6 @@
EBUILD llvmgold-10.ebuild 564 BLAKE2B e50f9488b04a458b347f61f97b14269c0d9ba6440b46580b754efb82c0fac6b97dbbb617441a63539f14d5a25d42d4dd837836e879750561b2b9855105630185 SHA512 2dce5fa9bf42c6d9e55516e8595fba11b01a714b7007d474cbf6d345b95814691bfb4ff9fbdacfe617201cf88d8209d853f85970a443e7236d9ad84611d06064
EBUILD llvmgold-11.ebuild 571 BLAKE2B 43b8417652b96027c4556aa936f6bd00e81e9826a2002afebd0f7ca3803337a33eb5e31d3c454bc094f5bdecbe30827bfe4a5c65a86c511478ff5ab0b4d0e4df SHA512 717119361f1c86e436947ea74ff5a574c6c936d1bfd6d9ef30e3277094994e69bdce9c7f496192667a28de44443f819e94f719004ef2dbf6006f2c755a11d5a5
EBUILD llvmgold-12.ebuild 544 BLAKE2B dbe6603bb3adbf33258ce70048409a46b6489f40d557e877df99fb918c42024d45abc38eccd340c534cad8944c9b24e5ac8b9abdc5d37e06397086d621aa44d7 SHA512 f49451513d6fc3e4e14f6b2948404a41a3fd12dc1d34eed0a6e6a00299538141ada7360b17f2d0a7c19ea4ddf584a0dbdd2a33cbfea3f7a0e6da1d12dd506542
+EBUILD llvmgold-13.ebuild 544 BLAKE2B 30824a2e7dfa3cd1d94a6edb202e8ee4ab1f58e42c2b758f8f70672ae5e0d5f28b90d3b8e3335a603944bf198bbe96da99cb99012c4476ad8d04dfcb957fa55f SHA512 0d7c2e55023f389fb43d92dbcb5002738010142cfe637bedf4277240e09c2d644f4601d0e1ff7f1412902a72f4df7e3234fa3a53e401bbdc6c6a5425f78f724a
EBUILD llvmgold-9.ebuild 564 BLAKE2B e50f9488b04a458b347f61f97b14269c0d9ba6440b46580b754efb82c0fac6b97dbbb617441a63539f14d5a25d42d4dd837836e879750561b2b9855105630185 SHA512 2dce5fa9bf42c6d9e55516e8595fba11b01a714b7007d474cbf6d345b95814691bfb4ff9fbdacfe617201cf88d8209d853f85970a443e7236d9ad84611d06064
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/llvmgold/llvmgold-13.ebuild b/sys-devel/llvmgold/llvmgold-13.ebuild
new file mode 100644
index 000000000000..3bb1b5358af3
--- /dev/null
+++ b/sys-devel/llvmgold/llvmgold-13.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="LLVMgold plugin symlink for autoloading"
+HOMEPAGE="https://llvm.org/"
+SRC_URI=""
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+PROPERTIES="live"
+
+RDEPEND="sys-devel/llvm:${PV}[gold]
+ !sys-devel/llvm:0"
+
+S=${WORKDIR}
+
+src_install() {
+ dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
+ dosym "../../../../lib/llvm/${PV}/$(get_libdir)/LLVMgold.so" \
+ "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
+}