summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin9477 -> 9487 bytes
-rw-r--r--sys-devel/bmake/Manifest6
-rw-r--r--sys-devel/bmake/bmake-20210420.ebuild55
-rw-r--r--sys-devel/bmake/bmake-20210704.ebuild2
-rw-r--r--sys-devel/bmake/metadata.xml4
-rw-r--r--sys-devel/clang-common/Manifest2
-rw-r--r--sys-devel/clang-common/clang-common-13.0.0_rc2.ebuild24
-rw-r--r--sys-devel/clang-runtime/Manifest1
-rw-r--r--sys-devel/clang-runtime/clang-runtime-13.0.0_rc2.ebuild25
-rw-r--r--sys-devel/clang/Manifest3
-rw-r--r--sys-devel/clang/clang-13.0.0_rc2.ebuild441
-rw-r--r--sys-devel/elftoolchain/Manifest2
-rw-r--r--sys-devel/elftoolchain/metadata.xml8
-rw-r--r--sys-devel/gdb/Manifest8
-rw-r--r--sys-devel/gdb/gdb-10.1.ebuild6
-rw-r--r--sys-devel/gdb/gdb-10.2-r1.ebuild6
-rw-r--r--sys-devel/gdb/gdb-10.2.ebuild6
-rw-r--r--sys-devel/gdb/gdb-9999.ebuild6
-rw-r--r--sys-devel/lld/Manifest2
-rw-r--r--sys-devel/lld/lld-13.0.0_rc2.ebuild68
-rw-r--r--sys-devel/llvm-common/Manifest2
-rw-r--r--sys-devel/llvm-common/llvm-common-13.0.0_rc2.ebuild27
-rw-r--r--sys-devel/llvm-roc/Manifest3
-rw-r--r--sys-devel/llvm-roc/files/llvm-roc-4.3.0-hip-location.patch189
-rw-r--r--sys-devel/llvm-roc/llvm-roc-4.3.0-r1.ebuild (renamed from sys-devel/llvm-roc/llvm-roc-4.3.0.ebuild)1
-rw-r--r--sys-devel/llvm/Manifest3
-rw-r--r--sys-devel/llvm/llvm-13.0.0_rc2.ebuild521
27 files changed, 1335 insertions, 86 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index c5df42e0dd34..fa9c65d64749 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest
index 5f1b7c13bd22..3cb9b163b63a 100644
--- a/sys-devel/bmake/Manifest
+++ b/sys-devel/bmake/Manifest
@@ -1,10 +1,8 @@
AUX bmake-20210206-tests.patch 467 BLAKE2B 7c66cfbb610f2ea9615a737dd2d97fbea359ecb0e5b5c746447b9a0e9d2dff188f6f0d45225dd07d1226a86297f0c9ba8b8be7587039f2cc7ceaab4bde61f570 SHA512 3d855d54b64e2871ad8ccd494939c92a6bca2bec61f186e907a9b6b8b4f51b4ff63fcacbb8b6d44cef33a39c6ba2bed6c1fdd30d7ad65ad03d1d659781c420fe
AUX bmake-20210314-mk-fixes.patch 2054 BLAKE2B 404e99593f04408e3f62d8c6118fc1676ef414b4cc18f5ec8b089182fad8865ad79e40c236e58b084f3194bdcc94c92e1e10e40efbddc142b84053117065e202 SHA512 8c9e823dd158e352021f0905e2a15cb8d7da3020c49a8f824cc5dbd8f33910fc64629d5f400fd8651a16b07e0685a1247a661fd9230a62b7330bd5fc71427dd4
-DIST bmake-20210420.tar.gz 755281 BLAKE2B fe98dc5d0c5a11aecf45b160cfe5b69ef49e56a973823e84ec1f607023aa94d66cd87bc3f31fc340dc86eae0a6e87ca2a71b8367f3e9bb1a9eae8626d13a80ea SHA512 3bb603965c149e4f6bee4afff9710921e943bd1faaf5d142418a5f7a0752416e094b6a0f0dfc998bf6bedc391f668162856a51167e34b6f2ad2a0a498c96ed35
DIST bmake-20210704.tar.gz 759047 BLAKE2B 4c21941c45c826e1758c64bc60532cff3b9a727cc18658b019ce55382aad8c668a5ef9039df695629f81a334969f1a5aaf08d5924aa20576474a528fe8dbcb15 SHA512 b21d89753b659a70d6f5d70aa41cc2b5f5ded5a5a4a227064c938db42282d7684df9389fa1db532c2e0de11d5be1e66698388f1e1e6966153ec56330af688674
DIST bmake-20210808.tar.gz 765029 BLAKE2B 27ff99395e7cdc00a118ebfb5b043180ffbd9d5385b008c49baae8bf953e45e277aeb133d736bd282c1ffc08bd7c3b87b4dc23d0b188a86469116e1d94ed2409 SHA512 d0afb9b6a50858c330cccf57a8f8b35ddf1ea1faefc2110237e30262b35eb69c1a4918e48acc2ed3deed8b11bf87b80429d71c46366c81ceb7427a79a3e58089
DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b
-EBUILD bmake-20210420.ebuild 1265 BLAKE2B 085219c02d197e22d6afad2f68cc030cf25bb0d846cffa21a931f1f123a8319c858fc4fe1f3def677cf75684efc891d0e2394a79f675723ef78413b52cae2b44 SHA512 d900abeb3ca40e87e6fa2daeb270e7a4641c68f2be0dfd78c15d6b649401cdd7b7f473c368bc48167654af86b5c3db1c2c17ef35f235e8a491ee4d283a6b3aea
-EBUILD bmake-20210704.ebuild 1266 BLAKE2B a5942f2e09caac94b265833f06d341cf4c15856cd81dcb44e606250ffbd13b8ed541ccc11a953fdf5762da59c151667a5755fa2436415d6bc09e2498b89c63ca SHA512 e2afff68379224b51a8274901f00a18e7f230d95ee63488d936ddaa1f419331f16f7f379266d27f6408f4b1bd743d867ddf5706653ea196bbe76ac9fe5dbfd10
+EBUILD bmake-20210704.ebuild 1265 BLAKE2B 9e38d36c77052e8829a8e75a36178a705218f910f0b588ca1f459de6f1a3e1f0445894ab7a34da2723e1caf14494b8a1fef663395b657e0dc492ec38aff94f4d SHA512 f7d935f6c5b449c52c67b0f2cf61d7e6eeba38d4d24f7934f46023cf2fcc136d06c1f4443d51340723b32b00bc7314f0af99dbe342edc515f74e489ee3da0e3c
EBUILD bmake-20210808.ebuild 1266 BLAKE2B a5942f2e09caac94b265833f06d341cf4c15856cd81dcb44e606250ffbd13b8ed541ccc11a953fdf5762da59c151667a5755fa2436415d6bc09e2498b89c63ca SHA512 e2afff68379224b51a8274901f00a18e7f230d95ee63488d936ddaa1f419331f16f7f379266d27f6408f4b1bd743d867ddf5706653ea196bbe76ac9fe5dbfd10
-MISC metadata.xml 356 BLAKE2B c8acffcd095f37e19987d6d116df6654453aab320818262c98e1ccec0871084adb919e408599eb6b4460544c2ec8660abe1e0add7a858d41dc48492f78d1c53d SHA512 c63247454ecc0add57dc73ae2e16421dab39ad199d592c459366b567f3ef3f63c706cb66ac3bdadfafe8a995216e35dc3f90f22ad45a7c078b302b48116f4645
+MISC metadata.xml 352 BLAKE2B 31dd20628c2efcc8d16c6e63a622f6a003e78e2db6b9a226de18a0f5723296835fd008ca0fc305ca1f5372c0629bb0954ef665e1d51143731c7024f0b45e6a7c SHA512 ae2b797f8672b1bfe2a829ff15877a61f2a957cd519b90ffdd7047eb57256ea34ddec426dd50e60d1757eee443cb75031f3b12cc4f2430b403e697aa4c64fa58
diff --git a/sys-devel/bmake/bmake-20210420.ebuild b/sys-devel/bmake/bmake-20210420.ebuild
deleted file mode 100644
index d0820d8040e3..000000000000
--- a/sys-devel/bmake/bmake-20210420.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MK_VER=20210330
-
-DESCRIPTION="NetBSD's portable make"
-HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html"
-SRC_URI="
- http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz
- http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz"
-S="${WORKDIR}/${PN}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
-
-# Skip failing test (sandbox and csh)
-PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch )
-
-src_prepare() {
- default
- cd "${WORKDIR}" || die
- eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch
-}
-
-src_configure() {
- econf \
- --with-mksrc=../mk \
- --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \
- --with-machine_arch=${ARCH}
-}
-
-src_compile() {
- sh make-bootstrap.sh || die "bootstrap failed"
-}
-
-src_test() {
- cd unit-tests || die
-
- # the 'ternary' test uses ${A} internally, which
- # conflicts with Gentoo's ${A}, hence unset it for
- # the tests temporarily.
- env -u A MAKEFLAGS= \
- "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed"
-}
-
-src_install() {
- dobin ${PN}
- doman ${PN}.1
- FORCE_BSD_MK=1 SYS_MK_DIR=. \
- sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \
- || die "failed to install mk files"
-}
diff --git a/sys-devel/bmake/bmake-20210704.ebuild b/sys-devel/bmake/bmake-20210704.ebuild
index 5d5f15630855..f3e4c0d04f65 100644
--- a/sys-devel/bmake/bmake-20210704.ebuild
+++ b/sys-devel/bmake/bmake-20210704.ebuild
@@ -14,7 +14,7 @@ S="${WORKDIR}/${PN}"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ~ppc ~x86"
# Skip failing test (sandbox and csh)
PATCHES=( "${FILESDIR}"/${PN}-20210206-tests.patch )
diff --git a/sys-devel/bmake/metadata.xml b/sys-devel/bmake/metadata.xml
index 97c59ff25556..ee2c64618d56 100644
--- a/sys-devel/bmake/metadata.xml
+++ b/sys-devel/bmake/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jakov.smolic@sartura.hr</email>
- <name>Jakov Smolic</name>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<maintainer type="person">
<email>soap@gentoo.org</email>
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index b151ce1e7817..e83c6347eba3 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -3,11 +3,13 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
EBUILD clang-common-10.0.1.ebuild 573 BLAKE2B a2e0ed9b70b470ade3c22d56ea097befd935702369dcb21b367f3baa95635e1edea1f62760ffe3b678a72410b8b20091167bc5c38d75350004f52b24d7497cae SHA512 da407fe94951d7b6edfe8a237d761bda0114a8e34fd3fe59933c4605851b6a414f9278204e6b7f83d3f6ac9334f80660a7733484b64291ad58c84364015585a4
EBUILD clang-common-11.1.0.ebuild 581 BLAKE2B 3e7e2e6c0b0a7f177aaf610a7be4bebb6eb23aec0f4677263555a37c57eb6547d94078465939f9062b562f0b5cc59bda22b2e293e0b2f7907f66dd76c95fe554 SHA512 1ce397f6029bc8ee03c8d0aac13e14b7faf77cc446ab390f1435c8c028364620e565e73cb5e97bb6c0093e0a20c34e8a4ceab9591707687567520c0192264bea
EBUILD clang-common-12.0.0.ebuild 594 BLAKE2B 24422b771d72ca53dec018f281f05701f0b39a60e81168f60dbe36545e520f1e974eaa3b2d65d513fd5207f01acd63a90777b50509953ba2d21e38d8c4d025dc SHA512 07ded270729f30ec981a54b729f451c8c2dcc3d94ea60cd37556f54a8f4e78e9aa0daf3c377dda7de8d8d9c1277e0c33c5576e89f6a239750b87d52139578f2b
EBUILD clang-common-12.0.1.ebuild 597 BLAKE2B d72fc72d52a30928d2d4fed8ba35e2ae726107d5727d4c383f303a313d298dc2de8706c94d49772892b171db1686db792ffb229d70ab408f0bceca57e64df121 SHA512 6a8b05bc4bf181da5aab6a1bfeff17755a01889305aff856f9f7a2b3c8cf607b463df1081ee4251181296827a1c80369064dabd1be38b5522fa9af7998bad9f2
EBUILD clang-common-13.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
EBUILD clang-common-13.0.0_rc1.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
+EBUILD clang-common-13.0.0_rc2.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
EBUILD clang-common-14.0.0.9999.ebuild 514 BLAKE2B 7b27ed67c1ec7fdaee393ebe4685597f1a982232ca452e4ecb54f5e6078ea44bd2c8a56d061bace32bfc81e7506edd3f12aa6e54bad4d9f80a8bad4165cbe6f8 SHA512 302824c98bc818f78992db66c1e3bc3881fd9466fef0b14ce165e13575a0b4643b7f868b4d8914f5ac40bddd6963f17f15b2f9488667882238dd4a10c2d0c2bb
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/clang-common/clang-common-13.0.0_rc2.ebuild b/sys-devel/clang-common/clang-common-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..03e4441b91b9
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-13.0.0_rc2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+PDEPEND="sys-devel/clang:*"
+
+LLVM_COMPONENTS=( clang/utils/bash-autocomplete.sh )
+llvm.org_set_globals
+S=${WORKDIR}/clang/utils
+
+src_install() {
+ newbashcomp bash-autocomplete.sh clang
+}
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index 268a70b1887d..aea2fcc0ffd2 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -4,5 +4,6 @@ EBUILD clang-runtime-12.0.0.ebuild 705 BLAKE2B e78f47523b471645662518919b515067f
EBUILD clang-runtime-12.0.1.ebuild 708 BLAKE2B 8157a8f46b6ce5228d6adf84bb4beebab9e25e79be59540b6f46275c695c2ecbf8f4fa571c5ab02b422c289540cc7fe0e19ee3c62789dea041da613193278f6e SHA512 0484ec1a4331b33d1931c6bf4082a345e45ed5df04c05813d6e56434cd3e2c5d4df6ece7e3e494aeb111a9788607ec53a4b91157e32a1676ad12911526ff126e
EBUILD clang-runtime-13.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
EBUILD clang-runtime-13.0.0_rc1.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
+EBUILD clang-runtime-13.0.0_rc2.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
EBUILD clang-runtime-14.0.0.9999.ebuild 643 BLAKE2B 350729e0dfcd606089836e7d8f40e6f080a2dcc9553e9283df027c39ab041f93584162a9d299f5a2fea49c448019c9d19d0df6f1fd40d53b51324a0ad7495020 SHA512 c383b8976ca5e5b5a0a8f724854c019e1f6800d8b47594a2f9203c6b9c0831675a862218acfcaa93267f114a5904ca7041e281b746f9f1fbaeddfbfc08235c4f
MISC metadata.xml 578 BLAKE2B d58a4d1a7bf88a0d5640a02f3acb7e491f275b3bb66a8583aa057b8daae93bb1dbb80f6150bc326228c6ab8c8f8498b46bf72a3fb5e97d0eeea2fb39f87660e3 SHA512 822f56b33d991088ad5e51c3dd96e2e36f544b68c57e45ed8365835d1ef6d0eb797f9de1f8f33b59fbbaf085e245079ca767d5e8b773261cf9ad2c5629b7b16a
diff --git a/sys-devel/clang-runtime/clang-runtime-13.0.0_rc2.ebuild b/sys-devel/clang-runtime/clang-runtime-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..218cdb1426f6
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-13.0.0_rc2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib-build
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="$(ver_cut 1-3)"
+KEYWORDS=""
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+PROPERTIES="live"
+
+RDEPEND="
+ compiler-rt? (
+ ~sys-libs/compiler-rt-${PV}:${SLOT}
+ sanitize? ( ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT} )
+ )
+ libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+ openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )"
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index da4b47969deb..3817abdc0f9b 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -6,17 +6,20 @@ DIST llvm-gentoo-patchset-10.0.1-1.tar.xz 8320 BLAKE2B 1b7ea7669586e08fece0efcf0
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
+DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
DIST llvm-gentoo-patchset-9999-2.tar.xz 4064 BLAKE2B 4b29234f10ea4ab2609e83c71bcd5f968cd93abd275c13366146ca899bbc576d55a3364432cc7db353739f5da5762529436689b848857e839e230425d551265b SHA512 c0d40a81bd11dc6018d7b3789e4ca7e1cd784992d44fab8d750b8b5281db39ad9092d320d125cae93164d2dddc42177a173b6d5e4158e4b62d7507db877acb9e
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
EBUILD clang-10.0.1.ebuild 11494 BLAKE2B 0e3a04d4d8f6db728703cac19b8bc0a07e3e9644651986969e9422515eb5037ac2107ae90e5b6fc3cf8d3c549cfb6e21b918bf193f275f18efbb46b0e7da4464 SHA512 05df3ae5d3bd93f55dd572b5e524f4e8f1bcd155228d480bcdafb5db29613edf8d8d98a02183260091bfccb61636612355b387e53c8e0c1bb9612a5a4f9fb148
EBUILD clang-11.1.0.ebuild 11852 BLAKE2B f2c36f5206bc0995a921a583beb85ba6430ba74ff62409f238b36dadcd20b3092abdbd1f4143a6a1a6de1f6b82a24cbaff481ea0483e30240e4d8788c8294a07 SHA512 3833b2597f3cf7d6887e151a95e6e81bab8b8c4f964ab08e4ea2bedd4a7b22e7efc12ce2ba15ba02c6dd6997801a81a9b905f2bbedc1611d8e78bde05c192278
EBUILD clang-12.0.0-r1.ebuild 12007 BLAKE2B 105fee23696a755fead0b4c261da12c87648ccdb5b499078e6821e17b48d8a2148a805457dbcc100888d9df0f32aeed1c4b9277023252766d8aa1f98af95d098 SHA512 22b1cedea4b139b4d4cb942631dee99fe0f0c7fb242e3e46ac857cf396fc49cb50006e9ac3f42fa85aa16bf75cd07f60592e1e6c7b05ff585be6ee10c2e05241
EBUILD clang-12.0.1.ebuild 12009 BLAKE2B 75d8254f6421dfaf89b511b16cf69bd130cb44f29fd9d4acfcce9fb145d24881010c0cba4b5e5b3b11342a32bf632f77fc4196054246550818eeb3167d4e955d SHA512 6873cbc8087417c031cd4c815150cbacab715334af89bb03190b1eade8e4b72bdbddb9541e4069c8feaeaf8efaae0935e4c9a2e03b5d44fa469700c4d14f1652
EBUILD clang-13.0.0.9999.ebuild 11952 BLAKE2B dd5024b469679b5ec459101bc2dea65fb2f888d15c494cce41491604973946e4370a661c4783269fb3952e838bfd9cf55981baa3d986d3df88ed225b68899126 SHA512 b434043d9b98baf06ab7a1b07916fabcadaeafee68abdc16e515fb0c015fa78c7e660e5864896e6cce740107882ec361cc4ec62a5b95afee1d6fbe5d7b9e8915
EBUILD clang-13.0.0_rc1.ebuild 11952 BLAKE2B dd5024b469679b5ec459101bc2dea65fb2f888d15c494cce41491604973946e4370a661c4783269fb3952e838bfd9cf55981baa3d986d3df88ed225b68899126 SHA512 b434043d9b98baf06ab7a1b07916fabcadaeafee68abdc16e515fb0c015fa78c7e660e5864896e6cce740107882ec361cc4ec62a5b95afee1d6fbe5d7b9e8915
+EBUILD clang-13.0.0_rc2.ebuild 11956 BLAKE2B 73b120564e114f6b0702d69fcf88ded19d52ce8265b6117edf06672fa6bb53738d167cbe21d44e4fbdde53af9f8a5b6d909ccf63c1ec5f50d8da56cc5efc42b5 SHA512 1825e5176d59cf4fb88d54bf4f00f658c0dcd74c04b683e64acddb42ea930d64c1a1100f177100dc4bbe8478fb209bc9ebf76b33a280b297f656e7b6bb80caf7
EBUILD clang-14.0.0.9999.ebuild 11952 BLAKE2B dd5024b469679b5ec459101bc2dea65fb2f888d15c494cce41491604973946e4370a661c4783269fb3952e838bfd9cf55981baa3d986d3df88ed225b68899126 SHA512 b434043d9b98baf06ab7a1b07916fabcadaeafee68abdc16e515fb0c015fa78c7e660e5864896e6cce740107882ec361cc4ec62a5b95afee1d6fbe5d7b9e8915
MISC metadata.xml 1336 BLAKE2B aaddc1c1193323466a545df21dfa53b637c3edff4f61cd55037d8327273457cf8d35cad7b92a2eef31acfb055a3e1ed93cb53a913b01eddf43b7b3dc6de880c4 SHA512 0538198df449cdf4d0cd00cb50d7c6883b06524419a29c4376cdcaed440fb84cfbd4983a1a025ae9a6e2fc5d91a4870bfcde587c493d8b617baec2214705601c
diff --git a/sys-devel/clang/clang-13.0.0_rc2.ebuild b/sys-devel/clang/clang-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..a56902ca9b36
--- /dev/null
+++ b/sys-devel/clang/clang-13.0.0_rc2.ebuild
@@ -0,0 +1,441 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+ prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# Keep in sync with sys-devel/llvm
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug default-compiler-rt default-libcxx default-lld
+ doc llvm-libunwind +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%_*}*
+ llvm-libunwind? ( sys-libs/llvm-libunwind )
+ !llvm-libunwind? ( sys-libs/libunwind )
+ )
+ default-libcxx? ( >=sys-libs/libcxx-${PV} )
+ default-lld? ( sys-devel/lld )"
+
+LLVM_COMPONENTS=( clang clang-tools-extra )
+LLVM_MANPAGES=build
+LLVM_TEST_COMPONENTS=(
+ llvm/lib/Testing/Support
+ llvm/utils/{lit,llvm-lit,unittest}
+ llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
+)
+LLVM_PATCHSET=13.0.0-rc2
+llvm.org_set_globals
+
+# Multilib notes:
+# 1. ABI_* flags control ABIs libclang* is built for only.
+# 2. clang is always capable of compiling code for all ABIs for enabled
+# target. However, you will need appropriate crt* files (installed
+# e.g. by sys-devel/gcc and sys-libs/glibc).
+# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
+# in the current profile (i.e. alike supported by sys-devel/gcc).
+#
+# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
+# multilib clang* libraries (not runtime, not wrappers).
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # create extra parent dir for relative CLANG_RESOURCE_DIR access
+ mkdir -p x/y || die
+ BUILD_DIR=${WORKDIR}/x/y/clang
+
+ llvm.org_src_prepare
+
+ # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
+ eprefixify \
+ lib/Frontend/InitHeaderSearch.cpp \
+ lib/Driver/ToolChains/Darwin.cpp || die
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # meta-targets
+ clang-libraries|distribution)
+ continue
+ ;;
+ # headers for clang-tidy static library
+ clang-tidy-headers)
+ continue
+ ;;
+ # tools
+ clang|clangd|clang-*)
+ ;;
+ # static libraries
+ clang*|findAllSymbols)
+ continue
+ ;;
+ # conditional to USE=doc
+ docs-clang-html|docs-clang-tools-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # common stuff
+ clang-cmake-exports
+ clang-headers
+ clang-resource-headers
+ libclang-headers
+
+ # libs
+ clang-cpp
+ libclang
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # common stuff
+ bash-autocomplete
+ libclang-python-bindings
+
+ # tools
+ c-index-test
+ clang
+ clang-format
+ clang-offload-bundler
+ clang-offload-wrapper
+ clang-refactor
+ clang-rename
+ clang-scan-deps
+ diagtool
+ hmaptool
+
+ # extra tools
+ clang-apply-replacements
+ clang-change-namespace
+ clang-doc
+ clang-include-fixer
+ clang-move
+ clang-query
+ clang-reorder-fields
+ clang-tidy
+ clangd
+ find-all-symbols
+ modularize
+ pp-trace
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-clang-man
+ docs-clang-tools-man
+ )
+ fi
+
+ use doc && out+=(
+ docs-clang-html
+ docs-clang-tools-html
+ )
+
+ use static-analyzer && out+=(
+ clang-check
+ clang-extdef-mapping
+ scan-build
+ scan-build-py
+ scan-view
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local llvm_version=$(llvm-config --version) || die
+ local clang_version=$(ver_cut 1-3 "${llvm_version}")
+
+ local mycmakeargs=(
+ -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
+ # relative to bindir
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DCLANG_LINK_CLANG_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ # these are not propagated reliably, so redefine them
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+ # disable using CUDA to autodetect GPU, just build for all
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
+
+ # override default stdlib and rtlib
+ -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
+ -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
+ -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
+ -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
+
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_SPHINX=ON
+ -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+ -DCLANG_INCLUDE_DOCS=${build_docs}
+ -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
+ )
+ else
+ mycmakeargs+=(
+ -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
+ )
+ fi
+
+ if [[ -n ${EPREFIX} ]]; then
+ mycmakeargs+=(
+ -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ [[ -x "/usr/bin/clang-tblgen" ]] \
+ || die "/usr/bin/clang-tblgen not found or usable"
+ mycmakeargs+=(
+ -DCMAKE_CROSSCOMPILING=ON
+ -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
+ )
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+
+ # provide a symlink for tests
+ if [[ ! -L ${WORKDIR}/lib/clang ]]; then
+ mkdir -p "${WORKDIR}"/lib || die
+ ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-clang
+ multilib_is_native_abi &&
+ cmake_build check-clang-tools check-clangd
+}
+
+src_install() {
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/clang/Config/config.h
+ )
+
+ multilib-minimal_src_install
+
+ # Move runtime headers to /usr/lib/clang, where they belong
+ mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
+ # move (remaining) wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
+
+ # Apply CHOST and version suffix to clang tools
+ # note: we use two version components here (vs 3 in runtime path)
+ local llvm_version=$(llvm-config --version) || die
+ local clang_version=$(ver_cut 1 "${llvm_version}")
+ local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
+ local clang_tools=( clang clang++ clang-cl clang-cpp )
+ local abi i
+
+ # cmake gives us:
+ # - clang-X
+ # - clang -> clang-X
+ # - clang++, clang-cl, clang-cpp -> clang
+ # we want to have:
+ # - clang-X
+ # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
+ # - clang, clang++, clang-cl, clang-cpp -> clang*-X
+ # also in CHOST variant
+ for i in "${clang_tools[@]:1}"; do
+ rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
+ dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
+ dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
+ done
+
+ # now create target symlinks for all supported ABIs
+ for abi in $(get_all_abis); do
+ local abi_chost=$(get_abi_CHOST "${abi}")
+ for i in "${clang_tools[@]}"; do
+ dosym "${i}-${clang_version}" \
+ "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
+ dosym "${abi_chost}-${i}-${clang_version}" \
+ "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
+ done
+ done
+
+ # Remove unnecessary headers on FreeBSD, bug #417171
+ if use kernel_FreeBSD; then
+ rm "${ED}"/usr/lib/clang/${clang_full_version}/include/{std,float,iso,limits,tgmath,varargs}*.h || die
+ fi
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping & ABI mismatch checks
+ # (also drop the version suffix from runtime headers)
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
+}
+
+multilib_src_install_all() {
+ python_fix_shebang "${ED}"
+ if use static-analyzer; then
+ python_optimize "${ED}"/usr/lib/llvm/${SLOT}/share/scan-view
+ fi
+
+ docompress "/usr/lib/llvm/${SLOT}/share/man"
+ llvm_install_manpages
+ # match 'html' non-compression
+ use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
+ # +x for some reason; TODO: investigate
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+
+ elog "You can find additional utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
+ elog "Some of them are vim integration scripts (with instructions inside)."
+ elog "The run-clang-tidy.py script requires the following additional package:"
+ elog " dev-python/pyyaml"
+}
+
+pkg_postrm() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/elftoolchain/Manifest b/sys-devel/elftoolchain/Manifest
index 947f13092da4..67391bed6dd9 100644
--- a/sys-devel/elftoolchain/Manifest
+++ b/sys-devel/elftoolchain/Manifest
@@ -3,4 +3,4 @@ DIST elftoolchain-0.7.1.tar.bz2 5361427 BLAKE2B f86204b3c89433948eaf2cd2edc57abf
DIST elftoolchain-0.7.1_p20210319.tar.gz 6767324 BLAKE2B c7e068577744fd42a44784e6a2b03ffdaa9dd15e41f4ff2a6d5fd80df24a61a950ff11fa63ebbbaf2c90bc1b19e58f7184a2b883a6f866adcbf0940ad9fca81c SHA512 968d3247e160dd6f90a88e69bf3cb8e6bf2b8216500a0a91699bc2b8d3de22db8f013212813139701e75c3a9eb852bb4c1360e8058f85959e0973e05e4851c8c
EBUILD elftoolchain-0.7.1-r2.ebuild 1275 BLAKE2B 8a37ec62e7d09051d8a6b794c113dac64bc1986de6e897c4051c864dbf6d8b6ce6bb095dd82e7982afea08c634a26d3c5d912ad685b5dad180946c2ca8a0156f SHA512 40ed6cea81157836c11326fcb414019809feda1cd4b276332f358c1bfe996cdfdd7b4f7ad4b8749e440868a6f22b399bc5292ffad2e62e95dd08f78bcf827a0d
EBUILD elftoolchain-0.7.1_p20210319.ebuild 1400 BLAKE2B dd0334ee7a4896766e3c53dc134daf6189856b02188ac76a61a74c1f9d4d6a88a52c780d8713c3aa0114df2bebc64402503141857a6aac22c896ff898232f179 SHA512 4f3e065afc8cc228ee05e959cd97d0d6c8add49263643118efbafd09508229628899cfd0b15c33ce8b1e60b55f6c1f4387442658ef4c64c8c2b33b0459243a87
-MISC metadata.xml 450 BLAKE2B b2e66c3665e4d1d24e8a4887114e5b5d2306a996a56660c7f40846550383588aea10c667b6e055c32dd22b756d8b2a81afbb0512919b273ef15bcf28b0a9c2c0 SHA512 8306332a971bd86d79ee9c3e3d1415ac15a40d015aa9db631b57e4afd125641f5106b8a06bc1c22b0d1aa128dc01ba390b94abaed780e8d92d3a43833fd79f40
+MISC metadata.xml 329 BLAKE2B 42ca6b237062933dbe59eaaaa1e9282fd996e47ec1264d94e8a2ebf831a64d88a2b1a209bd774ae34e423a81c867bdb93ccab39b14d7aca2dfc70387b4035f15 SHA512 50afd77c58579ce53af5a67f2f686156ea8b25536a2761d230677091f954e6ccaf3822a4a2ed11407697fd42b372cca46055e41a01f4c5918a857f3117af5ffb
diff --git a/sys-devel/elftoolchain/metadata.xml b/sys-devel/elftoolchain/metadata.xml
index cebcfd378268..e8c98918df92 100644
--- a/sys-devel/elftoolchain/metadata.xml
+++ b/sys-devel/elftoolchain/metadata.xml
@@ -2,12 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>jakov.smolic@sartura.hr</email>
- <name>Jakov Smolic</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
+ <email>jsmolic@gentoo.org</email>
+ <name>Jakov Smolić</name>
</maintainer>
<upstream>
<remote-id type="sourceforge">elftoolchain</remote-id>
diff --git a/sys-devel/gdb/Manifest b/sys-devel/gdb/Manifest
index b82c5e006019..ae8441dd03bd 100644
--- a/sys-devel/gdb/Manifest
+++ b/sys-devel/gdb/Manifest
@@ -4,8 +4,8 @@ AUX gdb-10.2-sparc-nat.patch 1683 BLAKE2B b5ef1ce44dd935ca8a69a6477cfea703109300
AUX gdb-8.3.1-verbose-build.patch 395 BLAKE2B e2e82307ceae64d16aa9b57a5e639eb5d217c4d977aed0847fdf125bb13ebc004906d9afb8e3f629c41efccca88df0040015e7799c1fd24de5fb50f62f5bbd90 SHA512 c2bb013e4fcabefddcd8042bd3cbb53471f83182cc8769fe0d19eed80ccc4a83bd84d120006fa25b3b7d0310dc2f2ec6b44a6ff74909cd312b7e491f371777a3
DIST gdb-10.1.tar.xz 21507112 BLAKE2B 69d79cd667ecb6e936b41a03817ade5dd9b761f97bc123d668b5f968d123c37d048fc8ec1289151e989f01bb01a43cc3d8b5b54f1807f1e3eb5f43e6bf0aa55b SHA512 0dc54380435c6853db60f1e388b94836d294dfa9ad7f518385a27db4edd03cb970f8717d5f1e9c9a0d4a33d7fcf91bc2e5d6c9cf9e4b561dcc74e65b806c1537
DIST gdb-10.2.tar.xz 21518900 BLAKE2B c5d31d80d2b454767d6f844e8471b012ad437c3872391b618fd7b14c5cf251b78e55d28c12e81382fd600f67e2f618ff5dbe3a7b737a5d5161ceb3542afbb90b SHA512 3653762ac008e065c37cd641653184c9ff7ce51ee2222ade1122bec9d6cc64dffd4fb74888ef11ac1942064a08910e96b7865112ad37f4602eb0a16bed074caa
-EBUILD gdb-10.1.ebuild 7019 BLAKE2B 34dd10dad9c958e960775dbaa65e941448c096f52bd59dd16f214922f2b81fea84c80196cc59660fdc59a60297b23e5aae8de3d6b0453b7ab636862a9c760604 SHA512 7c132c6ee9aad5d683646b8bd9ed9179fcb3c59c40bd049745d4bde6366c4f75c36faa9184e72a5e82954e84a10fae049b907cdfcf4a55671b126f53d2322dc4
-EBUILD gdb-10.2-r1.ebuild 7115 BLAKE2B 41c7ffb7ea952f794146a8cb9f1738387fc0f1161e1923474c8f25a824dc984582963537d1f29673b13a0addae03159206862364f9b2a42455c3dfae4dbe04e8 SHA512 7b16c497f26e67f3e5de1035bbab1201ca79cdbe9583bce716e6816f7187956f2cbed1eb9991661fd597b5e20b24af6e63a2e6ddd28fa75cc76e4a1e27a24d8b
-EBUILD gdb-10.2.ebuild 7063 BLAKE2B 93bacd2f7e3f45c17d01f12a0302d9cf070a65ea4dc00c6c0d47a93b1a0e19ff2d092dd38b813bb43a405f58028f4c43be7e4fb3b1b9bc13d57d5b59aa1db643 SHA512 2ec5d372037d0d98d50d58f5bba03fda00d06fd46e7d11280e4b17a91435086ef288c46cbc5157a3ca4bbc288d4ff679845878e457c8e9e631fde606a85c741a
-EBUILD gdb-9999.ebuild 6990 BLAKE2B 4b35c8d7d109a74e98ca5bc9e6c7967f1f3a9d8ff508f14cd15bf752df8117f3355562bacb2a8bff4ccffe28971e428d9a209df83cb3dd6006d97489259686de SHA512 dbba8eb4feea97afd7ca3d90a9e48209facc426e4227792eb57dc3124ef64979440409382f0ad2ab9f05792ca5661505c46f0f563126bc33d05793af04d74357
+EBUILD gdb-10.1.ebuild 7003 BLAKE2B b98d23ee8b9ba2d9fa573e488fd8f4d941ff34b6e2afc4b7a6d2e7e74ec444f379ac2af9da840cd811aa823ebb5905e426200765bfaf0f0ada06574866ee768d SHA512 bfd8581d2d9cf4631769b1366997974cf08449d4b2166fc48d8b7a5ca9f56560a1350a4141e92946f98176b998780ca118c199d4e0873b3a5f59d1e7bc238c40
+EBUILD gdb-10.2-r1.ebuild 7099 BLAKE2B 10054cc05f91a31e5ea178aa4f98616a3499f20a518b5e189655f2bfc3e59eeb9606a1a0daed51544e836a2c5137080f0adc44401d5f3c33ccb038e9c544f320 SHA512 4c3e25a80776350b0ea5d6b26923b0c4065b9ec0cce90719bc3d8438e0c104a96fbadbd8342b1e90a7ce62639b5247bbefdc28efd4479f1db7f150320fd84ba0
+EBUILD gdb-10.2.ebuild 7047 BLAKE2B 2bcaea9fa86e92c1d3fc4579583f174fbfb48ee0c3acd1fae561111489b2aa0bac001b7b78bced7f27029ef527b4766d1ccf193cb32a770d95c1ce5853ead2ee SHA512 391f5552cc263c4d676a2d6aa144679f283f90744434a92654e4b3d320b9bc25e55cdf2efe8101e9e8cb46bf06b184972e92ff0b6287ee61fa00aa67aa7933b6
+EBUILD gdb-9999.ebuild 6974 BLAKE2B cbcb87d59aba0da99b4b033542bd7ea5e67e57912b46179558fab087e626a4f965e036129e123104eb0d6b69bb76535b34e2dcb92ff7fa5a2a6fb56dabbb95eb SHA512 4b16cc4cc0e62ef27469534c3d397e6f01d41df903b4a7a6fe8bb24083793a33dee1e8a01be3eb8f112ec396d655203fb2c5e2a42cf466a16e62a79c42fe44a2
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 43bc2989930f..c751cccea855 100644
--- a/sys-devel/gdb/gdb-10.1.ebuild
+++ b/sys-devel/gdb/gdb-10.1.ebuild
@@ -46,7 +46,7 @@ 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 lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -65,6 +65,7 @@ RDEPEND="
sys-libs/zlib
lzma? ( app-arch/xz-utils )
python? ( ${PYTHON_DEPS} )
+ guile? ( >=dev-scheme/guile-2.0 )
xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
@@ -157,8 +158,6 @@ src_configure() {
--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.
@@ -176,6 +175,7 @@ src_configure() {
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
$(use_with xxhash)
+ $(use_with guile)
)
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
diff --git a/sys-devel/gdb/gdb-10.2-r1.ebuild b/sys-devel/gdb/gdb-10.2-r1.ebuild
index b5d5204d0458..7440aef64f5c 100644
--- a/sys-devel/gdb/gdb-10.2-r1.ebuild
+++ b/sys-devel/gdb/gdb-10.2-r1.ebuild
@@ -46,7 +46,7 @@ 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 lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -65,6 +65,7 @@ RDEPEND="
sys-libs/zlib
lzma? ( app-arch/xz-utils )
python? ( ${PYTHON_DEPS} )
+ guile? ( >=dev-scheme/guile-2.0 )
xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
@@ -159,8 +160,6 @@ src_configure() {
--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.
@@ -178,6 +177,7 @@ src_configure() {
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
$(use_with xxhash)
+ $(use_with guile)
)
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
diff --git a/sys-devel/gdb/gdb-10.2.ebuild b/sys-devel/gdb/gdb-10.2.ebuild
index 9968e1b3e6af..bdb30edb1d9e 100644
--- a/sys-devel/gdb/gdb-10.2.ebuild
+++ b/sys-devel/gdb/gdb-10.2.ebuild
@@ -46,7 +46,7 @@ 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 lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -65,6 +65,7 @@ RDEPEND="
sys-libs/zlib
lzma? ( app-arch/xz-utils )
python? ( ${PYTHON_DEPS} )
+ guile? ( >=dev-scheme/guile-2.0 )
xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
@@ -158,8 +159,6 @@ src_configure() {
--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.
@@ -177,6 +176,7 @@ src_configure() {
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
$(use_with xxhash)
+ $(use_with guile)
)
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
diff --git a/sys-devel/gdb/gdb-9999.ebuild b/sys-devel/gdb/gdb-9999.ebuild
index d45841148f9b..fde1ad992437 100644
--- a/sys-devel/gdb/gdb-9999.ebuild
+++ b/sys-devel/gdb/gdb-9999.ebuild
@@ -46,7 +46,7 @@ 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 lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
+IUSE="cet guile lzma multitarget nls +python +server source-highlight test vanilla xml xxhash"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
@@ -65,6 +65,7 @@ RDEPEND="
sys-libs/zlib
lzma? ( app-arch/xz-utils )
python? ( ${PYTHON_DEPS} )
+ guile? ( >=dev-scheme/guile-2.0 )
xml? ( dev-libs/expat )
source-highlight? (
dev-util/source-highlight
@@ -156,8 +157,6 @@ src_configure() {
--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.
@@ -175,6 +174,7 @@ src_configure() {
$(use multitarget && echo --enable-targets=all)
$(use_with python python "${EPYTHON}")
$(use_with xxhash)
+ $(use_with guile)
)
if use sparc-solaris || use x86-solaris ; then
# disable largefile support
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 37f5cd201cdf..c6d98de876b8 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -3,6 +3,7 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
EBUILD lld-10.0.1-r1.ebuild 1178 BLAKE2B 52360dc17b7276276ead4183d47954a68f217f19fc0b52f36772cf28225df793b53e61b38a6c90b0dfade77c05270e5c4ade8696b4b29b56746b1b8e2a97f691 SHA512 6a313c7fe0719f32805f7eb3fdc601ec84c6a386ec25867ddafd05c71ec5a37ce1116ead22d8ae64b5f96dda944b34202a0e2eb03452daa9bff822442865ec74
EBUILD lld-10.0.1.ebuild 1327 BLAKE2B c1933a141d5460f94cee3bdeac644760aec6d8e5906e3202e54a7a9da441a57d2de33b77d906dea4dcf6d7bac0bef97edd29c0a8d756093e9b56f81fbec07e01 SHA512 5901b7d0f5b2d07234d3287ab003e68b032a42e0887ab0d76fdd7a7af12feaea97a3ce07f06f3f1c428f7b5b4fa7f98daddf0909c8e3c0bf7ab2adc75363ed95
EBUILD lld-11.1.0-r1.ebuild 1250 BLAKE2B befcc678c9eda33c73806c12b2c24bb8f3b8c9310303c42ceb87247e9816862f25bab546a5989bbe018f40118283c432c71f895e0b333a27a3e344d570e58102 SHA512 7a2046cc5bef8a7c0889fa6fb0bbf1eeaf776cd446ce3188df6c70898de097c0833e6d9293d4a7dad99fa1d6bf894440920549b6295ed442aa0c560149a71a58
@@ -11,5 +12,6 @@ EBUILD lld-12.0.0.ebuild 1666 BLAKE2B 6fe783db711fd7a68603e02271eb8dcdd71bee6729
EBUILD lld-12.0.1.ebuild 1670 BLAKE2B cdcd11b84306a45791d3bdcb41f7058ced2df5278d5a2c7c57a83a359ede641ecfd7009894c67c60b4b43b1303df347a1bf85f790bd71b069acf82b87df073da SHA512 887a40f2f88f34815e5f355ad38c6a9bc20a3d24bfd55f9e1117021b696940a9c947b4beddf20f6acedd404c7f279495a768c77e594d1fed9bf86a819bb32fae
EBUILD lld-13.0.0.9999.ebuild 1629 BLAKE2B 6bbe1d8e730c8ab5719492f03791754bcba4b18839bed1031afa617cff7e88f6b16cad038fa96eccf64e817fe017844fe466b754fbecebea32bb7bc48c5a0339 SHA512 f4239a40bd9cbdde38f837643290214d230f79243f21b22503af0c0c2ebc28683d913db3b0a72ac9582c95c236b63f1134cdac41a18118a98915c606e4d62285
EBUILD lld-13.0.0_rc1.ebuild 1629 BLAKE2B 6bbe1d8e730c8ab5719492f03791754bcba4b18839bed1031afa617cff7e88f6b16cad038fa96eccf64e817fe017844fe466b754fbecebea32bb7bc48c5a0339 SHA512 f4239a40bd9cbdde38f837643290214d230f79243f21b22503af0c0c2ebc28683d913db3b0a72ac9582c95c236b63f1134cdac41a18118a98915c606e4d62285
+EBUILD lld-13.0.0_rc2.ebuild 1629 BLAKE2B 6bbe1d8e730c8ab5719492f03791754bcba4b18839bed1031afa617cff7e88f6b16cad038fa96eccf64e817fe017844fe466b754fbecebea32bb7bc48c5a0339 SHA512 f4239a40bd9cbdde38f837643290214d230f79243f21b22503af0c0c2ebc28683d913db3b0a72ac9582c95c236b63f1134cdac41a18118a98915c606e4d62285
EBUILD lld-14.0.0.9999.ebuild 1629 BLAKE2B 6bbe1d8e730c8ab5719492f03791754bcba4b18839bed1031afa617cff7e88f6b16cad038fa96eccf64e817fe017844fe466b754fbecebea32bb7bc48c5a0339 SHA512 f4239a40bd9cbdde38f837643290214d230f79243f21b22503af0c0c2ebc28683d913db3b0a72ac9582c95c236b63f1134cdac41a18118a98915c606e4d62285
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/lld/lld-13.0.0_rc2.ebuild b/sys-devel/lld/lld-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..68762b0a03cc
--- /dev/null
+++ b/sys-devel/lld/lld-13.0.0_rc2.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm llvm.org python-any-r1
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="~sys-devel/llvm-${PV}"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ >=dev-util/cmake-3.16
+ $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+ )"
+
+LLVM_COMPONENTS=( lld libunwind/include/mach-o )
+LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
+llvm.org_set_globals
+
+python_check_deps() {
+ has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ llvm.org_src_unpack
+
+ # Directory ${WORKDIR}/llvm does not exist with USE="-test",
+ # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
+ # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
+ # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
+ # to existent directory ${WORKDIR}/libunwind/include.
+ mkdir -p "${WORKDIR}/llvm" || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-lld
+}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 9fc1c92a0b9b..bb81b5f8263d 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -3,11 +3,13 @@ DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45c
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
EBUILD llvm-common-10.0.1.ebuild 588 BLAKE2B cd416d913d8ef3f7abc35f4d4db088cb116ba1881b6ce10760ad6a7302b91cc128c560ddf9b7d4ba0acbbbf9c88f2fdc57ddb15e117254d4feec03a601a7fb24 SHA512 c0e63e8e0b26e33133aa0982b21fef306e3d07ad07a9d9e6046e5dbe782162ec8ec701064d0db1aa741d61b6146854cd1de2a352938e6b579be22a21dde753fe
EBUILD llvm-common-11.1.0.ebuild 603 BLAKE2B 0a7273b73b30e1cfb707d232c8634368edf0c10ec938c78544c65ee8553f0916a271fbdacbd358fbafc8d02f1f3e2d8f48dc4ff5b77ef9f5d5f80ef3d2e05eb3 SHA512 520efa24caa6415e82461362659b7db6ea11d4bc3b6b93105cbdd45ce0f46dc35f2b14151425e989a45656e93a5d7b9a3288ff55ef0d585b4b376dfcd5908067
EBUILD llvm-common-12.0.0.ebuild 609 BLAKE2B 2faa36404e10c224574c12300a941de17ef147a0574a95b5c3296ebcd607b705dee123620ba335e98a66846a2989a37a2f6a53330c9f1a5fb6ee14ae4bcf5aa9 SHA512 236aa7322479eec3d1c442998fbbc235f277c559bd060ab1655cbd8e172de5a1fc603b56390bbba0e027d62fc46d2d781b7680daa29f62633230fd167f9f9a95
EBUILD llvm-common-12.0.1.ebuild 612 BLAKE2B c0c69e45e0a291ac7648d29e5fe115945edc767d58c933d25e5f13b0566ae590993283dbb8e13c702eed030c1e7dfc549cffb7730337bcc986cfe2fb9f46fbd5 SHA512 6f7f7ad3f9c4dc7caa358d54c0cec553c145c20e4b2f9d43d1bc5cc4a3aceb1e7aa4c8c317424f00af97225e25a71dcd3961e411836aa41d3dd595c6b299b567
EBUILD llvm-common-13.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
EBUILD llvm-common-13.0.0_rc1.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
+EBUILD llvm-common-13.0.0_rc2.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
EBUILD llvm-common-14.0.0.9999.ebuild 529 BLAKE2B 1fb911ccad47efb5abf020ffb55999c598e2f3e3184f2aedf4083d99fd7b6c87370362f1bddfce76b3ed94da5bfa6df1bbc38161104dbd49892e0e5fe7f42169 SHA512 bbbde7b5ea8352ec4cb6953417b3f85374a0ad338aecb0794ff4557f9c58bc1974fbc1defb3c7be80adaca7184271b17a11bfc711dce269f4cee74b7a2c19ad7
MISC metadata.xml 216 BLAKE2B fe5e49887842aa513fbf1f2e09bed09a884d531fd21bdaeb2d389e8bf590b6c0e7063f0af98f66e2db129308ab0f0804ba327c3c752bbb4c900c59ac109d99aa SHA512 3485598147c953e72e1785693a489a7e7d73d59620b76054db9c0ce95d8bfa0e8ffec29da7f7a9d73a32e5b77eac07ca3306c56a972dc57fd89d477edaebf3d5
diff --git a/sys-devel/llvm-common/llvm-common-13.0.0_rc2.ebuild b/sys-devel/llvm-common/llvm-common-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..53511a0a20e3
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-13.0.0_rc2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS=""
+IUSE=""
+
+RDEPEND="!sys-devel/llvm:0"
+
+LLVM_COMPONENTS=( llvm/utils/vim )
+llvm.org_set_globals
+
+src_install() {
+ insinto /usr/share/vim/vimfiles
+ doins -r */
+ # some users may find it useful
+ newdoc README README.vim
+ dodoc vimrc
+}
diff --git a/sys-devel/llvm-roc/Manifest b/sys-devel/llvm-roc/Manifest
index d328fc6325f1..8e4fedf9a975 100644
--- a/sys-devel/llvm-roc/Manifest
+++ b/sys-devel/llvm-roc/Manifest
@@ -7,6 +7,7 @@ AUX llvm-roc-4.1.0-fix-missing-include.patch 665 BLAKE2B f1bf71ef746cb7bf2671e88
AUX llvm-roc-4.2.0-add_Object.patch 439 BLAKE2B c59ab50959d94ea04d63b734d580f1e91e6fc12bab5ff94b2322a28388ffb2e9e2bd26905dc3095bc75c57248b6e9a0e8913a1d02054b06c7e5e3e72a05add93 SHA512 ed2ffebd3c79f2dbcdb77cbacffc9a546b35e11a7c523d524ad74b6b69eab7fca91e0d22af09bac42284865da1a332292dbe8a3df968e4364baf55996ea05823
AUX llvm-roc-4.2.0-current_pos.patch 1217 BLAKE2B 693e79cb895918f5e1a56be8d6624c049e8aa5640c55c34fc3fe27f053b7642670310ece321548df58f23e73d145f00d5c95b1e462eee008070cf6a2fde1c66c SHA512 fa8f773ba230e01f83526e4ae644fb2e7aceae99720cb5219c1b22baaabc5008f9b0151aee4c44ba9a4415ef421a8bfeb268302ee70e8c56428bf56c08b15903
AUX llvm-roc-4.2.0-cyclades.patch 3703 BLAKE2B 3250b2da548ffe759155fb673f0f81cfba1a918a8337aac72c8190edde18c0d14610b9734ac47c9e47570c35c6c28a525045f48acb446f70e7b6aa0706daab72 SHA512 694c38775a6353eba3c5bdcc39e2884a913f72b7a35dd5285ceed0ddf89456c9ca89fa2f5d801b6f4aa44f1301e3ceeb65f1641cd92d5128a91ebce5f42a261e
+AUX llvm-roc-4.3.0-hip-location.patch 7128 BLAKE2B 6756bcad1c0bdef0729d3e7f2c6ea3468777623fb1493209956f436e9f234a1728e052c31ff064f8125c72d2a8cf68f425f76fb21cecf02680e999a6d5e7e41b SHA512 09f42ce7a37e072aa813036b78efd38cdaee54a1155fb347bf22f3f9f87441a6af83014fbc798f4d6d11966f40cf9c9fe6d3a8662b58be7859ab5b167eee37c2
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
@@ -27,5 +28,5 @@ EBUILD llvm-roc-4.0.1.ebuild 2344 BLAKE2B d195d63018e995832f513b50ad0f2ac7563492
EBUILD llvm-roc-4.1.0.ebuild 2353 BLAKE2B 0ad6a859369212effe46aa857af8902d2be4113ff00b7760c79c4372c31f4c08e217b928fa06938e9aa9f4859677c6dc7b6624fe19b42b1477c238ec31c2b0df SHA512 2075d70c1d396a7a09a570480dfe054236ec987bf2b95059a85a0011e2c82f9dbc0d0a66ec61a93b5954ecfd5a6061cf742b51edf574754e3876e92733d458be
EBUILD llvm-roc-4.1.1.ebuild 2392 BLAKE2B 6991a50a82746c051c1084f0e4794c31347fc792a7da6ba791cc09fe16de7394cdf70edc50da73db0db8db5e554c6d8cd41f087c47b9dec0d60bb9f8ac98f9fb SHA512 489431911aa16544645387b13a6296000b7171bd0910065bd778d87ef5b1db33f26d40ca4d6ea88998a7ed932603ceba41eea5c11b1ffb09890c5d530f64b644
EBUILD llvm-roc-4.2.0.ebuild 2366 BLAKE2B 91003a3a21fc407c8546b4984daf617414877b61b83bfa20ddad15f64582b3076e744d42040d896c3afec6ca9e9a06433035883775d72841914c48b6a60546b8 SHA512 c149083879e100e8db6125c9d5ce839e3cf15e932b49378be4351da1e5213369b18a428b681d7dd1fd53aa1e0c9ec24e6d8cc2c59a8fd748395764473b5bedd4
-EBUILD llvm-roc-4.3.0.ebuild 2394 BLAKE2B 082476642b71e1985d9993a9f031cd4bc05814ef070c174906ed2799874e735010f081b656fe54abe802e79cf8e06a73a39ffe1ac103c48b977eb19869ea950f SHA512 70ddf87455d9a96fb6a0b9045516a72041ebd0070a4b4d342226de3783aaf1efeb5e8f8addaf3a932448228e82610bf8a896bf9fbf2450a6935a91f2ebcc0ba8
+EBUILD llvm-roc-4.3.0-r1.ebuild 2447 BLAKE2B f8c8605942225d53517c373cc42e6f6ca73000a47415ad89fdf8a6095a05637715be1d7636b388a82f7040db5e256d9a2a0a206a6956de6ca4fa7b8884e9b637 SHA512 fe11f3b4a2ba24cdb068fc4ba8a0a0f0b8bb72a3d42fc0701d3d6fdf1cad9fb9f0d8f458da987a14601102a095eccb1ec7dac36a1863e19d58cdc2722325cc86
MISC metadata.xml 469 BLAKE2B a1e09f1367584ac91c7ff11e1960ea9bc9fb4cc91f6aba026c62bc8eda0d73c63d9cac2307c0acc45a0d6edad2c42dfe48b62ce7186e97eeaa431cd92e49efb9 SHA512 80825c579b65284d97c97ed7988330141c9c5587e3b95e22c28908b98cf010298b75dc04b5e2ccfe38cee22f6ef916c9226f7db4c604a4b4dde2b2ff6c755a37
diff --git a/sys-devel/llvm-roc/files/llvm-roc-4.3.0-hip-location.patch b/sys-devel/llvm-roc/files/llvm-roc-4.3.0-hip-location.patch
new file mode 100644
index 000000000000..1fe93a33db36
--- /dev/null
+++ b/sys-devel/llvm-roc/files/llvm-roc-4.3.0-hip-location.patch
@@ -0,0 +1,189 @@
+replace hardcoded hip finder with Gentoo paths.
+
+It is not necessary to check HIP runtime each time.
+
+Author: Benda Xu <heroxbd@gentoo.org>
+Author: Yiyang Wu <xgreenlandforwyy@gmail.com>
+
+--- orig/clang/lib/Driver/ToolChains/AMDGPU.cpp
++++ llvm-project-rocm-4.3.0/clang/lib/Driver/ToolChains/AMDGPU.cpp
+@@ -165,133 +165,8 @@ bool RocmInstallationDetector::parseHIPV
+ /// cached and populated only once.
+ const SmallVectorImpl<RocmInstallationDetector::Candidate> &
+ RocmInstallationDetector::getInstallationPathCandidates() {
+-
+- // Return the cached candidate list if it has already been populated.
+- if (!ROCmSearchDirs.empty())
+- return ROCmSearchDirs;
+-
+- auto DoPrintROCmSearchDirs = [&]() {
+- if (PrintROCmSearchDirs)
+- for (auto Cand : ROCmSearchDirs) {
+- llvm::errs() << "ROCm installation search path";
+- if (Cand.isSPACK())
+- llvm::errs() << " (Spack " << Cand.SPACKReleaseStr << ")";
+- llvm::errs() << ": " << Cand.Path << '\n';
+- }
+- };
+-
+- // For candidate specified by --rocm-path we do not do strict check, i.e.,
+- // checking existence of HIP version file and device library files.
+- if (!RocmPathArg.empty()) {
+- ROCmSearchDirs.emplace_back(RocmPathArg.str());
+- DoPrintROCmSearchDirs();
+- return ROCmSearchDirs;
+- } else if (const char *RocmPathEnv = ::getenv("ROCM_PATH")) {
+- if (!StringRef(RocmPathEnv).empty()) {
+- ROCmSearchDirs.emplace_back(RocmPathEnv);
+- DoPrintROCmSearchDirs();
+- return ROCmSearchDirs;
+- }
+- }
+-
+- // Try to find relative to the compiler binary.
+- const char *InstallDir = D.getInstalledDir();
+-
+- // 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
+- // subdirectory of bin.
+- auto DeduceROCmPath = [](StringRef ClangPath) {
+- // Strip off directory (usually bin)
+- StringRef ParentDir = llvm::sys::path::parent_path(ClangPath);
+- StringRef ParentName = llvm::sys::path::filename(ParentDir);
+-
+- // Some builds use bin/{host arch}, so go up again.
+- if (ParentName == "bin") {
+- ParentDir = llvm::sys::path::parent_path(ParentDir);
+- ParentName = llvm::sys::path::filename(ParentDir);
+- }
+-
+- // Detect ROCm packages built with SPACK.
+- // clang is installed at
+- // <rocm_root>/llvm-amdgpu-<rocm_release_string>-<hash>/bin directory.
+- // We only consider the parent directory of llvm-amdgpu package as ROCm
+- // installation candidate for SPACK.
+- if (ParentName.startswith("llvm-amdgpu-")) {
+- auto SPACKPostfix =
+- ParentName.drop_front(strlen("llvm-amdgpu-")).split('-');
+- auto SPACKReleaseStr = SPACKPostfix.first;
+- if (!SPACKReleaseStr.empty()) {
+- ParentDir = llvm::sys::path::parent_path(ParentDir);
+- return Candidate(ParentDir.str(), /*StrictChecking=*/true,
+- SPACKReleaseStr);
+- }
+- }
+-
+- // Some versions of the rocm llvm package install to /opt/rocm/llvm/bin
+- // Some versions of the aomp package install to /opt/rocm/aomp/bin
+- if (ParentName == "llvm" || ParentName.startswith("aomp"))
+- ParentDir = llvm::sys::path::parent_path(ParentDir);
+-
+- return Candidate(ParentDir.str(), /*StrictChecking=*/true);
+- };
+-
+- // Deduce ROCm path by the path used to invoke clang. Do not resolve symbolic
+- // link of clang itself.
+- ROCmSearchDirs.emplace_back(DeduceROCmPath(InstallDir));
+-
+- // Deduce ROCm path by the real path of the invoked clang, resolving symbolic
+- // link of clang itself.
+- llvm::SmallString<256> RealClangPath;
+- llvm::sys::fs::real_path(D.getClangProgramPath(), RealClangPath);
+- auto ParentPath = llvm::sys::path::parent_path(RealClangPath);
+- if (ParentPath != InstallDir)
+- ROCmSearchDirs.emplace_back(DeduceROCmPath(ParentPath));
+-
+- // Device library may be installed in clang resource directory.
+- ROCmSearchDirs.emplace_back(D.ResourceDir,
+- /*StrictChecking=*/true);
+-
+- ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/rocm",
+- /*StrictChecking=*/true);
+-
+- // Find the latest /opt/rocm-{release} directory.
+- std::error_code EC;
+- std::string LatestROCm;
+- llvm::VersionTuple LatestVer;
+- // Get ROCm version from ROCm directory name.
+- auto GetROCmVersion = [](StringRef DirName) {
+- llvm::VersionTuple V;
+- std::string VerStr = DirName.drop_front(strlen("rocm-")).str();
+- // The ROCm directory name follows the format of
+- // rocm-{major}.{minor}.{subMinor}[-{build}]
+- std::replace(VerStr.begin(), VerStr.end(), '-', '.');
+- V.tryParse(VerStr);
+- return V;
+- };
+- for (llvm::vfs::directory_iterator
+- File = D.getVFS().dir_begin(D.SysRoot + "/opt", EC),
+- FileEnd;
+- File != FileEnd && !EC; File.increment(EC)) {
+- llvm::StringRef FileName = llvm::sys::path::filename(File->path());
+- if (!FileName.startswith("rocm-"))
+- continue;
+- if (LatestROCm.empty()) {
+- LatestROCm = FileName.str();
+- LatestVer = GetROCmVersion(LatestROCm);
+- continue;
+- }
+- auto Ver = GetROCmVersion(FileName);
+- if (LatestVer < Ver) {
+- LatestROCm = FileName.str();
+- LatestVer = Ver;
+- }
+- }
+- if (!LatestROCm.empty())
+- ROCmSearchDirs.emplace_back(D.SysRoot + "/opt/" + LatestROCm,
+- /*StrictChecking=*/true);
+-
+- DoPrintROCmSearchDirs();
+- return ROCmSearchDirs;
++ ROCmSearchDirs.emplace_back(D.SysRoot + "/usr", /*StrictChecking=*/true);
++ return ROCmSearchDirs;
+ }
+
+ RocmInstallationDetector::RocmInstallationDetector(
+@@ -423,42 +298,7 @@ void RocmInstallationDetector::detectDev
+ }
+
+ void RocmInstallationDetector::detectHIPRuntime() {
+- SmallVector<Candidate, 4> HIPSearchDirs;
+- if (!HIPPathArg.empty())
+- HIPSearchDirs.emplace_back(HIPPathArg.str(), /*StrictChecking=*/true);
+- else
+- HIPSearchDirs.append(getInstallationPathCandidates());
+- auto &FS = D.getVFS();
+-
+- for (const auto &Candidate : HIPSearchDirs) {
+- InstallPath = Candidate.Path;
+- if (InstallPath.empty() || !FS.exists(InstallPath))
+- continue;
+- // HIP runtime built by SPACK is installed to
+- // <rocm_root>/hip-<rocm_release_string>-<hash> directory.
+- auto SPACKPath = findSPACKPackage(Candidate, "hip");
+- InstallPath = SPACKPath.empty() ? InstallPath : SPACKPath;
+-
+- 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)
+- if (parseHIPVersionFile((*VersionFile)->getBuffer()))
+- continue;
+-
+- HasHIPRuntime = true;
+- return;
+- }
+- HasHIPRuntime = false;
++ HasHIPRuntime = true;
+ }
+
+ void RocmInstallationDetector::print(raw_ostream &OS) const {
diff --git a/sys-devel/llvm-roc/llvm-roc-4.3.0.ebuild b/sys-devel/llvm-roc/llvm-roc-4.3.0-r1.ebuild
index f055da5b9391..34567ada1922 100644
--- a/sys-devel/llvm-roc/llvm-roc-4.3.0.ebuild
+++ b/sys-devel/llvm-roc/llvm-roc-4.3.0-r1.ebuild
@@ -33,6 +33,7 @@ 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.3.0-hip-location.patch"
eapply "${FILESDIR}/${PN}-4.2.0-cyclades.patch"
if [[ -n ${EPREFIX} ]]; then
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 3c0a62ac8a3e..f79a31a06af8 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,17 +6,20 @@ DIST llvm-gentoo-patchset-10.0.1-3.tar.xz 9244 BLAKE2B f568b8eef92f048f08fb6618e
DIST llvm-gentoo-patchset-11.1.0-1.tar.xz 4032 BLAKE2B e69138a422e315b31a3d9c11faa4ae1ddf1bf9092cee2db0de4d2adef81fd802973488293aab48b764402b51996893b17ca03249ef4620848a576d1f6cdb9698 SHA512 e1c5504dab6c5db9fdf4addfeb12316f22d0258717ba551a9b7b3ba37919491fb6011ac5cca1e793b7509d5c1c186bc6bc4213f7d6155d190612492b216f979b
DIST llvm-gentoo-patchset-12.0.0-1.tar.xz 6364 BLAKE2B bcf96dad8300cdc3e1f416cb90935ae3b1359efc5687118b5a9bbee25de7087a266250f50c6f2abd18f4efeeec19354f59513c8fdd1d61c2cfc8cc2f0115e514 SHA512 76201e169f71a8d568365ffeafcfd37138e74b0536826f47eb6ce89c2280586f10426917e851f99bfb20477cd828cc40daa8cb7a62959981620fbd81e1b22ee1
DIST llvm-gentoo-patchset-12.0.1.tar.xz 5280 BLAKE2B 963d005bc7b636570be90eb841ac5bcaeb927538cc7de27683167111a17d6496677c7517de2ecfaf14b5d8ac22bad357be490b8a2ed9aba502fd5f447ecc99e9 SHA512 fc7c38e671555751650299c3a8bee44d5c7f26e11b68d5538c507fb7fe9ff2d349bdcd43bce90a448a747f082d523b3849d6bcda5e3ae2e998edcb926d6aa249
+DIST llvm-gentoo-patchset-13.0.0-rc2.tar.xz 5556 BLAKE2B e6c7ecfe8f842edc4d4f30a20c66973519182ecb46e21fb20b6c5fcb6d54cdef830fcb120a405b77f1332e3557acbbbbfa99170b20d17f137e0a63b2d0dc1258 SHA512 ddeaf1d07f0ba893ce93e5fe1eff1c0716769a7879fc503c397f4db7becb363f94747f59b6d53c204df73a93954fb0ca5aae6ad544ce55c964c4bf441a410cd2
DIST llvm-gentoo-patchset-9999-1.tar.xz 4032 BLAKE2B b9413484dafed8ae0c68c2c164b45fd07bb8d5d0898f03abe118fd2120ffcb1fb6c949de9649a97c2e8105f24b9d131a725c67c0a502ca4d4d192c1a0d65f49d SHA512 e64449eeaf756c5bd945109937b84ba4bd8a015222bd792d39cf3947871e87571a4ca57814790e51544cb05ad4c2d1f044e818e4caaac7c2e2a02cb1aa290fcc
DIST llvmorg-10.0.1.tar.gz 120880730 BLAKE2B 30f19f56c4d1f6abcda5fec76256219d1e3c8a6ff1a1f152f94bfe362c07884339fe571ff7fe903ed3b3deb150b2fa868c387887a0dea2930dc08b81db71a5b1 SHA512 48078fff9293a87f1a973f3348f79506f04c3da774295f5eb67d74dd2d1aa94f0973f8ced3f4ab9e8339902071f82c603b43d5608ad7227046c4da769c5d2151
DIST llvmorg-11.1.0.tar.gz 122776532 BLAKE2B ca842ff4afff8f44c82b5e7383962a9c45ca1c93b64fa4c6ebcd70a1d3849dbad2b8e4e24fba02d144c6266d7fab3607ebc6999b28c229cb35256cf40f26a985 SHA512 9a8ce022a935eed42fa71a224f2a207122aadcbef58ee855fdb4825f879e7d028e4dcff22c19b9d336db1c8bf63fb84372d44981acf84615f757e54306c92b81
DIST llvmorg-12.0.0.tar.gz 134226215 BLAKE2B f9c3ba8c58571855caa4f206fd285c9b5be66672fb0814cb8bc0964a051f57f5d35013aa1e27cbda502652b37df1ec23474129109e76a42066847860db441dbe SHA512 0cff02155c5ac0d6db2b72d60d9819d5b5dd859663b45f721b1c7540239c2fceb1f57d9173f6870c49de851c242ed8e85c5c6d6577a1f8092a7c5dcd12513b26
DIST llvmorg-12.0.1.tar.gz 134259748 BLAKE2B f41de787bc73ff2edfda1b22cc8602be6f65f37dd9e4c8888533cfa8c3ccdcf4f108aaab9de23ab0ab987966eb160f2a553a0bdff99461e71ddd5bfcd086090d SHA512 6eb0dc18e2c25935fabfdfc48b0114be0939158dfdef7b85b395fe2e71042672446af0e68750aae003c9847d10d1f63316fe95d3df738d18f249174292b1b9e1
DIST llvmorg-13.0.0-rc1.tar.gz 147235597 BLAKE2B 089fed119dee8a16f278cebb13808bd5a95629cc87ebee3050225cc041b78fee51acacc5bcc913d4a99e830bfe5774b19a04a845293c5087dd2a8c9d94d2fde9 SHA512 6e307e2c2dcb7ff41d11ee29d69f41c0ef55f200999847a3a924a2e773fc9c2160015746789af8b723c628bd232f97fce63370209bd0065491d80b0cc0017e85
+DIST llvmorg-13.0.0-rc2.tar.gz 147267736 BLAKE2B 153bf7320f2aa911112d366ffc79f7110cb04f135c2a8b176c263f0a75eb768206d9bd462893d45504b0e58aa9e127fdcafb02300eab1666e4616aa654d457dd SHA512 a01baf3eaa02f02af42bfcf6dcf24f166351bf1c09601495617c81e41def23210573bad40a344270f40c5deb881d06863536abac2a6481930766a6a56335fb44
EBUILD llvm-10.0.1.ebuild 11490 BLAKE2B 40960dd1109655157b04396283d704ea1a0af35ffd09ec9bab2718d62fde888508246ea77a473cd7512c1818b5a3a8d7b72e5786d64faf43bd42ff823b765e22 SHA512 75767e94d55ca1f9f7a769abfc0c916388e69ccd51620c8083f8bb184bf9649d2b9c75efaed46d96f8e0932cb3e6beb71d51a3b1565243218a3efd5144238296
EBUILD llvm-11.1.0.ebuild 12504 BLAKE2B 7f22ab387fab31e11d554667b1b183f5b66203f601096c130642500f877f2af473b31a0cba96da93d9c85d50e2fbafb7f46a0ff6bf2f96a0bd41266ddc04dc8f SHA512 716b8474077279b821140d2defa5f1dd5b2ab7cf09aeb27907410a184a701ecbf99f545622e68d0a81a762c3b5cbc6ff3b30415a331d38dac8fb72f37a3147bf
EBUILD llvm-12.0.0.ebuild 12772 BLAKE2B a41ff10ab546eecb3b37c32ad55ac317b7d966f6a3b0cad7c3d5263a43919df575f76e0f60498e03e0fda4e6eb61183d4aa645621c946cd3aad5d05908209eb2 SHA512 6ca48dfcb3b975f0d837fd6de1b1a02ff199fe615ef0524ff8cfea95ca9cb8b25339c14fc9c746081cb4d19566ffb9d9c5dac42e650efc56174bf5ffeca80fb5
EBUILD llvm-12.0.1.ebuild 12624 BLAKE2B 6805d822bc72cac0c028c88848662f0ca4e23a9a9bd7ae55e48a2e55a62c4830cae727fc007b99e351258b8507c85faaccdccbd3c9fe453e298746b198e3878d SHA512 9ce574d793324cb126022f170fa0111460233dc0a9e1df69604ee028e018a29affc013a41defbbd164cfbcd44a146cc3158c8d9f2d9ca32a60e1f43f1d209795
EBUILD llvm-13.0.0.9999.ebuild 12589 BLAKE2B 44bca6c287c2d804f6701a8ac8a953624e8418d1ead94450b7b8b5f0ff5192bf6c027ca4f290c8a0e6bc96badd50be68e3fa2765f8cc535ddbd2bd8a39530b2d SHA512 b3e11ab52ca7309933d7cb66e3cb5c85c934c5e417e271d3c8c14879a1afc190b7a49f68a5abc2d847f1883a17f85cd3e9ab42b358b530424d4314707063fce9
EBUILD llvm-13.0.0_rc1.ebuild 12589 BLAKE2B 44bca6c287c2d804f6701a8ac8a953624e8418d1ead94450b7b8b5f0ff5192bf6c027ca4f290c8a0e6bc96badd50be68e3fa2765f8cc535ddbd2bd8a39530b2d SHA512 b3e11ab52ca7309933d7cb66e3cb5c85c934c5e417e271d3c8c14879a1afc190b7a49f68a5abc2d847f1883a17f85cd3e9ab42b358b530424d4314707063fce9
+EBUILD llvm-13.0.0_rc2.ebuild 12593 BLAKE2B b1a89a4d89292e48f7bfb092c7b560cd8c8ee3d086e00e8ee1897023fbab48f43e81f89d44df263ace43ce71bc928f6357ac8bb75f80e325db169bdecc128e3e SHA512 e6de5707273c49c5141289dd8a08e3142de63c3c4cb6340465c6de41ebc9f46dcbaaa4944c1c2c1b41be21c9b457f2374d2a26a64469c393f5e2df0be9d949fc
EBUILD llvm-14.0.0.9999.ebuild 12589 BLAKE2B 44bca6c287c2d804f6701a8ac8a953624e8418d1ead94450b7b8b5f0ff5192bf6c027ca4f290c8a0e6bc96badd50be68e3fa2765f8cc535ddbd2bd8a39530b2d SHA512 b3e11ab52ca7309933d7cb66e3cb5c85c934c5e417e271d3c8c14879a1afc190b7a49f68a5abc2d847f1883a17f85cd3e9ab42b358b530424d4314707063fce9
MISC metadata.xml 2563 BLAKE2B ca85030788fb213fc891d895238fd75562cdd25cc5fe4271d709cb1c00ef56b0e8b367dc70cc18f7d185d6fbdb57333e219a984220b60141d28fb4784b2cb94a SHA512 8de68ee7f964e6eb2613bd2ff584f834e0f5a3ae8b303b5f2f10fda718a87af9b8ddfc19399950fe4eb8be515930124ced8018190af0f69da7ec5fe8180a68a2
diff --git a/sys-devel/llvm/llvm-13.0.0_rc2.ebuild b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
new file mode 100644
index 000000000000..cc9415e5e563
--- /dev/null
+++ b/sys-devel/llvm/llvm-13.0.0_rc2.ebuild
@@ -0,0 +1,521 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+ toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Those are in lib/Targets, without explicit CMakeLists.txt mention
+ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC CSKY M68k VE )
+# Keep in sync with CMakeLists.txt
+ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
+ NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
+ "${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
+ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="$(ver_cut 1)"
+KEYWORDS=""
+IUSE="debug doc exegesis gold libedit +libffi ncurses test xar xml z3
+ kernel_Darwin ${ALL_LLVM_TARGETS[*]}"
+REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ exegesis? ( dev-libs/libpfm:= )
+ gold? ( >=sys-devel/binutils-2.31.1-r4:*[plugins] )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xar? ( app-arch/xar )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}
+ gold? ( sys-libs/binutils-libs )"
+BDEPEND="
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-$(ver_cut 1-3).9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+ ${PYTHON_DEPS}"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="${RDEPEND}
+ !sys-devel/llvm:0"
+PDEPEND="sys-devel/llvm-common
+ gold? ( >=sys-devel/llvmgold-${SLOT} )"
+
+LLVM_COMPONENTS=( llvm )
+LLVM_MANPAGES=build
+LLVM_PATCHSET=13.0.0-rc2
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_live_ebuild() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+ # reorder
+ all_targets=( "${prod_targets[@]}" "${exp_targets[@]}" )
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${all_targets[*]} != ${ALL_LLVM_TARGETS[*]#llvm_targets_} ]]; then
+ eqawarn "ALL_LLVM_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_TARGETS[*]#llvm_targets_}"
+ eqawarn "Expected: ${all_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(ninja -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the live ebuild is up-to-date
+ check_live_ebuild
+
+ llvm.org_src_prepare
+}
+
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-reduce
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use gold && out+=(
+ LLVMgold
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_BUILD_TESTS=$(usex test)
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+ # used only for llvm-objdump tool
+ -DLLVM_HAVE_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)"
+}