summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin9302 -> 9299 bytes
-rw-r--r--sys-devel/bc/Manifest2
-rw-r--r--sys-devel/bc/files/bc-1.07.1-no-ed-its-sed.patch3
-rw-r--r--sys-devel/binutils-hppa64/Manifest13
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.35.1-r1.ebuild7
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.35.2.ebuild439
-rw-r--r--sys-devel/binutils-hppa64/binutils-hppa64-2.36.1.ebuild (renamed from sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild)7
-rw-r--r--sys-devel/binutils-hppa64/metadata.xml1
-rw-r--r--sys-devel/binutils/Manifest15
-rw-r--r--sys-devel/binutils/binutils-2.35.1-r1.ebuild7
-rw-r--r--sys-devel/binutils/binutils-2.35.2.ebuild448
-rw-r--r--sys-devel/binutils/binutils-2.36.1.ebuild (renamed from sys-devel/binutils/binutils-2.36.ebuild)7
-rw-r--r--sys-devel/binutils/binutils-9999.ebuild7
-rw-r--r--sys-devel/binutils/metadata.xml1
-rw-r--r--sys-devel/bmake/Manifest2
-rw-r--r--sys-devel/bmake/files/bmake-20201117-tests.patch16
-rw-r--r--sys-devel/clang-common/Manifest2
-rw-r--r--sys-devel/clang-common/clang-common-11.1.0_rc3.ebuild24
-rw-r--r--sys-devel/clang-runtime/Manifest1
-rw-r--r--sys-devel/clang-runtime/clang-runtime-11.1.0_rc3.ebuild24
-rw-r--r--sys-devel/clang/Manifest2
-rw-r--r--sys-devel/clang/clang-11.1.0_rc3.ebuild439
-rw-r--r--sys-devel/gdb/Manifest6
-rw-r--r--sys-devel/gdb/gdb-10.1.ebuild115
-rw-r--r--sys-devel/gdb/gdb-9999.ebuild115
-rw-r--r--sys-devel/gdb/metadata.xml1
-rw-r--r--sys-devel/lld/Manifest2
-rw-r--r--sys-devel/lld/lld-11.1.0_rc3.ebuild65
-rw-r--r--sys-devel/llvm-common/Manifest2
-rw-r--r--sys-devel/llvm-common/llvm-common-11.1.0_rc3.ebuild27
-rw-r--r--sys-devel/llvm-roc/Manifest6
-rw-r--r--sys-devel/llvm-roc/files/llvm-roc-4.0.0-hip-location.patch39
-rw-r--r--sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild (renamed from sys-devel/llvm-roc/llvm-roc-4.0.0-r1.ebuild)0
-rw-r--r--sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild94
-rw-r--r--sys-devel/llvm/Manifest2
-rw-r--r--sys-devel/llvm/llvm-11.1.0_rc3.ebuild516
-rw-r--r--sys-devel/rust-std/Manifest4
-rw-r--r--sys-devel/rust-std/rust-std-1.49.0.ebuild154
-rw-r--r--sys-devel/rust-std/rust-std-1.50.0.ebuild154
39 files changed, 2607 insertions, 162 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 1cce436bfaff..427f60c45d3c 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/bc/Manifest b/sys-devel/bc/Manifest
index 34c233ce1680..ae078d432830 100644
--- a/sys-devel/bc/Manifest
+++ b/sys-devel/bc/Manifest
@@ -1,6 +1,6 @@
AUX bc-1.06.95-mem-leak.patch 588 BLAKE2B b81094c82c02c47bc60d949f8aa50e1a9d00bb678d6759f9ac3a695d2e01d38b942a426a024f2e3023d4c67b3c7b40f1c968a9b066573da99823c0bccbcfbf6e SHA512 3a1f354b8979586b39e6e3f93f2df7d38c2f221fb00ceef7db6cb6b51712c0fc27dbbd75635a8e4e9e2f8f100c5a39cdc1d4c1cfc32bd6c406af94edef37e40d
AUX bc-1.06.95-void_uninitialized.patch 351 BLAKE2B ad293d5efcebc2cf85a2d1a99e850f5c104e57b92cb3070739719f578d3eac38bfb92ba4b5cd5040fe8a711db5b77a4a673e080e27b233878adf1457cbc49073 SHA512 6d2803d831d8a3137c3d867606f8d40455a6f984bfe844e10e276e24cbd5d9fd1ff21b81ea91775dd7e1e55484cdde7bf859fa3e9a17887bdf548b32cdc46dae
-AUX bc-1.07.1-no-ed-its-sed.patch 441 BLAKE2B 52a6b47ea4d4847ca53e731a1ddc5ba4d5c9e41ab46e50f874247dd4e4f4ad039fd4e9631d1eab5cad03947ea570298f031f106d0474d776e80275a46ba12e54 SHA512 43c8e2e30def9f35174559bc8fa4dd3bc9ea4794e716f3405399f8d36a690303832f9d3fe762beb6d4632df66d0d8fa6153e1c10994239289af915bf493e0e75
+AUX bc-1.07.1-no-ed-its-sed.patch 452 BLAKE2B cb45680860706b3c240593bf8001be836a835cf749c1d1fa95d6821f069e118779d9f05e44d70acdac8d573fc2967eff0f3c6fb3e1e54a4c8d4b6cf657dcc003 SHA512 4e7481895d61edb51dfc40b88e4f37cb492d8566083a55713dac7a66f065ab2357f8f909acd44e34997b2e09c54dffcbd434b731015c1e1d331ff1829687ec07
AUX bc-1.07.1-use-system-bc.patch 556 BLAKE2B 822c525fa2fd90822498fad72b9cda91b2af5d0318fc33e74dd407e3bc2a29c8d12b9cc38e80ebd7f3a084f78e302efe38b44eb70c780b8a2a76895d4d7afddb SHA512 2074adf83ac9d7c2210fc62cc5b98bde3a4f6a4d4e4cb81eb95d32ad7a8432cffc21e11b63a7b3f7090f5b814d739dabfbd6c891ec6f5bf0a9d27ace9d0582d6
DIST bc-1.06.95.tar.bz2 290069 BLAKE2B 774f07b1f85b4de7c4707baa355caed5a9fc7b3a5ee1a14f4e9fd59f47a4bbdf34bcb76dc05de4dd8c65615284c3588ad7961fa493ed559a0e8880647835bda0 SHA512 16ec13f87ef76ad4de77d378ef8d65a582adca1bf661c9d7675e78d940680c77e81a00a01817fde7c1ad1524562d6f933caa5c42a0686f3f85aadbb39393afb1
DIST bc-1.07.1.tar.gz 419850 BLAKE2B dcedc193be5521aa0fa3a19746233ed65bc1fe8ef12e15155341706de6fbeecb6dd7ee4ab11e2d4b3aca2ae7097cce89e389b3573493bbc893e00b4ed3239594 SHA512 02126d0db6b6ed06d56cfc292d6f5475ff1e574779d7e69c7809bbb1e13f946f57ea07da2a7666baa092507a951a822044b0970075f75eefe65a5c1999b75d34
diff --git a/sys-devel/bc/files/bc-1.07.1-no-ed-its-sed.patch b/sys-devel/bc/files/bc-1.07.1-no-ed-its-sed.patch
index ce8e456186b7..2fc7519191fb 100644
--- a/sys-devel/bc/files/bc-1.07.1-no-ed-its-sed.patch
+++ b/sys-devel/bc/files/bc-1.07.1-no-ed-its-sed.patch
@@ -6,8 +6,9 @@ to use sed instead of ed. the changes are straight forward:
--- a/bc/fix-libmath_h
+++ b/bc/fix-libmath_h
-@@ -1,9 +1,6 @@
+@@ -1,9 +1,7 @@
-ed libmath.h <<EOS-EOS
++#!/bin/sh
+sed -i libmath.h -e '
1,1s/^/{"/
-1,\$s/\$/",/
diff --git a/sys-devel/binutils-hppa64/Manifest b/sys-devel/binutils-hppa64/Manifest
index 8577a2f3e9af..6770bd4d08e4 100644
--- a/sys-devel/binutils-hppa64/Manifest
+++ b/sys-devel/binutils-hppa64/Manifest
@@ -6,11 +6,14 @@ DIST binutils-2.34-patches-6.tar.xz 103028 BLAKE2B d0e866d0941d2b550c7d7f23530c6
DIST binutils-2.34.tar.xz 21637796 BLAKE2B 07dd23916a7d27f71c3f160c8c16abe2bd4fce294c738c665a012a3be6a87dbe8160d0c38740524f9025e01d438e99b2a94bcf9f9f79ee214f5dd033de8aad3d SHA512 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd
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
+DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7ed8fbc43b60a58be1dfed05eae8a8fee857241d9e112ae673da6fc9778767675f536ece818cb85567367bb1c8f87a0693623f SHA512 35de5f227c745c5fb800784fe657b2a6216faf43e2498e8481e7b0dc79b0d2f86b3b6a10b896e060319a77a51c61d2e1b7a951ae962b3a6ef8c1a2a261d9bb6c
+DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
+DIST binutils-2.36.1-patches-1.tar.xz 11392 BLAKE2B 8112dda3f000d29952cbf58101f842ca519054bf9de6e22908881fe4d46cc1ea9a26db74ab00c64aedd3746eb058c19a978b8dc025ad8de07b6365c70a1803b2 SHA512 c6f5645b09d0c149f2eef8e992ff7181716dfb961f1155207a1349168f2d2fb76857cc224c27b4d764cfbc4ddec0630ef8c0a91d7bac489896f28de64651b367
+DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
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 12203 BLAKE2B 382ae2ec708e84aa69633aa64666e7b853903e63dfbd990d99dfaa4e4709e76dfe130397fb893892602d6a23c6278d73e547a5202589d2d2aa038b9bd458bdf5 SHA512 f5318c41f475f177591d21cce9c01509f674197d49f6accba271c4e3ee58b5f8c42832db70f0ebff5e492ee08a152320171e900116be2a1e4338099e32938099
-EBUILD binutils-hppa64-2.36.ebuild 12206 BLAKE2B 26debdbaa7c693fe5aa42fb61630144486568c4de1b0d4f2fc6d2f46997b6a3b9405803b1b22900bebd64bbfbbebc768da6a15c5b56b85277b674d1b5ec0d6d5 SHA512 34bbf63b477ae3dfa1675f140397ec2fdb7c03088d49b60b1a8889ae4e8866a841d9b20e72dd58361d15269decdc10411cba3dd39137af5905581ac7baaa3bf7
-MISC metadata.xml 691 BLAKE2B ce21a0c95e69ad1f656373ec843f43ff5300b0145e0d89b92c7d7ae664886db9ba5afd4c39c7d7fe0d4f898b43d98bab6ba562b06945e5016a2abf62e1c4119f SHA512 97ff085ad4b3273a5867d37bb70dc9586a7bc3ffbf9ca1b6c68e224c340afe102afbfc034b339533732afd032a7f8be584e31c8572cd76df90f4db93bac3baa3
+EBUILD binutils-hppa64-2.35.1-r1.ebuild 12393 BLAKE2B 52eb4c3c75920657e10a20023df6d9b848fcfe4014f2d6f50df85ec410ee08e571b3c92228aed0086e814352e901193f8c9ea3729b61e5591e977c79f2153d09 SHA512 d9905891fa19ecd7175d7db2002bd1d927611707827732f940a6fff7a558c56da620225d7f8dc09ac1fdb7817da5ed0c7b8ae7fa7f0f86c7ac3c36583115d653
+EBUILD binutils-hppa64-2.35.2.ebuild 12394 BLAKE2B 418cf14a934738593ddbaf20ad55d4d50c0c5af0abc500fa7a95874dceed3cfe6518895e275e4cb782f3a41f3934bf54e34816596575a637e27bd0527463ed26 SHA512 94a87156986f3e59156fd64a0592dfd2886965f8de44c0c1c5f903e1b8a9a32c9ee76bc975fe863d57a956dad00287350db17bc43237d88c3b9518f297ace29e
+EBUILD binutils-hppa64-2.36.1.ebuild 12396 BLAKE2B 2481e18aafed7bca0175fe03769affd89fcb5f6ce71b14bce641ff0114a02279c29e91846e5824f7b285e5befdc1ee1815d15b0b8de443abac503b7bed592b53 SHA512 963aa742e0d208434ff6145f50f7051602f18b12683490f9e60637c6ee274be3cdaf46c31b6046e525d98c252f3b5cab51ce63510ffd8dfa9765d78865763b59
+MISC metadata.xml 767 BLAKE2B 1b1533f4fce4b4ea9e2bebbe19c55d55d226120dd255fa421b46971ac554696209fa9df92e40279561876895392827415ee77f7502fec5b0ac684a60f0697de6 SHA512 3aa7ebfd1f6efc14d1d6b19406e08c100854c1e1b933cd8682e90825e8fcb71ec3086e2772422931fe88797c1b54d02422e0700488637f6bd594bf6d1d6181a9
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 5a302e9061f3..303efe28c2d3 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
@@ -10,7 +10,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here:
@@ -253,6 +253,11 @@ src_configure() {
# avoid automagic dependency on (currently prefix) systems
# systems with debuginfod library, bug #754753
--without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.35.2.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.35.2.ebuild
new file mode 100644
index 000000000000..97aa5834c6b7
--- /dev/null
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.35.2.ebuild
@@ -0,0 +1,439 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+export CTARGET=hppa64-${CHOST#*-}
+
+inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
+
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="https://sourceware.org/binutils/"
+LICENSE="GPL-3+"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test"
+REQUIRED_USE="default-gold? ( gold )"
+
+# Variables that can be set here:
+# PATCH_VER - the patchset version
+# Default: empty, no patching
+# PATCH_BINUTILS_VER - the binutils version in the patchset name
+# - Default: PV
+# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
+# for the patchsets
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+case ${PV} in
+ 9999)
+ EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ inherit git-r3
+ S=${WORKDIR}/binutils
+ EGIT_CHECKOUT_DIR=${S}
+ SLOT=${PV}
+ ;;
+ *)
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
+ SLOT=$(ver_cut 1-2)
+ KEYWORDS="-* ~hppa"
+ ;;
+esac
+
+#
+# The Gentoo patchset
+#
+PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+PATCH_DEV=${PATCH_DEV:-slyfox}
+
+[[ -z ${PATCH_VER} ]] || SRC_URI="${SRC_URI}
+ https://dev.gentoo.org/~${PATCH_DEV}/distfiles/binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz"
+
+#
+# The cross-compile logic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+#
+# The dependencies
+#
+RDEPEND="
+ >=sys-devel/binutils-config-3
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( sys-apps/texinfo )
+ test? ( dev-util/dejagnu )
+ nls? ( sys-devel/gettext )
+ sys-devel/flex
+ virtual/yacc
+"
+
+RESTRICT="!test? ( test )"
+
+MY_BUILDDIR=${WORKDIR}/build
+S=${WORKDIR}/${P/-hppa64/}
+
+src_unpack() {
+ case ${PV} in
+ *9999)
+ git-r3_src_unpack
+ ;;
+ *)
+ ;;
+ esac
+ default
+ mkdir -p "${MY_BUILDDIR}"
+}
+
+src_prepare() {
+ if [[ ! -z ${PATCH_VER} ]] ; then
+ einfo "Applying binutils-${PATCH_BINUTILS_VER} patchset ${PATCH_VER}"
+ eapply "${WORKDIR}/patch"/*.patch
+ fi
+
+ # This check should probably go somewhere else, like pkg_pretend.
+ if [[ ${CTARGET} == *-uclibc* ]] ; then
+ if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
+ die "sorry, but this binutils doesn't yet support uClibc :("
+ fi
+ fi
+
+ # Make sure our explicit libdir paths don't get clobbered. #562460
+ sed -i \
+ -e 's:@bfdlibdir@:@libdir@:g' \
+ -e 's:@bfdincludedir@:@includedir@:g' \
+ {bfd,opcodes}/Makefile.in || die
+
+ # Fix locale issues if possible #122216
+ if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
+ einfo "Fixing misc issues in configure files"
+ for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
+ ebegin " Updating ${f/${S}\/}"
+ patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
+ || eerror "Please file a bug about this"
+ eend $?
+ done
+ fi
+
+ # Fix conflicts with newer glibc #272594
+ if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
+ sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c
+ fi
+
+ # Apply things from PATCHES and user dirs
+ default
+
+ # Run misc portage update scripts
+ gnuconfig_update
+ elibtoolize --portage --no-uclibc
+}
+
+toolchain-binutils_bugurl() {
+ printf "https://bugs.gentoo.org/"
+}
+toolchain-binutils_pkgversion() {
+ printf "Gentoo ${PV}"
+ [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
+}
+
+src_configure() {
+ # Setup some paths
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ TOOLPATH=/usr/${CHOST}/${CTARGET}
+ else
+ TOOLPATH=/usr/${CTARGET}
+ fi
+ BINPATH=${TOOLPATH}/binutils-bin/${PV}
+
+ # Make sure we filter $LINGUAS so that only ones that
+ # actually work make it through #42033
+ strip-linguas -u */po
+
+ # Keep things sane
+ strip-flags
+
+ local x
+ echo
+ for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
+ einfo "$(printf '%10s' ${x}:) ${!x}"
+ done
+ echo
+
+ cd "${MY_BUILDDIR}"
+ local myconf=()
+
+ if use plugins ; then
+ myconf+=( --enable-plugins )
+ fi
+ # enable gold (installed as ld.gold) and ld's plugin architecture
+ if use gold ; then
+ myconf+=( --enable-gold )
+ if use default-gold; then
+ myconf+=( --enable-gold=default )
+ fi
+ fi
+
+ if use nls ; then
+ myconf+=( --without-included-gettext )
+ else
+ myconf+=( --disable-nls )
+ fi
+
+ myconf+=( --with-system-zlib )
+
+ # For bi-arch systems, enable a 64bit bfd. This matches
+ # the bi-arch logic in toolchain.eclass. #446946
+ # We used to do it for everyone, but it's slow on 32bit arches. #438522
+ case $(tc-arch) in
+ ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
+ esac
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
+
+ is_cross && myconf+=(
+ --with-sysroot="${EPREFIX}"/usr/${CTARGET}
+ --enable-poison-system-directories
+ )
+
+ # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
+ # on everyone in alpha (for now), we'll just enable it when possible
+ has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
+ has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ myconf+=(
+ --prefix="${EPREFIX}"/usr
+ --host=${CHOST}
+ --target=${CTARGET}
+ --datadir="${EPREFIX}"${DATAPATH}
+ --datarootdir="${EPREFIX}"${DATAPATH}
+ --infodir="${EPREFIX}"${DATAPATH}/info
+ --mandir="${EPREFIX}"${DATAPATH}/man
+ --bindir="${EPREFIX}"${BINPATH}
+ --libdir="${EPREFIX}"${LIBPATH}
+ --libexecdir="${EPREFIX}"${LIBPATH}
+ --includedir="${EPREFIX}"${INCPATH}
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ # Newer versions (>=2.27) offer a configure flag now.
+ --enable-relro
+ # Newer versions (>=2.24) make this an explicit option. #497268
+ --enable-install-libiberty
+ --disable-werror
+ --with-bugurl="$(toolchain-binutils_bugurl)"
+ --with-pkgversion="$(toolchain-binutils_pkgversion)"
+ $(use_enable static-libs static)
+ ${EXTRA_ECONF}
+ # Disable modules that are in a combined binutils/gdb tree. #490566
+ --disable-{gdb,libdecnumber,readline,sim}
+ # Strip out broken static link flags.
+ # https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # Change SONAME to avoid conflict across
+ # {native,cross}/binutils, binutils-libs. #666100
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
+
+ # avoid automagic dependency on (currently prefix) systems
+ # systems with debuginfod library, bug #754753
+ --without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+ )
+ echo ./configure "${myconf[@]}"
+ "${S}"/configure "${myconf[@]}" || die
+
+ # Prevent makeinfo from running if doc is unset.
+ if ! use doc ; then
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ cd "${MY_BUILDDIR}"
+ # see Note [tooldir hack for ldscripts]
+ emake tooldir="${EPREFIX}${TOOLPATH}" all
+
+ # only build info pages if the user wants them
+ if use doc ; then
+ emake info
+ fi
+
+ # we nuke the manpages when we're left with junk
+ # (like when we bootstrap, no perl -> no manpages)
+ find . -name '*.1' -a -size 0 -delete
+}
+
+src_test() {
+ cd "${MY_BUILDDIR}"
+ # bug 637066
+ filter-flags -Wall -Wreturn-type
+ emake -k check
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}"
+ # see Note [tooldir hack for ldscripts]
+ emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
+ rm -rf "${ED}"/${LIBPATH}/bin
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ # Newer versions of binutils get fancy with ${LIBPATH} #171905
+ cd "${ED}"/${LIBPATH}
+ for d in ../* ; do
+ [[ ${d} == ../${PV} ]] && continue
+ mv ${d}/* . || die
+ rmdir ${d} || die
+ done
+
+ # Now we collect everything intp the proper SLOT-ed dirs
+ # When something is built to cross-compile, it installs into
+ # /usr/$CHOST/ by default ... we have to 'fix' that :)
+ if is_cross ; then
+ cd "${ED}"/${BINPATH}
+ for x in * ; do
+ mv ${x} ${x/${CTARGET}-}
+ done
+
+ if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/usr/${CHOST}/{include,lib}
+ fi
+ fi
+ insinto ${INCPATH}
+ local libiberty_headers=(
+ # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
+ demangle.h
+ dyn-string.h
+ fibheap.h
+ hashtab.h
+ libiberty.h
+ objalloc.h
+ splay-tree.h
+ )
+ doins "${libiberty_headers[@]/#/${S}/include/}"
+ if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
+ mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/${LIBPATH}/lib
+ fi
+
+ # Generate an env.d entry for this binutils
+ insinto /etc/env.d/binutils
+ cat <<-EOF > "${T}"/env.d
+ TARGET="${CTARGET}"
+ VER="${PV}"
+ LIBPATH="${EPREFIX}${LIBPATH}"
+ EOF
+ newins "${T}"/env.d ${CTARGET}-${PV}
+
+ # Handle documentation
+ if ! is_cross ; then
+ cd "${S}"
+ dodoc README
+ docinto bfd
+ dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+ docinto binutils
+ dodoc binutils/ChangeLog binutils/NEWS binutils/README
+ docinto gas
+ dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+ docinto gprof
+ dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+ docinto ld
+ dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+ docinto libiberty
+ dodoc libiberty/ChangeLog* libiberty/README
+ docinto opcodes
+ dodoc opcodes/ChangeLog*
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
+
+ # Trim all empty dirs
+ find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+
+ # the hppa64 hack; this should go into 9999 as a PN-conditional
+ # tweak the default fake list a little bit
+ cd "${D}"/etc/env.d/binutils
+ sed -i '/FAKE_TARGETS=/s:"$: hppa64-linux":' ${CTARGET}-${PV} || die
+}
+
+pkg_postinst() {
+ # Make sure this ${CTARGET} has a binutils version selected
+ [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
+ binutils-config ${CTARGET}-${PV}
+}
+
+pkg_postrm() {
+ local current_profile=$(binutils-config -c ${CTARGET})
+
+ # If no other versions exist, then uninstall for this
+ # target ... otherwise, switch to the newest version
+ # Note: only do this if this version is unmerged. We
+ # rerun binutils-config if this is a remerge, as
+ # we want the mtimes on the symlinks updated (if
+ # it is the same as the current selected profile)
+ if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
+ local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
+ choice=${choice//$'\n'/ }
+ choice=${choice/* }
+ if [[ -z ${choice} ]] ; then
+ binutils-config -u ${CTARGET}
+ else
+ binutils-config ${choice}
+ fi
+ elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
+ binutils-config ${CTARGET}-${PV}
+ fi
+}
+# Note [slotting support]
+# -----------------------
+# Gentoo's layout for binutils files is non-standard as Gentoo
+# supports slotted installation for binutils. Many tools
+# still expect binutils to reside in known locations.
+# binutils-config package restores symlinks into known locations,
+# like:
+# /usr/bin/${CTARGET}-<tool>
+# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
+# /usr/include/
+#
+# Note [tooldir hack for ldscripts]
+# ---------------------------------
+# Build system does not allow ./configure to tweak every location
+# we need for slotting binutils hence all the shuffling in
+# src_install(). This note is about SCRIPTDIR define handling.
+#
+# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
+# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
+# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
+# Thus we can't just move files around after compilation finished.
+#
+# Our goal is the following:
+# - at build-time set scriptdir to point to symlinked location:
+# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
+# - at install-time set scriptdir to point to slotted location:
+# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
diff --git a/sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild b/sys-devel/binutils-hppa64/binutils-hppa64-2.36.1.ebuild
index f26da6552ae3..e4ac93eb4d76 100644
--- a/sys-devel/binutils-hppa64/binutils-hppa64-2.36.ebuild
+++ b/sys-devel/binutils-hppa64/binutils-hppa64-2.36.1.ebuild
@@ -10,7 +10,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here:
@@ -253,6 +253,11 @@ src_configure() {
# avoid automagic dependency on (currently prefix) systems
# systems with debuginfod library, bug #754753
--without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die
diff --git a/sys-devel/binutils-hppa64/metadata.xml b/sys-devel/binutils-hppa64/metadata.xml
index 028ab8dc65cc..35c85c00a3ae 100644
--- a/sys-devel/binutils-hppa64/metadata.xml
+++ b/sys-devel/binutils-hppa64/metadata.xml
@@ -10,6 +10,7 @@
<name>Gentoo Toolchain Project</name>
</maintainer>
<use>
+ <flag name="cet">Enable Intel Control-flow Enforcement Technology.</flag>
<flag name="default-gold">Set ld to point to ld.gold instead of ld.bfd</flag>
<flag name="gold">Build ld.gold linker</flag>
<flag name="plugins">Enable plugin support in tools</flag>
diff --git a/sys-devel/binutils/Manifest b/sys-devel/binutils/Manifest
index 94a0cf4f414f..a0ec0f75fc54 100644
--- a/sys-devel/binutils/Manifest
+++ b/sys-devel/binutils/Manifest
@@ -11,13 +11,16 @@ DIST binutils-2.34-patches-6.tar.xz 103028 BLAKE2B d0e866d0941d2b550c7d7f23530c6
DIST binutils-2.34.tar.xz 21637796 BLAKE2B 07dd23916a7d27f71c3f160c8c16abe2bd4fce294c738c665a012a3be6a87dbe8160d0c38740524f9025e01d438e99b2a94bcf9f9f79ee214f5dd033de8aad3d SHA512 2c7976939dcf5e8c5b7374cccd39bfe803b1bec73c6abfa0eb17c24e1942574c6bdb874c66a092a82adc443182eacd8a5a8001c19a76101f0c7ba40c27de0bbd
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
+DIST binutils-2.35.2-patches-1.tar.xz 11836 BLAKE2B 0141349c9618992d1ab1e0309f7ed8fbc43b60a58be1dfed05eae8a8fee857241d9e112ae673da6fc9778767675f536ece818cb85567367bb1c8f87a0693623f SHA512 35de5f227c745c5fb800784fe657b2a6216faf43e2498e8481e7b0dc79b0d2f86b3b6a10b896e060319a77a51c61d2e1b7a951ae962b3a6ef8c1a2a261d9bb6c
+DIST binutils-2.35.2.tar.xz 22056908 BLAKE2B 9c392e0db2b482442f9476f30bd80cf2796321cbf7be79cf21af7bef167b6074c4ae009dcf9b438d2f2f4a23381c935176b2cfa85de1a526ab46e0fd844a7ca5 SHA512 9974ede5978d32e0d68fef23da48fa00bd06b0bff7ec45b00ca075c126d6bbe0cf2defc03ecc3f17bc6cc85b64271a13009c4049d7ba17de26e84e3a6e2c0348
+DIST binutils-2.36.1-patches-1.tar.xz 11392 BLAKE2B 8112dda3f000d29952cbf58101f842ca519054bf9de6e22908881fe4d46cc1ea9a26db74ab00c64aedd3746eb058c19a978b8dc025ad8de07b6365c70a1803b2 SHA512 c6f5645b09d0c149f2eef8e992ff7181716dfb961f1155207a1349168f2d2fb76857cc224c27b4d764cfbc4ddec0630ef8c0a91d7bac489896f28de64651b367
+DIST binutils-2.36.1.tar.xz 22772248 BLAKE2B 03fbfbedd6dba2beaa836b1ed254eddd7a54a163d3061fd93edd2b9591cae24ba049b26658c524b5ccecc2f22d431dfa168218d2531aa356945c994fbbe896fa SHA512 cc24590bcead10b90763386b6f96bb027d7594c659c2d95174a6352e8b98465a50ec3e4088d0da038428abe059bbc4ae5f37b269f31a40fc048072c8a234f4e9
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 12616 BLAKE2B 425c617130a659789bafd1b9586795ee5c882137543bb424f3075f9c382055d40a19b39ddc6fe48ca067dfbbe644e54742d4abf70ad96892f2de1e2c8374b6d3 SHA512 1811e1c66dc9c70516da8099a422dda41b2b9778fc89c6683564a61c2058e614c56f12a98326ff6ad3bc14b2e49f7cb8bb8a299e3772a60bd4fa85a8ca673859
-EBUILD binutils-2.36.ebuild 12606 BLAKE2B 994f6e56a554671a0ce97a3ea6bf333e7c9249811a4420efa925b45d4327181f7935ba54a5ead5a51ff792506575841e3519da7a6aab48a74b37390171552ada SHA512 dd28aaf4b71048be1b255eb1941f64947b607d4adf21c36b7c968d6f5a978068cfc6a3fd55bd3585d142e318e2fd2c31d71d04687dc319efc3318b16fed2ef18
-EBUILD binutils-9999.ebuild 12621 BLAKE2B 4974483205aa411089ad0bcfe67d66398884283fbdf6f3df8549a75a9770fcb2cdfe0c99b58a73b0cbab1dfd61cebc1f73eb242b9930de1c93782d07cfef27f4 SHA512 c0b4c3b3cd05f69031c1d33bce59ec277d3bd1b1c445944a5bb53ac06c101b56c523811fb6c179b15d86b3a3370175942454bb367b7aa376e4a5a081be5c7444
-MISC metadata.xml 650 BLAKE2B 5f0547bb9a41a09f28afc7feb1d6f2da32205924d860a88f64a7970a5e24749b961531c023a8647720e119ffbf2bdcab9384f10726a3371a8ec750b808233eaf SHA512 9057a779adcdf1da85c7e26fdd134303e4fe53ba015dda84761f5e4894833ba50f1411c1e96102319479fb1becf6c02e23984737b3660a7c24101d0cf0d404b2
+EBUILD binutils-2.35.1-r1.ebuild 12806 BLAKE2B 48e5c1c2d72d207623959040fcb756bf54c7ae5bb7f7dcc73cacf8c50abd8f8407648e8e17fe13041027c712de14df0af6362b837dcedd27919ef41a12ff7022 SHA512 ca1b42bebcea74bd23682076a69cc98fe8981dfdf90fa17d7f25e196f02a915bda77fba4023621c93bd371390e97dbbc0a05b091ce73fe65d5617a4b732af660
+EBUILD binutils-2.35.2.ebuild 12795 BLAKE2B af37eb6dd1a76ed2998bb234040b949ff160a1c09bba9e359449c2a6c019952263e7b635b18e8581bca9470b81312c5173b77cbc603fa1cf84c3250ca290aed1 SHA512 3cd888e0708f36f7da7272c05905526b968506153f9b729dde8625629c817530ab1358f2890c43349bfbdcb338a6d00850cd5dfd393df6f90dc6e838ead72558
+EBUILD binutils-2.36.1.ebuild 12796 BLAKE2B 33e53f714ddbc47b18be1b835f8d3dcba54f249f5c5d81c518d5ec5b0866be7a657ec27d9e07e4760cf37cb575155ff9975970e02c1626966b3696b29d76794c SHA512 7c64865173b208671d035d6b0dc070938bc73a7e87d5c0f6763254cb1a5a786672df2df73ed87b0a25060f550db4b17bb2589d6db4bca6bc624f35f297330581
+EBUILD binutils-9999.ebuild 12811 BLAKE2B e2e34afd60867af801e379645a92ccee1375cac16b9844792c8642c24d39a4449df9791ac404ac4d8ea3a7f054f64f475bafc6e6fdf32245fd24c953a15433a9 SHA512 4493d0ee24f5bc06184c8febd5418f415fa9c1b256f85a4c37e34b83d1dfc10cb45fce2a75371bbb7aa8253d52701cb48f5414d0f203d45a114e66d617a1c23c
+MISC metadata.xml 726 BLAKE2B 152b58d7d48d653882735395f6cb40b3634b0480c1f9c7ac2bf2055e7f821962c4ee8d7de85f418258a713c1b17fc991cbcfcbe127b91ca2058ef7a71b5b6d17 SHA512 dfb3c44075c587ba6ce24ad280c387d4383b440077c5fa0fb4df1a715e4fdcde3898da866a30df862f8b1975939643f873fddc92fc575f254976d87fc53adbfd
diff --git a/sys-devel/binutils/binutils-2.35.1-r1.ebuild b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
index a98e259e36a6..516f5642244a 100644
--- a/sys-devel/binutils/binutils-2.35.1-r1.ebuild
+++ b/sys-devel/binutils/binutils-2.35.1-r1.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -265,6 +265,11 @@ src_configure() {
# avoid automagic dependency on (currently prefix) systems
# systems with debuginfod library, bug #754753
--without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die
diff --git a/sys-devel/binutils/binutils-2.35.2.ebuild b/sys-devel/binutils/binutils-2.35.2.ebuild
new file mode 100644
index 000000000000..2aff27700144
--- /dev/null
+++ b/sys-devel/binutils/binutils-2.35.2.ebuild
@@ -0,0 +1,448 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
+
+DESCRIPTION="Tools necessary to build programs"
+HOMEPAGE="https://sourceware.org/binutils/"
+LICENSE="GPL-3+"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
+REQUIRED_USE="default-gold? ( gold )"
+
+# Variables that can be set here (ignored for live ebuilds)
+# PATCH_VER - the patchset version
+# Default: empty, no patching
+# PATCH_BINUTILS_VER - the binutils version in the patchset name
+# - Default: PV
+# PATCH_DEV - Use download URI https://dev.gentoo.org/~{PATCH_DEV}/distfiles/...
+# for the patchsets
+
+PATCH_VER=1
+PATCH_DEV=dilfridge
+
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ SLOT=${PV}
+else
+ PATCH_BINUTILS_VER=${PATCH_BINUTILS_VER:-${PV}}
+ PATCH_DEV=${PATCH_DEV:-slyfox}
+ SRC_URI="mirror://gnu/binutils/binutils-${PV}.tar.xz"
+ [[ -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)
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+fi
+
+#
+# The cross-compile logic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+is_cross() { [[ ${CHOST} != ${CTARGET} ]] ; }
+
+#
+# The dependencies
+#
+RDEPEND="
+ >=sys-devel/binutils-config-3
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? ( sys-apps/texinfo )
+ test? (
+ dev-util/dejagnu
+ sys-devel/bc
+ )
+ nls? ( sys-devel/gettext )
+ sys-devel/flex
+ virtual/yacc
+"
+
+RESTRICT="!test? ( test )"
+
+MY_BUILDDIR=${WORKDIR}/build
+
+src_unpack() {
+ if [[ ${PV} == 9999* ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/toolchain/binutils-patches.git"
+ EGIT_CHECKOUT_DIR=${WORKDIR}/patches-git
+ git-r3_src_unpack
+ mv patches-git/9999 patch || die
+
+ EGIT_REPO_URI="https://sourceware.org/git/binutils-gdb.git"
+ S=${WORKDIR}/binutils
+ EGIT_CHECKOUT_DIR=${S}
+ git-r3_src_unpack
+ else
+ unpack ${P}.tar.xz
+
+ cd "${WORKDIR}" || die
+ unpack binutils-${PATCH_BINUTILS_VER}-patches-${PATCH_VER}.tar.xz
+ fi
+
+ cd "${WORKDIR}" || die
+ mkdir -p "${MY_BUILDDIR}" || die
+}
+
+src_prepare() {
+ local patchsetname
+ if [[ ${PV} == 9999* ]] ; then
+ patchsetname="from git master"
+ else
+ patchsetname="${PATCH_BINUTILS_VER}-${PATCH_VER}"
+ fi
+
+ if [[ ! -z ${PATCH_VER} ]] || [[ ${PV} == 9999* ]] ; then
+ if ! use vanilla; then
+ einfo "Applying binutils patchset ${patchsetname}"
+ eapply "${WORKDIR}/patch"
+ einfo "Done."
+ fi
+ fi
+
+ # This check should probably go somewhere else, like pkg_pretend.
+ if [[ ${CTARGET} == *-uclibc* ]] ; then
+ if grep -qs 'linux-gnu' "${S}"/ltconfig ; then
+ die "sorry, but this binutils doesn't yet support uClibc :("
+ fi
+ fi
+
+ # Make sure our explicit libdir paths don't get clobbered. #562460
+ sed -i \
+ -e 's:@bfdlibdir@:@libdir@:g' \
+ -e 's:@bfdincludedir@:@includedir@:g' \
+ {bfd,opcodes}/Makefile.in || die
+
+ # Fix locale issues if possible #122216
+ if [[ -e ${FILESDIR}/binutils-configure-LANG.patch ]] ; then
+ einfo "Fixing misc issues in configure files"
+ for f in $(find "${S}" -name configure -exec grep -l 'autoconf version 2.13' {} +) ; do
+ ebegin " Updating ${f/${S}\/}"
+ patch "${f}" "${FILESDIR}"/binutils-configure-LANG.patch >& "${T}"/configure-patch.log \
+ || eerror "Please file a bug about this"
+ eend $?
+ done
+ fi
+
+ # Fix conflicts with newer glibc #272594
+ if [[ -e libiberty/testsuite/test-demangle.c ]] ; then
+ sed -i 's:\<getline\>:get_line:g' libiberty/testsuite/test-demangle.c
+ fi
+
+ # Apply things from PATCHES and user dirs
+ default
+
+ # Run misc portage update scripts
+ gnuconfig_update
+ elibtoolize --portage --no-uclibc
+}
+
+toolchain-binutils_bugurl() {
+ printf "https://bugs.gentoo.org/"
+}
+toolchain-binutils_pkgversion() {
+ printf "Gentoo ${PV}"
+ [[ -n ${PATCH_VER} ]] && printf " p${PATCH_VER}"
+}
+
+src_configure() {
+ # Setup some paths
+ LIBPATH=/usr/$(get_libdir)/binutils/${CTARGET}/${PV}
+ INCPATH=${LIBPATH}/include
+ DATAPATH=/usr/share/binutils-data/${CTARGET}/${PV}
+ if is_cross ; then
+ TOOLPATH=/usr/${CHOST}/${CTARGET}
+ else
+ TOOLPATH=/usr/${CTARGET}
+ fi
+ BINPATH=${TOOLPATH}/binutils-bin/${PV}
+
+ # Make sure we filter $LINGUAS so that only ones that
+ # actually work make it through #42033
+ strip-linguas -u */po
+
+ # Keep things sane
+ strip-flags
+
+ local x
+ echo
+ for x in CATEGORY CBUILD CHOST CTARGET CFLAGS LDFLAGS ; do
+ einfo "$(printf '%10s' ${x}:) ${!x}"
+ done
+ echo
+
+ cd "${MY_BUILDDIR}"
+ local myconf=()
+
+ if use plugins ; then
+ myconf+=( --enable-plugins )
+ fi
+ # enable gold (installed as ld.gold) and ld's plugin architecture
+ if use gold ; then
+ myconf+=( --enable-gold )
+ if use default-gold; then
+ myconf+=( --enable-gold=default )
+ fi
+ fi
+
+ if use nls ; then
+ myconf+=( --without-included-gettext )
+ else
+ myconf+=( --disable-nls )
+ fi
+
+ myconf+=( --with-system-zlib )
+
+ # For bi-arch systems, enable a 64bit bfd. This matches
+ # the bi-arch logic in toolchain.eclass. #446946
+ # We used to do it for everyone, but it's slow on 32bit arches. #438522
+ case $(tc-arch) in
+ ppc|sparc|x86) myconf+=( --enable-64-bit-bfd ) ;;
+ esac
+
+ use multitarget && myconf+=( --enable-targets=all --enable-64-bit-bfd )
+
+ [[ -n ${CBUILD} ]] && myconf+=( --build=${CBUILD} )
+
+ is_cross && myconf+=(
+ --with-sysroot="${EPREFIX}"/usr/${CTARGET}
+ --enable-poison-system-directories
+ )
+
+ # glibc-2.3.6 lacks support for this ... so rather than force glibc-2.5+
+ # on everyone in alpha (for now), we'll just enable it when possible
+ has_version ">=${CATEGORY}/glibc-2.5" && myconf+=( --enable-secureplt )
+ has_version ">=sys-libs/glibc-2.5" && myconf+=( --enable-secureplt )
+
+ # mips can't do hash-style=gnu ...
+ if [[ $(tc-arch) != mips ]] ; then
+ myconf+=( --enable-default-hash-style=gnu )
+ fi
+
+ myconf+=(
+ --prefix="${EPREFIX}"/usr
+ --host=${CHOST}
+ --target=${CTARGET}
+ --datadir="${EPREFIX}"${DATAPATH}
+ --datarootdir="${EPREFIX}"${DATAPATH}
+ --infodir="${EPREFIX}"${DATAPATH}/info
+ --mandir="${EPREFIX}"${DATAPATH}/man
+ --bindir="${EPREFIX}"${BINPATH}
+ --libdir="${EPREFIX}"${LIBPATH}
+ --libexecdir="${EPREFIX}"${LIBPATH}
+ --includedir="${EPREFIX}"${INCPATH}
+ --enable-obsolete
+ --enable-shared
+ --enable-threads
+ # Newer versions (>=2.27) offer a configure flag now.
+ --enable-relro
+ # Newer versions (>=2.24) make this an explicit option. #497268
+ --enable-install-libiberty
+ # Available from 2.35 on
+ --enable-textrel-check=warning
+ --disable-werror
+ --with-bugurl="$(toolchain-binutils_bugurl)"
+ --with-pkgversion="$(toolchain-binutils_pkgversion)"
+ $(use_enable static-libs static)
+ ${EXTRA_ECONF}
+ # Disable modules that are in a combined binutils/gdb tree. #490566
+ --disable-{gdb,libdecnumber,readline,sim}
+ # Strip out broken static link flags.
+ # https://gcc.gnu.org/PR56750
+ --without-stage1-ldflags
+ # Change SONAME to avoid conflict across
+ # {native,cross}/binutils, binutils-libs. #666100
+ --with-extra-soversion-suffix=gentoo-${CATEGORY}-${PN}-$(usex multitarget mt st)
+
+ # avoid automagic dependency on (currently prefix) systems
+ # systems with debuginfod library, bug #754753
+ --without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
+ )
+ echo ./configure "${myconf[@]}"
+ "${S}"/configure "${myconf[@]}" || die
+
+ # Prevent makeinfo from running if doc is unset.
+ if ! use doc ; then
+ sed -i \
+ -e '/^MAKEINFO/s:=.*:= true:' \
+ Makefile || die
+ fi
+}
+
+src_compile() {
+ cd "${MY_BUILDDIR}"
+ # see Note [tooldir hack for ldscripts]
+ emake tooldir="${EPREFIX}${TOOLPATH}" all
+
+ # only build info pages if the user wants them
+ if use doc ; then
+ emake info
+ fi
+
+ # we nuke the manpages when we're left with junk
+ # (like when we bootstrap, no perl -> no manpages)
+ find . -name '*.1' -a -size 0 -delete
+}
+
+src_test() {
+ cd "${MY_BUILDDIR}"
+
+ # bug 637066
+ filter-flags -Wall -Wreturn-type
+
+ emake -k check
+}
+
+src_install() {
+ local x d
+
+ cd "${MY_BUILDDIR}"
+ # see Note [tooldir hack for ldscripts]
+ emake DESTDIR="${D}" tooldir="${EPREFIX}${LIBPATH}" install
+ rm -rf "${ED}"/${LIBPATH}/bin
+ use static-libs || find "${ED}" -name '*.la' -delete
+
+ # Newer versions of binutils get fancy with ${LIBPATH} #171905
+ cd "${ED}"/${LIBPATH}
+ for d in ../* ; do
+ [[ ${d} == ../${PV} ]] && continue
+ mv ${d}/* . || die
+ rmdir ${d} || die
+ done
+
+ # Now we collect everything intp the proper SLOT-ed dirs
+ # When something is built to cross-compile, it installs into
+ # /usr/$CHOST/ by default ... we have to 'fix' that :)
+ if is_cross ; then
+ cd "${ED}"/${BINPATH}
+ for x in * ; do
+ mv ${x} ${x/${CTARGET}-}
+ done
+
+ if [[ -d ${ED}/usr/${CHOST}/${CTARGET} ]] ; then
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/include "${ED}"/${INCPATH}
+ mv "${ED}"/usr/${CHOST}/${CTARGET}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/usr/${CHOST}/{include,lib}
+ fi
+ fi
+ insinto ${INCPATH}
+ local libiberty_headers=(
+ # Not all the libiberty headers. See libiberty/Makefile.in:install_to_libdir.
+ demangle.h
+ dyn-string.h
+ fibheap.h
+ hashtab.h
+ libiberty.h
+ objalloc.h
+ splay-tree.h
+ )
+ doins "${libiberty_headers[@]/#/${S}/include/}"
+ if [[ -d ${ED}/${LIBPATH}/lib ]] ; then
+ mv "${ED}"/${LIBPATH}/lib/* "${ED}"/${LIBPATH}/
+ rm -r "${ED}"/${LIBPATH}/lib
+ fi
+
+ # Generate an env.d entry for this binutils
+ insinto /etc/env.d/binutils
+ cat <<-EOF > "${T}"/env.d
+ TARGET="${CTARGET}"
+ VER="${PV}"
+ LIBPATH="${EPREFIX}${LIBPATH}"
+ EOF
+ newins "${T}"/env.d ${CTARGET}-${PV}
+
+ # Handle documentation
+ if ! is_cross ; then
+ cd "${S}"
+ dodoc README
+ docinto bfd
+ dodoc bfd/ChangeLog* bfd/README bfd/PORTING bfd/TODO
+ docinto binutils
+ dodoc binutils/ChangeLog binutils/NEWS binutils/README
+ docinto gas
+ dodoc gas/ChangeLog* gas/CONTRIBUTORS gas/NEWS gas/README*
+ docinto gprof
+ dodoc gprof/ChangeLog* gprof/TEST gprof/TODO gprof/bbconv.pl
+ docinto ld
+ dodoc ld/ChangeLog* ld/README ld/NEWS ld/TODO
+ docinto libiberty
+ dodoc libiberty/ChangeLog* libiberty/README
+ docinto opcodes
+ dodoc opcodes/ChangeLog*
+ fi
+
+ # Remove shared info pages
+ rm -f "${ED}"/${DATAPATH}/info/{dir,configure.info,standards.info}
+
+ # Trim all empty dirs
+ find "${ED}" -depth -type d -exec rmdir {} + 2>/dev/null
+}
+
+pkg_postinst() {
+ # Make sure this ${CTARGET} has a binutils version selected
+ [[ -e ${EROOT}/etc/env.d/binutils/config-${CTARGET} ]] && return 0
+ binutils-config ${CTARGET}-${PV}
+}
+
+pkg_postrm() {
+ local current_profile=$(binutils-config -c ${CTARGET})
+
+ # If no other versions exist, then uninstall for this
+ # target ... otherwise, switch to the newest version
+ # Note: only do this if this version is unmerged. We
+ # rerun binutils-config if this is a remerge, as
+ # we want the mtimes on the symlinks updated (if
+ # it is the same as the current selected profile)
+ if [[ ! -e ${EPREFIX}${BINPATH}/ld ]] && [[ ${current_profile} == ${CTARGET}-${PV} ]] ; then
+ local choice=$(binutils-config -l | grep ${CTARGET} | awk '{print $2}')
+ choice=${choice//$'\n'/ }
+ choice=${choice/* }
+ if [[ -z ${choice} ]] ; then
+ binutils-config -u ${CTARGET}
+ else
+ binutils-config ${choice}
+ fi
+ elif [[ $(CHOST=${CTARGET} binutils-config -c) == ${CTARGET}-${PV} ]] ; then
+ binutils-config ${CTARGET}-${PV}
+ fi
+}
+
+# Note [slotting support]
+# -----------------------
+# Gentoo's layout for binutils files is non-standard as Gentoo
+# supports slotted installation for binutils. Many tools
+# still expect binutils to reside in known locations.
+# binutils-config package restores symlinks into known locations,
+# like:
+# /usr/bin/${CTARGET}-<tool>
+# /usr/bin/${CHOST}/${CTARGET}/lib/ldscrips
+# /usr/include/
+#
+# Note [tooldir hack for ldscripts]
+# ---------------------------------
+# Build system does not allow ./configure to tweak every location
+# we need for slotting binutils hence all the shuffling in
+# src_install(). This note is about SCRIPTDIR define handling.
+#
+# SCRIPTDIR defines 'ldscripts/' directory location. SCRIPTDIR value
+# is set at build-time in ld/Makefile.am as: 'scriptdir = $(tooldir)/lib'
+# and hardcoded as -DSCRIPTDIR='"$(scriptdir)"' at compile time.
+# Thus we can't just move files around after compilation finished.
+#
+# Our goal is the following:
+# - at build-time set scriptdir to point to symlinked location:
+# ${TOOLPATH}: /usr/${CHOST} (or /usr/${CHOST}/${CTARGET} for cross-case)
+# - at install-time set scriptdir to point to slotted location:
+# ${LIBPATH}: /usr/$(get_libdir)/binutils/${CTARGET}/${PV}
diff --git a/sys-devel/binutils/binutils-2.36.ebuild b/sys-devel/binutils/binutils-2.36.1.ebuild
index 209b2daf9dbb..3d820fcc6f81 100644
--- a/sys-devel/binutils/binutils-2.36.ebuild
+++ b/sys-devel/binutils/binutils-2.36.1.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -264,6 +264,11 @@ src_configure() {
# avoid automagic dependency on (currently prefix) systems
# systems with debuginfod library, bug #754753
--without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die
diff --git a/sys-devel/binutils/binutils-9999.ebuild b/sys-devel/binutils/binutils-9999.ebuild
index 50d528443d77..014a2d716125 100644
--- a/sys-devel/binutils/binutils-9999.ebuild
+++ b/sys-devel/binutils/binutils-9999.ebuild
@@ -8,7 +8,7 @@ inherit eutils libtool flag-o-matic gnuconfig multilib toolchain-funcs
DESCRIPTION="Tools necessary to build programs"
HOMEPAGE="https://sourceware.org/binutils/"
LICENSE="GPL-3+"
-IUSE="default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
+IUSE="cet default-gold doc +gold multitarget +nls +plugins static-libs test vanilla"
REQUIRED_USE="default-gold? ( gold )"
# Variables that can be set here (ignored for live ebuilds)
@@ -265,6 +265,11 @@ src_configure() {
# avoid automagic dependency on (currently prefix) systems
# systems with debuginfod library, bug #754753
--without-debuginfod
+
+ # Allow user to opt into CET for host libraries.
+ # Ideally we would like automagic-or-disabled here.
+ # But the check does not quite work on i686: bug #760926.
+ $(use_enable cet)
)
echo ./configure "${myconf[@]}"
"${S}"/configure "${myconf[@]}" || die
diff --git a/sys-devel/binutils/metadata.xml b/sys-devel/binutils/metadata.xml
index 66f4f23df42b..165a135caf69 100644
--- a/sys-devel/binutils/metadata.xml
+++ b/sys-devel/binutils/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Toolchain Project</name>
</maintainer>
<use>
+ <flag name="cet">Enable Intel Control-flow Enforcement Technology.</flag>
<flag name="default-gold">Set ld to point to ld.gold instead of ld.bfd</flag>
<flag name="gold">Build ld.gold linker</flag>
<flag name="plugins">Enable plugin support in tools</flag>
diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest
index 1a5ed63cc2b1..b8ca9a1abe76 100644
--- a/sys-devel/bmake/Manifest
+++ b/sys-devel/bmake/Manifest
@@ -1,5 +1,5 @@
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-20201117-tests.patch 796 BLAKE2B e30d5584e9fa36203ed54bd969b174a082f188b191ce0c3990a6b798ea938d71d14a208f7e5e1963cc74ddb85548aec20ba0b63c059c6b042e7cd04298455fc8 SHA512 270bcc2f4353e0aeba97215f92e6cf51e858b24c44d761b1d588d66604c61471b9a69e259900ad68ea71b0efe92942524763a39e4be081e24e246790f92bad78
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
diff --git a/sys-devel/bmake/files/bmake-20201117-tests.patch b/sys-devel/bmake/files/bmake-20201117-tests.patch
index 8955f1d89bd2..185f45232e1e 100644
--- a/sys-devel/bmake/files/bmake-20201117-tests.patch
+++ b/sys-devel/bmake/files/bmake-20201117-tests.patch
@@ -16,3 +16,19 @@
TESTS+= shell-custom
.if exists(/bin/ksh)
TESTS+= shell-ksh
+@@ -287,7 +285,6 @@
+ TESTS+= var-op-assign
+ TESTS+= var-op-default
+ TESTS+= var-op-expand
+-TESTS+= var-op-shell
+ TESTS+= var-op-sunsh
+ TESTS+= var-recursive
+ TESTS+= varcmd
+@@ -300,7 +297,6 @@
+ TESTS+= varmod-edge
+ TESTS+= varmod-exclam-shell
+ TESTS+= varmod-extension
+-TESTS+= varmod-gmtime
+ TESTS+= varmod-hash
+ TESTS+= varmod-head
+ TESTS+= varmod-ifelse
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 38bea12c9fb9..3bdf3cc7256c 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -3,6 +3,7 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
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-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
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
@@ -10,6 +11,7 @@ EBUILD clang-common-11.0.0.ebuild 580 BLAKE2B 3affe14fc54fa11d15701312b51cce47b1
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-11.1.0_rc3.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
diff --git a/sys-devel/clang-common/clang-common-11.1.0_rc3.ebuild b/sys-devel/clang-common/clang-common-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-11.1.0_rc3.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 33eefe4e5746..c6d28794a936 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -3,6 +3,7 @@ EBUILD clang-runtime-11.0.0.ebuild 692 BLAKE2B 5703e482af3e2983d4c7a5c6345fb33d2
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-11.1.0_rc3.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
diff --git a/sys-devel/clang-runtime/clang-runtime-11.1.0_rc3.ebuild b/sys-devel/clang-runtime/clang-runtime-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..b83335d9b8c8
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-11.1.0_rc3.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/Manifest b/sys-devel/clang/Manifest
index 9ca9012f0ce3..d3ab6b1b783e 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -11,6 +11,7 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
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-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
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 3ff2f3db61fc380440be52b1f3b12a823c55f1583a4f7ce7ce8d02e1e168956c5d5d2fb7e2600230066762fba3cdf3021c51ff9b7d8c8c12cbd8095876e298d2 SHA512 4aeff4db14e3da3c69e8054fa028b51a5120981e896524c332ee869810ba2ec8fdefa25e044e9b536e6394b27658a98742756cf7a14f9fe997f7d777d9ca427c
@@ -18,6 +19,7 @@ EBUILD clang-11.0.0.ebuild 11810 BLAKE2B 3e9edfd30b00b692e70ae86d105f3f955119f77
EBUILD clang-11.0.1.ebuild 11816 BLAKE2B 3bb17a7da9d6c7fcb79463ad277a9d289e26daf76c1380bffd2acffeb8c77af4bf1f4bd037d822e5ffb6f18e531590658f7855a79751c1777e4b9511ee3d8a31 SHA512 787e26418f7342b0ca833999cd26e96a15c4313f6aadf3c3255b62206ebe1aa00cc4f5e4c23545dfb01b41b86345f5b77c792186255b4b34df8446e3eab58413
EBUILD clang-11.1.0_rc1.ebuild 11748 BLAKE2B 938af2b457745dc7efbaa75d5185a18619709d412df481521e24d046940d42a8a2e9376c17183798040297b07a6ac1ffcbbe8a1c9cf51e35273f54af2e76b582 SHA512 e61f58c9e67d0bee6c3afdf5acdc9518f0d583bb508c2454deef98ccdb5be92747412c03983179dd913ccd417fd3b7f22d271ab3c100b30d7ad212f3a6163012
EBUILD clang-11.1.0_rc2.ebuild 11817 BLAKE2B baee9189224b04ae293ae21d65daa4574b5642f7bc97292bf9464fd0ffca254d6abf5d6e68f9299dbbd6a3ac8c63a4c9cb7acfeff53ff46d7d4daa26298c2824 SHA512 ca3c34ab80a33b664b5c50a551c39cad2e91778f6bed80f874d09657d08f5a176e334254f2a95f6fd39ad1f212a18bc4ef862000ee790c9f52b507db6c3430d1
+EBUILD clang-11.1.0_rc3.ebuild 11817 BLAKE2B baee9189224b04ae293ae21d65daa4574b5642f7bc97292bf9464fd0ffca254d6abf5d6e68f9299dbbd6a3ac8c63a4c9cb7acfeff53ff46d7d4daa26298c2824 SHA512 ca3c34ab80a33b664b5c50a551c39cad2e91778f6bed80f874d09657d08f5a176e334254f2a95f6fd39ad1f212a18bc4ef862000ee790c9f52b507db6c3430d1
EBUILD clang-12.0.0.9999.ebuild 11683 BLAKE2B 87afbf175dc095b7585e5f5b6211b9ec3c2c23c3d5d02ea147edd0d0ae424ae8b4bbdc4a4b0eed044abb2be628ac4a1cc7cf1d28ed0c3b8e9418ab0fa62bb392 SHA512 ba54b1b430ba957ef3179d38688eac2f90e5243142abac536d1e9e90ffeda14230c7fb407529a67ff46d8cd2418df58c867c0d79c92a4e7929b33457d52b6cc9
EBUILD clang-12.0.0_rc1.ebuild 11683 BLAKE2B 87afbf175dc095b7585e5f5b6211b9ec3c2c23c3d5d02ea147edd0d0ae424ae8b4bbdc4a4b0eed044abb2be628ac4a1cc7cf1d28ed0c3b8e9418ab0fa62bb392 SHA512 ba54b1b430ba957ef3179d38688eac2f90e5243142abac536d1e9e90ffeda14230c7fb407529a67ff46d8cd2418df58c867c0d79c92a4e7929b33457d52b6cc9
EBUILD clang-13.0.0.9999.ebuild 11683 BLAKE2B 87afbf175dc095b7585e5f5b6211b9ec3c2c23c3d5d02ea147edd0d0ae424ae8b4bbdc4a4b0eed044abb2be628ac4a1cc7cf1d28ed0c3b8e9418ab0fa62bb392 SHA512 ba54b1b430ba957ef3179d38688eac2f90e5243142abac536d1e9e90ffeda14230c7fb407529a67ff46d8cd2418df58c867c0d79c92a4e7929b33457d52b6cc9
diff --git a/sys-devel/clang/clang-11.1.0_rc3.ebuild b/sys-devel/clang/clang-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..ec60fe799a77
--- /dev/null
+++ b/sys-devel/clang/clang-11.1.0_rc3.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_{7..9} )
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+ prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC 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/gdb/Manifest b/sys-devel/gdb/Manifest
index 00ae828167ae..68fe9a4f6953 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -1,5 +1,5 @@
AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d217c4d977aed0847fdf125bb13ebc004906d9afb8e3f629c41efccca88df0040015e7799c1fd24de5fb50f62f5bbd90 SHA512 c2bb013e4fcabefddcd8042bd3cbb53471f83182cc8769fe0d19eed80ccc4a83bd84d120006fa25b3b7d0310dc2f2ec6b44a6ff74909cd312b7e491f371777a3
DIST gdb-10.1.tar.xz 21507112 BLAKE2B 69d79cd667ecb6e936b41a03817ade5dd9b761f97bc123d668b5f968d123c37d048fc8ec1289151e989f01bb01a43cc3d8b5b54f1807f1e3eb5f43e6bf0aa55b SHA512 0dc54380435c6853db60f1e388b94836d294dfa9ad7f518385a27db4edd03cb970f8717d5f1e9c9a0d4a33d7fcf91bc2e5d6c9cf9e4b561dcc74e65b806c1537
-EBUILD gdb-10.1.ebuild 7467 BLAKE2B d380247d229b8c6ca3a1d623e0e59116df58a3fc254231b735653a1fc7b614948c0b1e74a46c459f07d16fef3a5b37bbdcce3abf1c276d5b76b01f7e42ab3cf0 SHA512 31e11601a9dba5077b9d6705c29a9c02989f3358664dd6f0cba9df3c8b0466473dca3d69abd736094b7b863ee5cf8f3921c07ab48d4ced46cdddc3f9cb9c810d
-EBUILD gdb-9999.ebuild 7475 BLAKE2B 23785ad23261b53c59329d8576298e767080b7429ee61cc4313c1514b742db97c273cd4dad25034f67638b29da0527fb6a9d0adc000f47514125cd27dbd4c965 SHA512 1ae91ea9bb84e4705d2095f0a2cfa55ac011f01295576da0da6a6e05a0aa7e3973e7fe9e97c9d8f67c82d915da32abcd81ae6814d226b0d9ab5f000a81d3fac0
-MISC metadata.xml 1185 BLAKE2B 524a340429b56430dcebf53fb141336f5c7b785865a9b2f407c548a79b0babb60b7771687a41a048d2877ced1d81ce2ab0e602bc8745abe01cce4d3baff48ea7 SHA512 cbd91ca72a0284fdb5b848af05f05f7e6895f68a35ecabe841c0b3d32aade02cc46f2bcc13c6a6a991097500487666410fff51959b38e278e1adc21d5691b01f
+EBUILD gdb-10.1.ebuild 6938 BLAKE2B 66cc171af7c1f3e498437ab91eae73471ac65a9dc8916327e2a82b524895d070c7f9c3336296c6daf0ea7545bd4343450ba24497b32a741c508aa042c17ffc78 SHA512 ec07817e0c4483bf5341af718febbc0a1f65495d5a44345ae74d4a1b20a43734af42d20821ff1cac99dba9da026b39c041aea91cb1263768a118cbbf4b8a79b8
+EBUILD gdb-9999.ebuild 6946 BLAKE2B fd0befee5a30362660cacd8ad6e720a696117e6227d188faf783fe917fc69cdedaeb1dab1afd8bf89648b382b5fac875d112a2504624a24b92021d73cd812eb0 SHA512 e8196cb19cb137b92995165b5f0755c0071ac0bfeaca2be48bc718c806bb9f27796620943c4ecef1352601d42db072386e025da9f67daf194a85bf30a30a14c4
+MISC metadata.xml 1102 BLAKE2B 76a586ca542d54f382f13416d53729e9a26f05d8ee2e592cf0b0aa1851d0a9546b20d2058107ca250986682c5f4f86c38939f4cd627f36d9223be3589337caad SHA512 047a745a15e2fd6ecbf22d52e3771e0982a10ed2eb41513e30946574e5b6e813088a31bb3c32832181f19fbd4f5061575389723f66b1821e75839a863e422c0e
diff --git a/sys-devel/gdb/gdb-10.1.ebuild b/sys-devel/gdb/gdb-10.1.ebuild
index 940b142caef1..68826d3db64c 100644
--- a/sys-devel/gdb/gdb-10.1.ebuild
+++ b/sys-devel/gdb/gdb-10.1.ebuild
@@ -46,10 +46,9 @@ SLOT="0"
if [[ ${PV} != 9999* ]] ; then
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="cet +client lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
- || ( client server )
"
# ia64 kernel crashes when gdb testsuite is running
@@ -60,15 +59,13 @@ RESTRICT="
"
RDEPEND="
- client? (
- dev-libs/mpfr:0=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- xml? ( dev-libs/expat )
- sys-libs/zlib
- )
+ dev-libs/mpfr:0=
+ >=sys-libs/ncurses-5.2-r2:0=
+ >=sys-libs/readline-7:0=
+ sys-libs/zlib
+ lzma? ( app-arch/xz-utils )
+ python? ( ${PYTHON_DEPS} )
+ xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
)
@@ -80,11 +77,10 @@ DEPEND="${RDEPEND}"
BDEPEND="
app-arch/xz-utils
sys-apps/texinfo
- client? (
- virtual/yacc
- test? ( dev-util/dejagnu )
- nls? ( sys-devel/gettext )
- )"
+ virtual/yacc
+ nls? ( sys-devel/gettext )
+ test? ( dev-util/dejagnu )
+"
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
@@ -146,49 +142,39 @@ src_configure() {
--with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
)
- if use server && ! use client ; then
- # just configure+build in the gdbserver subdir to speed things up
- cd gdbserver
- myconf+=( --program-transform-name='' )
- else
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
+ # gdbserver only works for native targets (CHOST==CTARGET).
+ # it also doesn't support all targets, so rather than duplicate
+ # the target list (which changes between versions), use the
+ # "auto" value when things are turned on, which is triggered
+ # whenever no --enable or --disable is given
+ if is_cross || use !server ; then
+ myconf+=( --disable-gdbserver )
fi
- if ! ( use server && ! use client ) ; then
- # if we are configuring in the top level, then use all
- # the additional global options
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- # Disable guile for now as it requires guile-2.x #562902
- --without-guile
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- )
- fi
+ myconf+=(
+ --enable-64-bit-bfd
+ --disable-install-libbfd
+ --disable-install-libiberty
+ # Disable guile for now as it requires guile-2.x #562902
+ --without-guile
+ --enable-obsolete
+ # This only disables building in the readline subdir.
+ # For gdb itself, it'll use the system version.
+ --disable-readline
+ --with-system-readline
+ # This only disables building in the zlib subdir.
+ # For gdb itself, it'll use the system version.
+ --without-zlib
+ --with-system-zlib
+ --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
+ $(use_with xml expat)
+ $(use_with lzma)
+ $(use_enable nls)
+ $(use_enable source-highlight)
+ $(use multitarget && echo --enable-targets=all)
+ $(use_with python python "${EPYTHON}")
+ $(use_with xxhash)
+ )
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
# https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
@@ -202,13 +188,8 @@ src_configure() {
}
src_install() {
- if use server && ! use client; then
- cd gdbserver || die
- fi
default
- if use client; then
- find "${ED}"/usr -name libiberty.a -delete || die
- fi
+ find "${ED}"/usr -name libiberty.a -delete || die
# Delete translations that conflict with binutils-libs. #528088
# Note: Should figure out how to store these in an internal gdb dir.
@@ -235,11 +216,9 @@ src_install() {
# notes in src_configure above).
[[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
- if use client ; then
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- fi
+ docinto gdb
+ dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
+ gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
docinto sim
dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
if use server ; then
diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild
index bcbe6b1cd2a8..ceab3a731e88 100644
--- a/sys-devel/gdb/gdb-9999.ebuild
+++ b/sys-devel/gdb/gdb-9999.ebuild
@@ -46,10 +46,9 @@ SLOT="0"
if [[ ${PV} != 9999* ]] ; then
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
-IUSE="cet +client lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
- || ( client server )
"
# ia64 kernel crashes when gdb testsuite is running
@@ -60,15 +59,13 @@ RESTRICT="
"
RDEPEND="
- client? (
- dev-libs/mpfr:0=
- >=sys-libs/ncurses-5.2-r2:0=
- >=sys-libs/readline-7:0=
- lzma? ( app-arch/xz-utils )
- python? ( ${PYTHON_DEPS} )
- xml? ( dev-libs/expat )
- sys-libs/zlib
- )
+ dev-libs/mpfr:0=
+ >=sys-libs/ncurses-5.2-r2:0=
+ >=sys-libs/readline-7:0=
+ sys-libs/zlib
+ lzma? ( app-arch/xz-utils )
+ python? ( ${PYTHON_DEPS} )
+ xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
)
@@ -80,11 +77,10 @@ DEPEND="${RDEPEND}"
BDEPEND="
app-arch/xz-utils
sys-apps/texinfo
- client? (
- virtual/yacc
- test? ( dev-util/dejagnu )
- nls? ( sys-devel/gettext )
- )"
+ virtual/yacc
+ nls? ( sys-devel/gettext )
+ test? ( dev-util/dejagnu )
+"
PATCHES=(
"${FILESDIR}"/${PN}-8.3.1-verbose-build.patch
@@ -146,49 +142,39 @@ src_configure() {
--with-gdb-datadir="\${datadir}/gdb/${CTARGET}"
)
- if use server && ! use client ; then
- # just configure+build in the gdbserver subdir to speed things up
- cd gdbserver
- myconf+=( --program-transform-name='' )
- else
- # gdbserver only works for native targets (CHOST==CTARGET).
- # it also doesn't support all targets, so rather than duplicate
- # the target list (which changes between versions), use the
- # "auto" value when things are turned on, which is triggered
- # whenever no --enable or --disable is given
- if is_cross || use !server ; then
- myconf+=( --disable-gdbserver )
- fi
+ # gdbserver only works for native targets (CHOST==CTARGET).
+ # it also doesn't support all targets, so rather than duplicate
+ # the target list (which changes between versions), use the
+ # "auto" value when things are turned on, which is triggered
+ # whenever no --enable or --disable is given
+ if is_cross || use !server ; then
+ myconf+=( --disable-gdbserver )
fi
- if ! ( use server && ! use client ) ; then
- # if we are configuring in the top level, then use all
- # the additional global options
- myconf+=(
- --enable-64-bit-bfd
- --disable-install-libbfd
- --disable-install-libiberty
- # Disable guile for now as it requires guile-2.x #562902
- --without-guile
- --enable-obsolete
- # This only disables building in the readline subdir.
- # For gdb itself, it'll use the system version.
- --disable-readline
- --with-system-readline
- # This only disables building in the zlib subdir.
- # For gdb itself, it'll use the system version.
- --without-zlib
- --with-system-zlib
- --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
- $(use_with xml expat)
- $(use_with lzma)
- $(use_enable nls)
- $(use_enable source-highlight)
- $(use multitarget && echo --enable-targets=all)
- $(use_with python python "${EPYTHON}")
- $(use_with xxhash)
- )
- fi
+ myconf+=(
+ --enable-64-bit-bfd
+ --disable-install-libbfd
+ --disable-install-libiberty
+ # Disable guile for now as it requires guile-2.x #562902
+ --without-guile
+ --enable-obsolete
+ # This only disables building in the readline subdir.
+ # For gdb itself, it'll use the system version.
+ --disable-readline
+ --with-system-readline
+ # This only disables building in the zlib subdir.
+ # For gdb itself, it'll use the system version.
+ --without-zlib
+ --with-system-zlib
+ --with-separate-debug-dir="${EPREFIX}"/usr/lib/debug
+ $(use_with xml expat)
+ $(use_with lzma)
+ $(use_enable nls)
+ $(use_enable source-highlight)
+ $(use multitarget && echo --enable-targets=all)
+ $(use_with python python "${EPYTHON}")
+ $(use_with xxhash)
+ )
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
# https://sourceware.org/ml/gdb-patches/2014-12/msg00058.html
@@ -202,13 +188,8 @@ src_configure() {
}
src_install() {
- if use server && ! use client; then
- cd gdbserver || die
- fi
default
- if use client; then
- find "${ED}"/usr -name libiberty.a -delete || die
- fi
+ find "${ED}"/usr -name libiberty.a -delete || die
# Delete translations that conflict with binutils-libs. #528088
# Note: Should figure out how to store these in an internal gdb dir.
@@ -235,11 +216,9 @@ src_install() {
# notes in src_configure above).
[[ -e gdbserver/gdbreplay ]] && dobin gdbserver/gdbreplay
- if use client ; then
- docinto gdb
- dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
- gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
- fi
+ docinto gdb
+ dodoc gdb/CONTRIBUTE gdb/README gdb/MAINTAINERS \
+ gdb/NEWS gdb/ChangeLog gdb/PROBLEMS
docinto sim
dodoc sim/{ChangeLog,MAINTAINERS,README-HACKING}
if use server ; then
diff --git a/sys-devel/gdb/metadata.xml b/sys-devel/gdb/metadata.xml
index 9595bbc9f457..36cae41ca5c8 100644
--- a/sys-devel/gdb/metadata.xml
+++ b/sys-devel/gdb/metadata.xml
@@ -7,7 +7,6 @@
</maintainer>
<use>
<flag name="cet">Enable Intel Control-flow Enforcement Technology.</flag>
- <flag name="client">Install the main "gdb" program (most people want this)</flag>
<flag name="lzma">Support lzma compression in ELF debug info</flag>
<flag name="multitarget">Support all known targets in one gdb binary</flag>
<flag name="python">Enable support for the new internal scripting language, as well as extended pretty printers</flag>
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index c1e356005fd6..628bec36ddcd 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -3,6 +3,7 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
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-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
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 c1933a141d5460f94cee3bdeac644760aec6d8e5906e3202e54a7a9da441a57d2de33b77d906dea4dcf6d7bac0bef97edd29c0a8d756093e9b56f81fbec07e01 SHA512 5901b7d0f5b2d07234d3287ab003e68b032a42e0887ab0d76fdd7a7af12feaea97a3ce07f06f3f1c428f7b5b4fa7f98daddf0909c8e3c0bf7ab2adc75363ed95
@@ -10,6 +11,7 @@ EBUILD lld-11.0.0.ebuild 1396 BLAKE2B 07a3d3579893dedf289ca83285ee2525eb8c9f540c
EBUILD lld-11.0.1.ebuild 1404 BLAKE2B 69cba34c8e3a96d934004751ad61ce60cd41a25835b4fb849a7d70a0e975ccb5352f64ce581edb3848a4a2c1a45ad5461c95adf40a41301637c54135f4533cc7 SHA512 2a2dcf6d88fb2567b210414bb8c9cd203db9b953dc845e426047dd424920f074abd9a0ed34ae048cf93a12b54dc2919c182fde46197b70fedce2983d28c41365
EBUILD lld-11.1.0_rc1.ebuild 1367 BLAKE2B 58623e80fd719c1d4d882e3e73873c6521cf3c223680a9622470df2b72120f5dc6b26d19cb56fd9e88e5289f27621e11e497ae6aa62f568a14d18615aa000aeb SHA512 a52fb6331666b8acd702068b9f86159cff0c8bf18bca0b87e5d2eb1c15848c1a5d58d87abf4f74d36dd0e252a816b7542c48d0c1d638ad09834b193b05b12991
EBUILD lld-11.1.0_rc2.ebuild 1367 BLAKE2B 58623e80fd719c1d4d882e3e73873c6521cf3c223680a9622470df2b72120f5dc6b26d19cb56fd9e88e5289f27621e11e497ae6aa62f568a14d18615aa000aeb SHA512 a52fb6331666b8acd702068b9f86159cff0c8bf18bca0b87e5d2eb1c15848c1a5d58d87abf4f74d36dd0e252a816b7542c48d0c1d638ad09834b193b05b12991
+EBUILD lld-11.1.0_rc3.ebuild 1367 BLAKE2B 58623e80fd719c1d4d882e3e73873c6521cf3c223680a9622470df2b72120f5dc6b26d19cb56fd9e88e5289f27621e11e497ae6aa62f568a14d18615aa000aeb SHA512 a52fb6331666b8acd702068b9f86159cff0c8bf18bca0b87e5d2eb1c15848c1a5d58d87abf4f74d36dd0e252a816b7542c48d0c1d638ad09834b193b05b12991
EBUILD lld-12.0.0.9999.ebuild 1777 BLAKE2B 564bb221e5d58c20983d9b9f91453dcda59e65506ad3ecaa4db0b2d4a26a166c3a57d3be5e3230448acb57480def21ce0247dcd833909040b0881283bb5c73a2 SHA512 632b98440f211b65ab2d179499d32eface38b43cdbb3bbd8e8b75f78ccaa51c86cd059115ad488d38c7c97ce84e525f0f3038ba4db1f5e1eaf38a40f9024f563
EBUILD lld-12.0.0_rc1.ebuild 1777 BLAKE2B 06bcd235bd80c7b046b6b4707f65036e0aa8776e7ef47c47eaaa84b6f6c90b3eefa07bb57f4a6941a3a3cd531e8274292ed09d3b5f7e09fa7bcb47302d15d3da SHA512 615f86239bd70dd4e6cf80e8f056a75fcb53d2acd5901bb260c852b527af6a12f3d386f07c24106d27afd35e402958787282df1f1f2704238573a3dffca627c7
EBUILD lld-13.0.0.9999.ebuild 1777 BLAKE2B 06bcd235bd80c7b046b6b4707f65036e0aa8776e7ef47c47eaaa84b6f6c90b3eefa07bb57f4a6941a3a3cd531e8274292ed09d3b5f7e09fa7bcb47302d15d3da SHA512 615f86239bd70dd4e6cf80e8f056a75fcb53d2acd5901bb260c852b527af6a12f3d386f07c24106d27afd35e402958787282df1f1f2704238573a3dffca627c7
diff --git a/sys-devel/lld/lld-11.1.0_rc3.ebuild b/sys-devel/lld/lld-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..cb021f0a9790
--- /dev/null
+++ b/sys-devel/lld/lld-11.1.0_rc3.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_{7..9} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="~sys-devel/llvm-${PV}"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ >=dev-util/cmake-3.16
+ $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+ )"
+
+LLVM_COMPONENTS=( lld )
+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/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 97f887aad0d1..bdc2233d9c34 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -3,6 +3,7 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
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-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
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
@@ -10,6 +11,7 @@ EBUILD llvm-common-11.0.0.ebuild 595 BLAKE2B 4c0f992968a6e624cbcd73b430b37fd0ff5
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-11.1.0_rc3.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
diff --git a/sys-devel/llvm-common/llvm-common-11.1.0_rc3.ebuild b/sys-devel/llvm-common/llvm-common-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-11.1.0_rc3.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-roc/Manifest b/sys-devel/llvm-roc/Manifest
index 670b5eaf1bd3..8a45d93d219a 100644
--- a/sys-devel/llvm-roc/Manifest
+++ b/sys-devel/llvm-roc/Manifest
@@ -1,17 +1,19 @@
AUX llvm-roc-3.0.0-add_libraries.patch 648 BLAKE2B a201718b8afdc1ba18ae5d7e85a73fde7ca2bb163eecabab33d37c5815ac6ab8c4f8d960ab40f95ad6df95da626a439fbda1d20c25abb9558a37bcdf64a77e64 SHA512 7a1892c8781146830aa5bf69db20bbe7329634f469aeef0946232b15138b55d332491092ed00a4cf698033f19d8f279f4a5b34f13168d5b9ff7eba4a229e82a0
AUX llvm-roc-3.7.0-current_pos.patch 1292 BLAKE2B 8481497e3f9c46c142034ae4c5455f94e79d9c10cc806945af64252043d46c558a3ba08078239a673937705edfd21ba85f618d1d3a5bff652d45efe4e1e70877 SHA512 6cd41988e4eb654b7040c238bef8fc10d8f5922bac9c0ba112c5ba1b57c769472d0b9deaea6822f2d6bbbfda0a27bed2c1df2bba93a79cb4bf08f24185843981
AUX llvm-roc-3.9.0-tensorflow.patch 1901 BLAKE2B 2fc2d2d77987e8a85c14e1190645f0453f431a6d606336696549e518cf216a15818bc4117bec7c270161ef86f0e6770c63c9fda84e12f3c3334c9dd04fa5ffbf SHA512 151b2f0fc9fd7193fc0af0c088d70b2e36fda484228f3c911dbf1a6c6e836107a8e156a98585dd2ffb6faea0953a05d769e986d72def0f2f530bc3da5c5521d7
-AUX llvm-roc-4.0.0-hip-location.patch 1850 BLAKE2B 718472b6bf81c3727746bb6dfc166e3492f8f0f45f68f8b26e9f70711b20e64f0feef0e531aed9efbd4a36a2d63dc1b65668080541f842a499942e48edba2ad6 SHA512 61f2d9eebdb22bf693ce8d287f0d44393b9395a6fecf482cf30cb96d8612be679860453f07e045a689a45d7edc3cdcd5c0712fb700e67639b7e0e869ee64ed4d
+AUX llvm-roc-4.0.0-hip-location.patch 2956 BLAKE2B 9d139ea887f514ff62c1e0afbe1e27df617c9609f45356f77e851b76fa647a5153454effa5cd58813302c9d44a19aac0817376091c9009c6b06c56bbb2be455f SHA512 fb503f65ae109e81090e1cd92109110ce4b9fc875606ef0102f49ccc0b6e3aeae9970e5be308fd65510678e024fb731dcb037eb0644e2866108ac64cacbec428
AUX llvm-roc-4.0.0-remove-isystem-usr-include.patch 1187 BLAKE2B ec9043f7358373822c3f6ce53d267192470dfbf03cf649a0964bd93b8b843db8e0a794fee8bbf292f882a6a908d0fa26a1303e4b13d92233d60b6b41c461ce9f SHA512 c3e9f96cb393f702cebe4da8a18495b492ae7cab7877576f3f2a4e6555f77c499dff6eded623305c6939ccd2cd00307e1b5ee28f2c34c9fd3128568dbe88c887
DIST llvm-rocm-ocl-3.10.0.tar.gz 123600166 BLAKE2B 9b69dab6c7d1a8dfe0d90c76b54446ec7f8ef6e59c74ad328208ac07dbf8836ae412dc5c32fdcbfc926a2488e81cd8afef71c3ebca6cd8ff745205028ab380d8 SHA512 3bb7dac13d89cadfb61a231564155f49021437b7c35eae8735b88ceae4a23b7950643f17e3bfebb0868621297202a04d41120d50ea52b6ad8980dabe9bc75509
DIST llvm-rocm-ocl-3.7.0.tar.gz 116973132 BLAKE2B c1cc8a3b95292d726626d3cb59ec1b96549682bfcbec16030e47cf1318c6ea01bc76f3349f012ce4f1e4d8b9fe192c51a025c2d08cf593622c61fe7c61969ba6 SHA512 0626075bedb3898c96c0bb0be7a2aba4662050a1c738115f661bedc03d744ace7a4581b55c6325060740c13a0e50e72e09272bb02c1186c2c4a40fc9b961dcbe
DIST llvm-rocm-ocl-3.8.0.tar.gz 117004300 BLAKE2B 13c3213f0fb951fb9d574e8f6d76bb6c632fecadfe93dbe68a9720baa22e35aa3269deef8b533c5a5ff50a2c1ee3dd7a1ea0fae4b8ab8573ec5bfc5ca5d04f4f SHA512 4eca387a132c9d1237ebec7c80319e99c80088766209d05a697d09890f4a82c56ba5f48a5c8c8749bb051c177bb5eab67e00405b04d3191681d0ac7cf1ae868c
DIST llvm-rocm-ocl-3.9.0.tar.gz 123591368 BLAKE2B 54b44d705e7704921df1914bac6dc1da8e420f9383efb698a9cf6a339b653d71cad29aa077a9e24d6764ca81fb8dc55fa70abb0cfac004d40f7d811e20ec9945 SHA512 3404390506b33c1de1d05980fafb219692985f38b52d852e9a47ab94e57228caa25ccd0d0d69da656281de32c75e001f60cb9f22453e70fea7b39d065d4333af
DIST llvm-rocm-ocl-4.0.0.tar.gz 123595983 BLAKE2B 69dd47a50a53cf7d8168f872778bcda0e028907c2341b165f40152bdf03b668ee6c209dc60fa1018dde2a946d891f15eb92a38cfbc12bb5798dd132c1ce79bf1 SHA512 2ac3d643e0bee72239089003cd2889711a7cd58dc588467fb0ca0a50bec264fda992aa2e3352d5210011a9dc1eea4dd9eacdc7d0c313cd69c7b491df126a4e4e
+DIST llvm-rocm-ocl-4.0.1.tar.gz 123608276 BLAKE2B dd5a4d6bc198c7fb6fdc2514cd8c4533a2df6ded7a574c9b4762cda3cb65498a464a0e78427db94db05b468a29ce78d3d8131ac7c6e42953fc503896732474e3 SHA512 d23dceaee2badf46cda27aa725bce5b82bab2fba7d1c2220fedb4795eee455de5077b4ff7299ecd6850eeb0bbdb131ea12a699357f373aef818758d845550f04
EBUILD llvm-roc-3.10.0.ebuild 1536 BLAKE2B 60a1d393a5df2291d971e67f9bbd2675611f935530410e9f9f18cc2178606de298266200c258c2d23bd857198ff41b292d072d0e2c03154b9a640a9ecabf94af SHA512 46771c99d57027271c61dc45d057ee5848745affa5018d218da166dfd4c20f58a38ab2dfede1c42ccb306264b0c81ea6d267353bad34cb6a0d34c2d7255a3608
EBUILD llvm-roc-3.7.0-r1.ebuild 1397 BLAKE2B 08aec56b8ab26093f28a9118ca043adb35dcb84ae5899da5890cbeecb5d10f8d6b08e767a490272a5f35d1b3a5ee8d912a52b448ee57582cda9f99fce57ec8ec SHA512 745f2a9fa18bc3b9d76a324beb1e5165f9be8f720ef133b35e1509c08c08e48872ec4c7402e52d29a3b493e27729a43081fd0e90afe90d30b64d6da3f046e824
EBUILD llvm-roc-3.8.0.ebuild 1492 BLAKE2B 73fd9fd2c47a18b5de44222b84fead548f85b4e67c18838050c52917b6836debee77bc83db6aa0a378516b48a56e5daaac53dde84bdbe1dbefd02494b06498d8 SHA512 d45f0e60c2f12e9b98425310fe370aeeb5d29cd24bfa83b1b908bcbc25866a49e6e1fc7facb04e699bd897f1960a394f2e3a4c5a8308ad9af6177f735dc40631
EBUILD llvm-roc-3.9.0.ebuild 1529 BLAKE2B 07aac1728864214e61ed45cee3ca718c7830835502fe9e6c1e5ba5d6fc8303f3b644b0bb3476f8a1adcaabf09e961b3b55bfce34312b953e8ba855b7f36cdecb SHA512 5b9755c9c06ed465b58d8ca7c677211c04cb05eafaffee1e558b26d3d3bc033a1b8d6b1b3e69732441edd9f14cbf608da919f4eac3e283f5f4226dc332ffb68c
-EBUILD llvm-roc-4.0.0-r1.ebuild 2374 BLAKE2B 3944380f53d89d30e8d93314f37a191c37359095dc10c23ce9ad85cc8e9b25eaf86907fa48cd9bf2ae0adc2348d57733bc56b134fa106104e84cae34b2f6432d SHA512 2204600e6e06c08baab1fa655e1d818e0b8b8bbb057b5d8cd838e7206f47ad0af1302f38d4bbf1420c566d5d2bc1023727a695244bc7e0fccf56ec592ddbe5f9
+EBUILD llvm-roc-4.0.0-r2.ebuild 2374 BLAKE2B 3944380f53d89d30e8d93314f37a191c37359095dc10c23ce9ad85cc8e9b25eaf86907fa48cd9bf2ae0adc2348d57733bc56b134fa106104e84cae34b2f6432d SHA512 2204600e6e06c08baab1fa655e1d818e0b8b8bbb057b5d8cd838e7206f47ad0af1302f38d4bbf1420c566d5d2bc1023727a695244bc7e0fccf56ec592ddbe5f9
EBUILD llvm-roc-4.0.0.ebuild 2209 BLAKE2B 69cb35d21ea261977032b7ba780bee60d1feda3a3246e81bb16b33f21b5b08fb094fbe34b117aa68e00d1cd42551a44fb53dd64bb40a74254bf02ba872f4cc32 SHA512 34a7d3f9cfd920adad596fe7532a15c347f56ccbd3cc9f66eb02fa77efa7b512ef3ba119c5377a059471cd6e256424c4ae34fac49dd08620674e0b22375d8268
+EBUILD llvm-roc-4.0.1.ebuild 2374 BLAKE2B 3944380f53d89d30e8d93314f37a191c37359095dc10c23ce9ad85cc8e9b25eaf86907fa48cd9bf2ae0adc2348d57733bc56b134fa106104e84cae34b2f6432d SHA512 2204600e6e06c08baab1fa655e1d818e0b8b8bbb057b5d8cd838e7206f47ad0af1302f38d4bbf1420c566d5d2bc1023727a695244bc7e0fccf56ec592ddbe5f9
MISC metadata.xml 461 BLAKE2B 5a060c417f0bb9bf1fba8375292e7bff20b2c50c3a2ab490bd436f81a954dbd370d61ba59b305b8bdaad9887e9c6a872eb30fea31c566dc6d74d3493b40d0a26 SHA512 a82c2186fc0642dab37608155dcf0aafd20701cb7e2769c6eb3aae88d4df6690743769a75f47efdb36fd8a3d6771f0feecd3efd01c98460fe195394c16d95660
diff --git a/sys-devel/llvm-roc/files/llvm-roc-4.0.0-hip-location.patch b/sys-devel/llvm-roc/files/llvm-roc-4.0.0-hip-location.patch
index 8342299f1139..225adc709666 100644
--- a/sys-devel/llvm-roc/files/llvm-roc-4.0.0-hip-location.patch
+++ b/sys-devel/llvm-roc/files/llvm-roc-4.0.0-hip-location.patch
@@ -1,5 +1,7 @@
replace hardcoded hip finder with Gentoo paths.
+It is not necessary to check HIP runtime each time.
+
Author: Benda Xu <heroxbd@gentoo.org>
Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -12,7 +14,7 @@ Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
- // Try to find relative to the compiler binary.
- const char *InstallDir = D.getInstalledDir();
-+ Candidates.emplace_back(D.SysRoot + "/usr/lib/hip", /*StrictChecking=*/true);
++ Candidates.emplace_back(D.SysRoot + "/usr", /*StrictChecking=*/true);
- // Check both a normal Unix prefix position of the clang binary, as well as
- // the Windows-esque layout the ROCm packages use with the host architecture
@@ -45,3 +47,38 @@ Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
return Candidates;
}
+@@ -273,33 +244,7 @@ void RocmInstallationDetector::detectDev
+ }
+
+ void RocmInstallationDetector::detectHIPRuntime() {
+- auto Candidates = getInstallationPathCandidates();
+- auto &FS = D.getVFS();
+-
+- for (const auto &Candidate : Candidates) {
+- InstallPath = Candidate.Path;
+- if (InstallPath.empty() || !FS.exists(InstallPath))
+- continue;
+-
+- BinPath = InstallPath;
+- llvm::sys::path::append(BinPath, "bin");
+- IncludePath = InstallPath;
+- llvm::sys::path::append(IncludePath, "include");
+- LibPath = InstallPath;
+- llvm::sys::path::append(LibPath, "lib");
+-
+- llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> VersionFile =
+- FS.getBufferForFile(BinPath + "/.hipVersion");
+- if (!VersionFile && Candidate.StrictChecking)
+- continue;
+-
+- if (HIPVersionArg.empty() && VersionFile)
+- ParseHIPVersionFile((*VersionFile)->getBuffer());
+-
+- HasHIPRuntime = true;
+- return;
+- }
+- HasHIPRuntime = false;
++ HasHIPRuntime = true;
+ }
+
+ void RocmInstallationDetector::print(raw_ostream &OS) const {
diff --git a/sys-devel/llvm-roc/llvm-roc-4.0.0-r1.ebuild b/sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild
index 5714ae9b7198..5714ae9b7198 100644
--- a/sys-devel/llvm-roc/llvm-roc-4.0.0-r1.ebuild
+++ b/sys-devel/llvm-roc/llvm-roc-4.0.0-r2.ebuild
diff --git a/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild b/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild
new file mode 100644
index 000000000000..5714ae9b7198
--- /dev/null
+++ b/sys-devel/llvm-roc/llvm-roc-4.0.1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Radeon Open Compute llvm,lld,clang"
+HOMEPAGE="https://github.com/RadeonOpenCompute/ROCm/"
+SRC_URI="https://github.com/RadeonOpenCompute/llvm-project/archive/rocm-${PV}.tar.gz -> llvm-rocm-ocl-${PV}.tar.gz"
+
+LICENSE="UoI-NCSA rc BSD public-domain"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug +runtime"
+
+RDEPEND="virtual/cblas
+ dev-libs/libxml2
+ sys-libs/zlib
+ sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+PDEPEND="dev-libs/rocr-runtime"
+
+S="${WORKDIR}/llvm-project-rocm-${PV}/llvm"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.7.0-current_pos.patch"
+ "${FILESDIR}/${PN}-3.9.0-tensorflow.patch"
+)
+
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+src_prepare() {
+ cd "${WORKDIR}/llvm-project-rocm-${PV}" || die
+ eapply "${FILESDIR}/${PN}-3.0.0-add_libraries.patch"
+ eapply "${FILESDIR}/${PN}-4.0.0-remove-isystem-usr-include.patch"
+ eapply "${FILESDIR}/${PN}-4.0.0-hip-location.patch"
+
+ if [[ -n ${EPREFIX} ]]; then
+ pushd "${S}"/../clang >/dev/null || die
+ sed -i -e "s@DEFAULT_SYSROOT \"\"@DEFAULT_SYSROOT \"${EPREFIX}\"@" CMakeLists.txt
+ eend $?
+ ebegin "Use ${EPREFIX} as default sysroot"
+ cd lib/Driver/ToolChains >/dev/null || die
+ ebegin "Use dynamic linker from ${EPREFIX}"
+ sed -i -e "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" Linux.cpp
+ eend $?
+
+ ebegin "Remove --sysroot call on ld for native toolchain"
+ sed -i -e "$(grep -n -B1 sysroot= Gnu.cpp | sed -ne '{1s/-.*//;1p}'),+1 d" Gnu.cpp
+ eend $?
+ popd >/dev/null || die
+ fi
+
+ # handled by sysroot, don't prefixify here.
+ sed -e 's:/opt/rocm:/usr/lib/hip:' \
+ -i "${S}"/../clang/lib/Driver/ToolChains/AMDGPU.cpp
+
+ eapply_user
+ cmake_src_prepare
+}
+
+src_configure() {
+ PROJECTS="clang;lld"
+
+ if usex runtime; then
+ PROJECTS+=";compiler-rt"
+ fi
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/roc"
+ -DLLVM_ENABLE_PROJECTS="${PROJECTS}"
+ -DLLVM_TARGETS_TO_BUILD="AMDGPU;X86"
+ -DLLVM_BUILD_DOCS=NO
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=NO
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ -DLLVM_VERSION_SUFFIX=roc
+ -DOCAMLFIND=NO
+ )
+
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ cat > "99${PN}" <<-EOF
+ LDPATH="${EROOT}/usr/lib/llvm/roc/lib"
+ EOF
+ doenvd "99${PN}"
+}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index a9fc968f2942..cd2be73ff90f 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -12,6 +12,7 @@ DIST llvmorg-11.0.0.tar.gz 122743665 BLAKE2B 3f95570240789fd68ddb747df817f5c6cdc
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-11.1.0-rc3.tar.gz 122785838 BLAKE2B d0998219471476be1a1249b3a2444750585a352047d4dc14de6fec87eb3407d0f4b848757340200d3423cb4090554ae033fb4ec3797446e46556fbb566bb77a3 SHA512 b67874cb127f3f929a3796558cdfbf509b384c4247f4936ba08cecf88ca880a167cf67c23d78104b5bab4a98efd9435d1b923deb7ae7367875414e6c896957d1
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 680cfce8161a51c15033cb6c5db616f74d5d04fb165fb726df5e3f9ba88631add687954ca3ed823041c57099cb48eac5274a37ff9defcf40ab94d681e4383692 SHA512 3d690f86c806f4804bc16c365fc57a5525b160f2722773c79b19b89927fc514b259ea7393729d4df648a4f7e3e0ca90100ba621630cb8d25cd92dd7286259d70
@@ -19,6 +20,7 @@ EBUILD llvm-11.0.0.ebuild 12872 BLAKE2B 684851dd05e8321c6dcc4d30f312fb13832a46b5
EBUILD llvm-11.0.1.ebuild 12681 BLAKE2B 9b3540ca6fd9a7bc1a86b0b025b64a6ed939dc4fd078bfad4e1414515253ff1ff5f4ec604aa40db671a7c5b6b8405051797c61418fc936510d649e50abc9ca54 SHA512 08bbb825ab193978acf6c8dd95e1d8a0fceffe4bdc3cc4a79ccbdcbb9b41283e15edf95aeaab6dcf224fcf83956783d7c2512fd3834444506eabdca03d9afecf
EBUILD llvm-11.1.0_rc1.ebuild 12602 BLAKE2B ca33bff4d03ef31aa55a5c10e985537d05247c187f11eeabad0939af58654442e5e577b7f6389a09a271fdaf8f2d8e92b50384933683256064f6cd7d912f3b9d SHA512 bff87c857f07bceb774be3e6b78ec75dc73fc6380c974908180d4fdd9d63b4025cc7128bf99db3fc4f448ddb3767b258c6d9ecb1729453c1171d672a0b0414de
EBUILD llvm-11.1.0_rc2.ebuild 12602 BLAKE2B ca33bff4d03ef31aa55a5c10e985537d05247c187f11eeabad0939af58654442e5e577b7f6389a09a271fdaf8f2d8e92b50384933683256064f6cd7d912f3b9d SHA512 bff87c857f07bceb774be3e6b78ec75dc73fc6380c974908180d4fdd9d63b4025cc7128bf99db3fc4f448ddb3767b258c6d9ecb1729453c1171d672a0b0414de
+EBUILD llvm-11.1.0_rc3.ebuild 12602 BLAKE2B ca33bff4d03ef31aa55a5c10e985537d05247c187f11eeabad0939af58654442e5e577b7f6389a09a271fdaf8f2d8e92b50384933683256064f6cd7d912f3b9d SHA512 bff87c857f07bceb774be3e6b78ec75dc73fc6380c974908180d4fdd9d63b4025cc7128bf99db3fc4f448ddb3767b258c6d9ecb1729453c1171d672a0b0414de
EBUILD llvm-12.0.0.9999.ebuild 12707 BLAKE2B 4b1a0bdd938a7b1929ac0733ab5858deb39d4baec80819dca21fc3420f2e0d23da43053037e944dbcbdab484b8a44075e66fa6c83c548242b094985fa41be0f7 SHA512 daa950c95437fb5ccb188db3595de7e3a61ec5df5ae4f4141bb553d7672e9423882a31f227ba7ed767982796fd515637b51a6032aca7ce01e736ee8c6c0c6c82
EBUILD llvm-12.0.0_rc1.ebuild 12707 BLAKE2B 4b1a0bdd938a7b1929ac0733ab5858deb39d4baec80819dca21fc3420f2e0d23da43053037e944dbcbdab484b8a44075e66fa6c83c548242b094985fa41be0f7 SHA512 daa950c95437fb5ccb188db3595de7e3a61ec5df5ae4f4141bb553d7672e9423882a31f227ba7ed767982796fd515637b51a6032aca7ce01e736ee8c6c0c6c82
EBUILD llvm-13.0.0.9999.ebuild 12707 BLAKE2B 4b1a0bdd938a7b1929ac0733ab5858deb39d4baec80819dca21fc3420f2e0d23da43053037e944dbcbdab484b8a44075e66fa6c83c548242b094985fa41be0f7 SHA512 daa950c95437fb5ccb188db3595de7e3a61ec5df5ae4f4141bb553d7672e9423882a31f227ba7ed767982796fd515637b51a6032aca7ce01e736ee8c6c0c6c82
diff --git a/sys-devel/llvm/llvm-11.1.0_rc3.ebuild b/sys-devel/llvm/llvm-11.1.0_rc3.ebuild
new file mode 100644
index 000000000000..6b479a5280ef
--- /dev/null
+++ b/sys-devel/llvm/llvm-11.1.0_rc3.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_{7..9} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC 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/rust-std/Manifest b/sys-devel/rust-std/Manifest
index ae6034dbed59..0e7534818869 100644
--- a/sys-devel/rust-std/Manifest
+++ b/sys-devel/rust-std/Manifest
@@ -1,7 +1,11 @@
DIST rustc-1.46.0-src.tar.xz 101868452 BLAKE2B da9798596b124a10d79c236a871228f05e5f571d22c2259328e7026c91e088c85f5de9c0536a16531e0cb10477bfcd16d3ac11467979f5561cb6199442b877ef SHA512 099857f1d295043587a4e2a65ef3e6a90e12c8b6958e98535a1656c113c553f9a9b621aba8a19cf21bd8d2c79d27cbfa4b8e6fabbcb3cbfee23b545be7b450b4
DIST rustc-1.47.0-src.tar.xz 104143736 BLAKE2B 0454094dde35275488046826da87655e51bf0795481d6d08fd70d644bfc12481bca8641166106ef32f20494906025244715b16ff21a1c023f4bd2818aab42521 SHA512 6ba83c0158f8130ddeae7e070417a2121d8a548c8fe97e28bce116d84048636c75aaee78e0c92cd43a50f5679a1223fc226cc8c5ba9bbd1465e84c5c6034d5c9
DIST rustc-1.48.0-src.tar.xz 105951736 BLAKE2B 42468fc5ac5e80c4793cfe0913cbb8e43a8def28cc8cf5ed25ab989561e2bf33e155c83e180183362535cbc9008f341eb1273087a2364672b1a4032ac2d6ca45 SHA512 4e12baa6893238a8d336ec9ebe891477d18676f271b32763474fa7a6a8b58fb3187dd4e2aa95bce482989b692cc2e1360221669d6811eec71b326f22a1756c23
+DIST rustc-1.49.0-src.tar.xz 108330280 BLAKE2B 65e36253482ded2df225cbbf15253b6c9a8ae935053b071d9fb9e7b1d47d5d3ac47a138876e4a5cfeda455c655ac06ceff2658c8668cef7d2206116906740653 SHA512 fd8bc67ec0a73d3b6bf9c1fabb7ea981ef817644b4e6ced982fa90b12eae9b55de074634a670bdfb38bfee6588603e818ddcbcc2f2a05f83057c061b4194b4b7
+DIST rustc-1.50.0-src.tar.xz 108666272 BLAKE2B abb1b6f57093334bae5892dd99c964ffaf5e2b906cc92f0b92d5786cf80484cff923643169f24f4f92a5724c21b8bd671c72531c2cd1f6fbe0ea7107b5bd923b SHA512 df3c83c0fdc9ebce6fdccddda781dea0cdbd88d2b2a8220cac40cc3a8fa957923ae834d1fa45283d4ad227b334bd9e220e37a4a1ad7a1c7aeb806ed9ed387245
EBUILD rust-std-1.46.0.ebuild 3218 BLAKE2B 1f025951b208ecb756c9733a3642e2a8d02a34fc3654275231897037441c4b1c3d14dfc778d88928b7c3932d8a861b0e2271d61964aca5b0aa1e77fb517ff5fc SHA512 f0af35cb35909803da66d295775f16da824323861395e0f11c5be866ec17c1fe96448b1375ac9fc793cf77a57b8ab610fa88e0cefdf3fdb8f5becec8b4f3a899
EBUILD rust-std-1.47.0.ebuild 3371 BLAKE2B 2f6b2212fa4c966bc3c87d4edbbb33fd1805acb63e723f9287909ebb89be9f6f78ac207ffe4d1cebb9ca56046c28319cc38ff96e4ff94764b59d9601b7f1bb9f SHA512 5c8056dca52c3f5a3c34981a7a618324dfe9cc45795a0082cdda1e9db684012cd5b0f52584f9ae42615ab684fb075f35cd76f530b23e140414b90d4423e5d114
EBUILD rust-std-1.48.0.ebuild 3371 BLAKE2B 2f6b2212fa4c966bc3c87d4edbbb33fd1805acb63e723f9287909ebb89be9f6f78ac207ffe4d1cebb9ca56046c28319cc38ff96e4ff94764b59d9601b7f1bb9f SHA512 5c8056dca52c3f5a3c34981a7a618324dfe9cc45795a0082cdda1e9db684012cd5b0f52584f9ae42615ab684fb075f35cd76f530b23e140414b90d4423e5d114
+EBUILD rust-std-1.49.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3
+EBUILD rust-std-1.50.0.ebuild 3376 BLAKE2B 04e3aab94fa92feca1a5486a1e608c08ffbadca0c73b1bf904a817cf5f07b2b916c37ca629125ad45f9f4f9cc0bb106508294ac39d13e66660547f03480bcd24 SHA512 286c95f28e1ec4f284b1d8412b97cfa427d7573b8dac73b7b2b7e9e8ccee07ccf07f4f2c35f3bc4d32bd848907bdce7b38dcf2040ad9e9e31b0a43445d76fed3
MISC metadata.xml 818 BLAKE2B 32766ac24fada44b46f8d4ef77164a4e4843b876347056223184ec6fe48af9a6e2fa7d3e1fd48dec299f328f37fbdf4c84225a7450b788ce3e6c92e87bf8f313 SHA512 c1c4a46790dedc83b6890bbb536927148b293eed7f4d3bbd1f602b7664a9b303ca9689d4d1d35ed8047c2c909d64145fc4098efbec279f630b86207b0216ca80
diff --git a/sys-devel/rust-std/rust-std-1.49.0.ebuild b/sys-devel/rust-std/rust-std-1.49.0.ebuild
new file mode 100644
index 000000000000..7ca481644a6a
--- /dev/null
+++ b/sys-devel/rust-std/rust-std-1.49.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs
+
+DESCRIPTION="Rust standard library, standalone (for crossdev)"
+HOMEPAGE="https://www.rust-lang.org"
+SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable/$(ver_cut 1-2)"
+# please do not keyword
+#KEYWORDS="" #nowarn
+IUSE="debug"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/rust-${PV}:=
+"
+
+DEPEND="||
+ (
+ >="${CATEGORY}"/gcc-4.7:*
+ >="${CATEGORY}"/clang-3.5:*
+ )
+"
+
+RDEPEND="${DEPEND}"
+
+# need full compiler to run tests
+RESTRICT="test"
+
+QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
+
+S="${WORKDIR}/${P/-std/c}-src"
+
+#
+# The cross magic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pkg_pretend() {
+ is_cross || die "${PN} should only be used for cross"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+}
+
+src_configure() {
+ # do the great cleanup
+ strip-flags
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
+ strip-unsupported-flags
+
+ local rust_root x
+ rust_root="$(rustc --print sysroot)"
+ rtarget="$(rust_abi ${CTARGET})"
+ rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom.
+ rbuild="$(rust_abi ${CBUILD})"
+ rhost="$(rust_abi ${CHOST})"
+
+ echo
+ for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do
+ einfo "$(printf '%10s' ${x^^}:) ${!x}"
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [build]
+ build = "${rbuild}"
+ host = ["${rhost}"]
+ target = ["${rtarget}"]
+ cargo = "${rust_root}/bin/cargo"
+ rustc = "${rust_root}/bin/rustc"
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ verbose = 2
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debuginfo-level-rustc = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ rpath = false
+ dist-src = false
+ remap-debuginfo = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${rtarget}]
+ cc = "$(tc-getCC ${CTARGET})"
+ cxx = "$(tc-getCXX ${CTARGET})"
+ linker = "$(tc-getCC ${CTARGET})"
+ ar = "$(tc-getAR ${CTARGET})"
+ $(usex elibc_musl 'crt-static = false' '')
+ EOF
+
+ einfo "${PN^} configured with the following settings:"
+ cat "${S}"/config.toml || die
+}
+
+src_compile() {
+ env RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
+ library/std --stage 0 || die
+}
+
+src_test() {
+ ewarn "${PN} can't run tests"
+}
+
+src_install() {
+ local rustlib="lib/rust/${PV}/lib/rustlib"
+ dodir "/usr/${rustlib}"
+ pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
+ cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
+ popd > /dev/null || die
+}
diff --git a/sys-devel/rust-std/rust-std-1.50.0.ebuild b/sys-devel/rust-std/rust-std-1.50.0.ebuild
new file mode 100644
index 000000000000..7ca481644a6a
--- /dev/null
+++ b/sys-devel/rust-std/rust-std-1.50.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8,9} )
+
+inherit flag-o-matic multiprocessing python-any-r1 rust-toolchain toolchain-funcs
+
+DESCRIPTION="Rust standard library, standalone (for crossdev)"
+HOMEPAGE="https://www.rust-lang.org"
+SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable/$(ver_cut 1-2)"
+# please do not keyword
+#KEYWORDS="" #nowarn
+IUSE="debug"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ ~dev-lang/rust-${PV}:=
+"
+
+DEPEND="||
+ (
+ >="${CATEGORY}"/gcc-4.7:*
+ >="${CATEGORY}"/clang-3.5:*
+ )
+"
+
+RDEPEND="${DEPEND}"
+
+# need full compiler to run tests
+RESTRICT="test"
+
+QA_FLAGS_IGNORED="usr/lib/rust/${PV}/rustlib/.*/lib/lib.*.so"
+
+S="${WORKDIR}/${P/-std/c}-src"
+
+#
+# The cross magic
+#
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY} == cross-* ]] ; then
+ export CTARGET=${CATEGORY#cross-}
+ fi
+fi
+
+is_cross() {
+ [[ ${CHOST} != ${CTARGET} ]]
+}
+
+toml_usex() {
+ usex "$1" true false
+}
+
+pkg_pretend() {
+ is_cross || die "${PN} should only be used for cross"
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+}
+
+src_configure() {
+ # do the great cleanup
+ strip-flags
+ filter-flags '-mcpu=*' '-march=*' '-mtune=*' '-m32' '-m64'
+ strip-unsupported-flags
+
+ local rust_root x
+ rust_root="$(rustc --print sysroot)"
+ rtarget="$(rust_abi ${CTARGET})"
+ rtarget="${ERUST_STD_RTARGET:-${rtarget}}" # some targets need to be custom.
+ rbuild="$(rust_abi ${CBUILD})"
+ rhost="$(rust_abi ${CHOST})"
+
+ echo
+ for x in CATEGORY rust_root rbuild rhost rtarget RUSTFLAGS CFLAGS CXXFLAGS LDFLAGS; do
+ einfo "$(printf '%10s' ${x^^}:) ${!x}"
+ done
+
+ cat <<- EOF > "${S}"/config.toml
+ [build]
+ build = "${rbuild}"
+ host = ["${rhost}"]
+ target = ["${rtarget}"]
+ cargo = "${rust_root}/bin/cargo"
+ rustc = "${rust_root}/bin/rustc"
+ submodules = false
+ python = "${EPYTHON}"
+ locked-deps = true
+ vendor = true
+ extended = true
+ verbose = 2
+ cargo-native-static = false
+ [install]
+ prefix = "${EPREFIX}/usr/lib/${PN}/${PV}"
+ sysconfdir = "etc"
+ docdir = "share/doc/rust"
+ bindir = "bin"
+ libdir = "lib"
+ mandir = "share/man"
+ [rust]
+ # https://github.com/rust-lang/rust/issues/54872
+ codegen-units-std = 1
+ optimize = true
+ debug = $(toml_usex debug)
+ debug-assertions = $(toml_usex debug)
+ debuginfo-level-rustc = 0
+ backtrace = true
+ incremental = false
+ default-linker = "$(tc-getCC)"
+ rpath = false
+ dist-src = false
+ remap-debuginfo = true
+ jemalloc = false
+ [dist]
+ src-tarball = false
+ [target.${rtarget}]
+ cc = "$(tc-getCC ${CTARGET})"
+ cxx = "$(tc-getCXX ${CTARGET})"
+ linker = "$(tc-getCC ${CTARGET})"
+ ar = "$(tc-getAR ${CTARGET})"
+ $(usex elibc_musl 'crt-static = false' '')
+ EOF
+
+ einfo "${PN^} configured with the following settings:"
+ cat "${S}"/config.toml || die
+}
+
+src_compile() {
+ env RUST_BACKTRACE=1 \
+ "${EPYTHON}" ./x.py build -vv --config="${S}"/config.toml -j$(makeopts_jobs) \
+ library/std --stage 0 || die
+}
+
+src_test() {
+ ewarn "${PN} can't run tests"
+}
+
+src_install() {
+ local rustlib="lib/rust/${PV}/lib/rustlib"
+ dodir "/usr/${rustlib}"
+ pushd "build/${rhost}/stage0-sysroot/lib/rustlib" > /dev/null || die
+ cp -pPRv "${rtarget}" "${ED}/usr/${rustlib}" || die
+ popd > /dev/null || die
+}