summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10639 -> 10646 bytes
-rw-r--r--sys-devel/autoconf/Manifest2
-rw-r--r--sys-devel/autoconf/autoconf-2.71-r6.ebuild2
-rw-r--r--sys-devel/clang-common/Manifest4
-rw-r--r--sys-devel/clang-common/clang-common-16.0.5-r1.ebuild2
-rw-r--r--sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild190
-rw-r--r--sys-devel/clang-runtime/Manifest3
-rw-r--r--sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild2
-rw-r--r--sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild41
-rw-r--r--sys-devel/clang-toolchain-symlinks/Manifest2
-rw-r--r--sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild2
-rw-r--r--sys-devel/clang/Manifest6
-rw-r--r--sys-devel/clang/clang-16.0.5.ebuild2
-rw-r--r--sys-devel/clang/clang-17.0.0.9999.ebuild8
-rw-r--r--sys-devel/clang/clang-17.0.0_pre20230615.ebuild474
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/gcc-13.1.1_p20230617.ebuild65
-rw-r--r--sys-devel/lld-toolchain-symlinks/Manifest2
-rw-r--r--sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild2
-rw-r--r--sys-devel/lld/Manifest6
-rw-r--r--sys-devel/lld/lld-16.0.5.ebuild2
-rw-r--r--sys-devel/lld/lld-17.0.0.9999.ebuild2
-rw-r--r--sys-devel/lld/lld-17.0.0_pre20230615.ebuild89
-rw-r--r--sys-devel/llvm-common/Manifest4
-rw-r--r--sys-devel/llvm-common/llvm-common-16.0.5.ebuild2
-rw-r--r--sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild28
-rw-r--r--sys-devel/llvm-toolchain-symlinks/Manifest2
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild2
-rw-r--r--sys-devel/llvm/Manifest6
-rw-r--r--sys-devel/llvm/llvm-16.0.5.ebuild2
-rw-r--r--sys-devel/llvm/llvm-17.0.0.9999.ebuild2
-rw-r--r--sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild533
-rw-r--r--sys-devel/llvmgold/Manifest2
-rw-r--r--sys-devel/llvmgold/llvmgold-16.ebuild2
34 files changed, 1461 insertions, 34 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index b53e9fe74686..fcca092d5bcc 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/autoconf/Manifest b/sys-devel/autoconf/Manifest
index e23df8292fa0..877ef7d124f0 100644
--- a/sys-devel/autoconf/Manifest
+++ b/sys-devel/autoconf/Manifest
@@ -30,7 +30,7 @@ EBUILD autoconf-2.69-r8.ebuild 1757 BLAKE2B b8d7f29b6bf0a9c6b3ea1993cadb83dee51a
EBUILD autoconf-2.69-r9.ebuild 1729 BLAKE2B d80da7fab2b58c48a432a0f54edc2a6d939080d5310bdf1273ce6151027f26931663b13741a12370bf6378c42727ba8969d141a4a5a781aaf1452302a5cfc08d SHA512 aee67ef20c7f5a8652b323a97dd368539ce38d07032b4226e4c763a46e81e9345fc05651f46dfd0cbbffeb81b66b8c9a0b96efa4e1c7c8112580cbb4f158089c
EBUILD autoconf-2.71-r1.ebuild 2209 BLAKE2B e745a44ee3abd6536c74a5206e67a9468d1a7c75e1448e023fbf66ab059f9b0242fb81bf03986a128eed8f13d6dd7fcc4b299c083393cafe58769a59a4cecf95 SHA512 5c03752ec0a15fdec87cbe53d976ec81b6d441bb1b175311dc19c6e78973a1865c06a26a8fd30cb0c28708f7f22ca6bc523f1fca33abe33fcd166e23780c400a
EBUILD autoconf-2.71-r5.ebuild 2425 BLAKE2B 136d90bc2514c86c3575cc225d133b560d66effbbe23a7fbd05043b69a000a42e78d258704ab182485bd5b2cba0705294f90f2cf4288135f3b2351404e176cb1 SHA512 42fe4a6c6f5a414d836ecf1cbfa9d04cd15810de23d3b5f5bbf909862015127b303ffe4bcedcfa8f171cb860923bc7b5b654593d6e20fc479866885d8cd3c47f
-EBUILD autoconf-2.71-r6.ebuild 2398 BLAKE2B 9f259774975a963a64082a1f54602fb80cc036f4a8a0f2e9fd19ee2a1eedfd39d3c2ed9a1d81582afaee868b8773dfbce96a8b993a4cedea824e086339c6189e SHA512 3de195a30372467749bb68d0b515b0c0f7989713b7ac17084475e20377e7c806e8bb6acc918ca427e41f1bfe6ba26b306cccb433e053518a2a9703c30da8b1d6
+EBUILD autoconf-2.71-r6.ebuild 2397 BLAKE2B aea12dcbf7d6539f230c356c51248e75bb2ca37ca2bc311a698540c8d8e1b444fa3ec97b80e6010dec6f6561ece9422f2773de9e9376955e7db1ae9f2950d981 SHA512 96f95025bce54ff9c4c7a520f1519a526334add30b898c2ee6e19990a1fa50b2c6d5a237ba48cc181e8243122c6a216a1ee20b7d52586f082627ff832d000931
EBUILD autoconf-2.72c-r2.ebuild 2215 BLAKE2B c52deed1b7ed04fa617715dfd0c088f21795d02bab3b67992e3e05d0030acaab6b4a72943242e9894a5a8c2a1d12cfec9946f78bdcc4d736f2ad1eb1a0b6112d SHA512 487f779dad6916f23e227681fca838f45efcfb7b8fe7eb22ac6083cb7d6d61a79e6c0401e744d3e2fabfa67c18a7ed43a73e0010380ec97f22ed052db72d84cb
EBUILD autoconf-9999.ebuild 2215 BLAKE2B c52deed1b7ed04fa617715dfd0c088f21795d02bab3b67992e3e05d0030acaab6b4a72943242e9894a5a8c2a1d12cfec9946f78bdcc4d736f2ad1eb1a0b6112d SHA512 487f779dad6916f23e227681fca838f45efcfb7b8fe7eb22ac6083cb7d6d61a79e6c0401e744d3e2fabfa67c18a7ed43a73e0010380ec97f22ed052db72d84cb
MISC metadata.xml 343 BLAKE2B e5fd0138606384a4d646b618c096693858ddc94d09e0bb4dd3ecc6ef064a1edf9586f62a5cc753f680d73b2a6c72ed00739b21e54d490dd8edc97aa32dd05309 SHA512 6b06b7e7a5e47a4de92b2032ba3af669916818038802309e4db26917aa536387d2227feb33c29976179fb3cbb10d4b2f975d1055308e6db81a734baf1e8c1e5e
diff --git a/sys-devel/autoconf/autoconf-2.71-r6.ebuild b/sys-devel/autoconf/autoconf-2.71-r6.ebuild
index dbdc3edf9a01..7423845f9968 100644
--- a/sys-devel/autoconf/autoconf-2.71-r6.ebuild
+++ b/sys-devel/autoconf/autoconf-2.71-r6.ebuild
@@ -16,7 +16,7 @@ else
#SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${PATCH_TARBALL_NAME}.tar.xz"
if ! [[ ${PV} == *_beta* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}"/${MY_P}
fi
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 77efab27c5e0..f4f96f1f6328 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@@ -10,8 +11,9 @@ DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAK
EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef
EBUILD clang-common-15.0.7-r5.ebuild 5090 BLAKE2B 39974630209630607d10903585223df68cd809fb390fc9eb2a80c4235ce70ae21120083f8eaf749c769a93f738c4e971e31e978dd637a0b87d07260281db4b83 SHA512 6cb37a7eb373d300d165e851e3643fd35e11d78a6a88617b4a8c0063b83558d10d307c32861e9ba2d0ac902c1cd2069ece6bd1446e309a6753f13adf8cd8fa2c
EBUILD clang-common-15.0.7-r6.ebuild 5449 BLAKE2B 34001daa85a7ed75e5b27b2a93d4b7c12a11fcd575a76198937d4214b350f6ec5674c9e856a5b29a7b946c19a77fc818f33b75b82a94861e1c25a19b2c35bf8d SHA512 189e8fe88850fb2d22b39d6d4ed2df7bad0f321c0293823f0a335f10f0f6d29328e57190997da83699c9f34c1ef82ac6f530fd7ac866db2ffa1afde8d2198bb6
-EBUILD clang-common-16.0.5-r1.ebuild 5516 BLAKE2B 3c49327bdadecfd84a37047ed86653ae6e983f7cdc4c58894701e0368c6b059197435e94b3ad4a806920ea054a44893493038892950a470ef434650ceafba8cb SHA512 30af72f57b4d3894c7e2bbda932a9def04226f966067d2172e693e5bb40f15cb9ce2f925bb5eae33ec07cd032129e66d020fcd51306286dd7d870ec896cefca7
+EBUILD clang-common-16.0.5-r1.ebuild 5515 BLAKE2B 65537f34d9f23760d552740c1c78c1c8e77163bbce0f0baeffb5355213401f58e2dc5da497c432fa87fbcee9d5de82136bbc18ee5af5716afe2c3e85ccae4289 SHA512 6f805f1ca96cad38acfa7bf061776c78ef3861110ab536b58cc19a3acb71ba426e37be5c0c9b01e011c4c0b79d04b56f1581346a2ac0b6c94848463f6f5f0703
EBUILD clang-common-16.0.6-r1.ebuild 5517 BLAKE2B b6ab86006359b058f3503e0686a9f9b2172c0cf8db02859213ccfa3785cd670229b174326a142817299f8ac841139eb03029430a68a46ef75388024da9303afe SHA512 e063f0a43f937ed4f173aff4fe090ba1e084bf1ecd80549a41459e0ed1ebff0d68a6617b66926e1abb4874eccb2fb4541cf6667299d33be3cb969cc1a5eb32b7
EBUILD clang-common-17.0.0.9999.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328
EBUILD clang-common-17.0.0_pre20230609.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328
+EBUILD clang-common-17.0.0_pre20230615.ebuild 5426 BLAKE2B dbab7084dcf1ec1c79c8f1c9b52733731917e8a98907891ac3498d9614b5762034f3c45ec40e137e34214c1788b5c0f24dc53d39a3ab764800edfbe61dbb7c70 SHA512 cc1a9faaa11de0b0cb484dccca330cc82ed020c21fb3872db58680411ac3f16171ed8569faf9e59eaf713238728c58f737197ebd337fd1fe797a6455a55d1328
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild
index 273edf2baa01..58c8f37548f4 100644
--- a/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild
+++ b/sys-devel/clang-common/clang-common-16.0.5-r1.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
default-compiler-rt default-libcxx default-lld llvm-libunwind
hardened stricter
diff --git a/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild b/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..51e0f70c6470
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-17.0.0_pre20230615.ebuild
@@ -0,0 +1,190 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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="
+ default-compiler-rt default-libcxx default-lld llvm-libunwind
+ hardened stricter
+"
+
+PDEPEND="
+ sys-devel/clang:*
+ default-compiler-rt? (
+ sys-devel/clang-runtime[compiler-rt]
+ llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] )
+ !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
+ )
+ !default-compiler-rt? ( sys-devel/gcc )
+ default-libcxx? ( >=sys-libs/libcxx-${PV} )
+ !default-libcxx? ( sys-devel/gcc )
+ default-lld? ( sys-devel/lld )
+ !default-lld? ( sys-devel/binutils )
+"
+IDEPEND="
+ !default-compiler-rt? ( sys-devel/gcc-config )
+ !default-libcxx? ( sys-devel/gcc-config )
+"
+
+LLVM_COMPONENTS=( clang/utils )
+llvm.org_set_globals
+
+pkg_pretend() {
+ [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
+
+ local flag missing_flags=()
+ for flag in default-{compiler-rt,libcxx,lld}; do
+ if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then
+ missing_flags+=( "${flag}" )
+ fi
+ done
+
+ if [[ ${missing_flags[@]} ]]; then
+ eerror "It seems that you have the following flags set on sys-devel/clang:"
+ eerror
+ eerror " ${missing_flags[*]}"
+ eerror
+ eerror "The default runtimes are now set via flags on sys-devel/clang-common."
+ eerror "The build is being aborted to prevent breakage. Please either set"
+ eerror "the respective flags on this ebuild, e.g.:"
+ eerror
+ eerror " sys-devel/clang-common ${missing_flags[*]}"
+ eerror
+ eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
+ die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common"
+ fi
+}
+
+src_install() {
+ newbashcomp bash-autocomplete.sh clang
+
+ insinto /etc/clang
+ newins - gentoo-runtimes.cfg <<-EOF
+ # This file is initially generated by sys-devel/clang-runtime.
+ # It is used to control the default runtimes using by clang.
+
+ --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
+ --unwindlib=$(usex default-compiler-rt libunwind libgcc)
+ --stdlib=$(usex default-libcxx libc++ libstdc++)
+ -fuse-ld=$(usex default-lld lld bfd)
+ EOF
+
+ newins - gentoo-gcc-install.cfg <<-EOF
+ # This file is maintained by gcc-config.
+ # It is used to specify the selected GCC installation.
+ EOF
+
+ newins - gentoo-common.cfg <<-EOF
+ # This file contains flags common to clang, clang++ and clang-cpp.
+ @gentoo-runtimes.cfg
+ @gentoo-gcc-install.cfg
+ @gentoo-hardened.cfg
+ # bug #870001
+ -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
+ EOF
+
+ # Baseline hardening (bug #851111)
+ newins - gentoo-hardened.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
+ -fstack-clash-protection
+ -fstack-protector-strong
+ -fPIE
+ -include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+
+ dodir /usr/include/gentoo
+
+ cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
+ /* __has_include is an extension, but it's fine, because this is only
+ for Clang anyway. */
+ #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__)
+ # include <stdc-predef.h>
+ #endif
+ EOF
+
+ local fortify_level=$(usex hardened 3 2)
+ # We have to do this because glibc's headers warn if F_S is set
+ # without optimization and that would at the very least be very noisy
+ # during builds and at worst trigger many -Werror builds.
+ cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
+ #ifdef __clang__
+ # pragma clang system_header
+ #endif
+ #ifndef _FORTIFY_SOURCE
+ # if defined(__has_feature)
+ # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
+ # else
+ # define __GENTOO_HAS_FEATURE(x) 0
+ # endif
+ #
+ # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
+ # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
+ # define _FORTIFY_SOURCE ${fortify_level}
+ # endif
+ # endif
+ # undef __GENTOO_HAS_FEATURE
+ #endif
+ EOF
+
+ if use hardened ; then
+ cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
+ -D_GLIBCXX_ASSERTIONS
+
+ # Analogue to GLIBCXX_ASSERTIONS
+ # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
+ -D_LIBCPP_ENABLE_ASSERTIONS=1
+ EOF
+ fi
+
+ if use stricter; then
+ newins - gentoo-stricter.cfg <<-EOF
+ # This file increases the strictness of older clang versions
+ # to match the newest upstream version.
+
+ # clang-16 defaults
+ -Werror=implicit-function-declaration
+ -Werror=implicit-int
+ -Werror=incompatible-function-pointer-types
+
+ # constructs banned by C2x
+ -Werror=deprecated-non-prototype
+
+ # deprecated but large blast radius
+ #-Werror=strict-prototypes
+ EOF
+
+ cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
+ @gentoo-stricter.cfg
+ EOF
+ fi
+
+ local tool
+ for tool in clang{,++,-cpp}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ EOF
+ done
+}
+
+pkg_preinst() {
+ if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
+ then
+ local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
+ if [[ -n ${gcc_path} ]]; then
+ cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
+ --gcc-install-dir="${gcc_path%%:*}"
+ EOF
+ fi
+ fi
+}
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index ddd03c7efca0..2db2047a8f7c 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -1,7 +1,8 @@
EBUILD clang-runtime-14.0.6.ebuild 760 BLAKE2B 0f6cfb8536569ffe2a09305e71056309690ad1c8e92543e64025bd5e009eac35018ec22b2c0f80c12f3a527cc7e0bfe4ec1bfcb2dd9dea54106abf46b13e5592 SHA512 580efee12fe0e53447f5644fad248ebded8ae6cd8cb5871cb38bb3148091886b6fb9a57ac712d3158d5c3fc38c043b0bfbf62fc550a609752a42c23e605b0ded
EBUILD clang-runtime-15.0.7.ebuild 759 BLAKE2B d7b481faffc4da0a6dc1b4e708322cd17cd497dc75363bdb89e7fbb1ecb2aecd9cbf91bdf816505476c7aca2ec7b6fb9ef178705e6b77361d21a7a270404a70a SHA512 8128acfc92b1601e93ffca1fd4233456f8a28fbc4cc65a1782da25df48abd3af82d0128b31f12b966ca02ab1eafcd28016c4443d9c7f1d28bc3f951cfff5e07f
-EBUILD clang-runtime-16.0.5.ebuild 1441 BLAKE2B 088c71fb6d97637ad0f1dee28b14241e7524cbba78111c48a405d00dc99815a476eb2433d9a1f50b27ea318dbacc2fe51fa0ecaa6971ef0b299e63c1aefb5079 SHA512 d0573e40085e4a61d3688db02faa9b3eae1a8040d6e09411b37845c9fb2d4aabefdd5ea8a38b4b747abfa8cee760720f75f5efa92935725774a243f70f03121d
+EBUILD clang-runtime-16.0.5.ebuild 1440 BLAKE2B d586562bff0cb02c92d22dcc66173acd5543e72f2c260200e7125a8d70c361621f5516d31b5fbe7ff700e118a2f7e7481b9542374b0e8c74a52c93f813e5024a SHA512 11a329362818db428520e41b3f7247d6d775c25534f69b6b22bc7354a0b63c0cbd5a8a7aa65d46f525b4ea105d681066461baa382928b1fddfca9500764bb2f4
EBUILD clang-runtime-16.0.6.ebuild 1442 BLAKE2B ccd97064b84899371758ceab7640d2b9a3104e08dccbefc5523062437cec1358ab68773b96bbc8193d8cd52a2bac65e6687cb150127d953aa49ab7f8cb3dbcea SHA512 9b8639788a2bfab9fea6e717e684c4784ae6719ce8d6bb389d16d836df0b43d108be6c649b9aa17dfa60df7b3f490450d4d51e83dd80707467a844871b97535e
EBUILD clang-runtime-17.0.0.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
EBUILD clang-runtime-17.0.0_pre20230609.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
+EBUILD clang-runtime-17.0.0_pre20230615.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild b/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild
index 9a1a1cef82db..9432a5f48159 100644
--- a/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild
+++ b/sys-devel/clang-runtime/clang-runtime-16.0.5.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://clang.llvm.org/"
LICENSE="metapackage"
SLOT="${PV%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="+compiler-rt libcxx openmp +sanitize"
REQUIRED_USE="sanitize? ( compiler-rt )"
diff --git a/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild b/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..67b42357665e
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230615.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-build toolchain-funcs
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+
+LICENSE="metapackage"
+SLOT="${PV%%.*}"
+KEYWORDS=""
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+PROPERTIES="live"
+
+RDEPEND="
+ compiler-rt? (
+ ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ sanitize? (
+ ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ )
+ )
+ libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+ openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )
+"
+
+pkg_pretend() {
+ if tc-is-clang; then
+ ewarn "You seem to be using clang as a system compiler. As of clang-16,"
+ ewarn "upstream has turned a few warnings that commonly occur during"
+ ewarn "configure script runs into errors by default. This causes some"
+ ewarn "configure tests to start failing, sometimes resulting in silent"
+ ewarn "breakage, missing functionality or runtime misbehavior. It is"
+ ewarn "not yet clear whether the change will remain or be reverted."
+ ewarn
+ ewarn "For more information, please see:"
+ ewarn "https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213"
+ fi
+}
diff --git a/sys-devel/clang-toolchain-symlinks/Manifest b/sys-devel/clang-toolchain-symlinks/Manifest
index 26f4ea86b869..af37ac97d736 100644
--- a/sys-devel/clang-toolchain-symlinks/Manifest
+++ b/sys-devel/clang-toolchain-symlinks/Manifest
@@ -1,5 +1,5 @@
EBUILD clang-toolchain-symlinks-14-r2.ebuild 1154 BLAKE2B 1da81bdc43afd21ad3f45e3ede1decf1f2eb0aa0dd5a451b28b06a74837cb1354e785784d723a770b7fd3e4dfaeb3b7d095d8579ea07cc798c33d65f9fd6fb9f SHA512 f02f2c7c21def93692503fceae45f8aa6abd608ad99b3be0a63a85f80b54899b201457ee56666161c87d0039bc512eef2bbf6f819807f236e52ac2d88f4bbe54
EBUILD clang-toolchain-symlinks-15-r2.ebuild 1147 BLAKE2B a3676de65810503e7009f0ae8df1c8233f02518decf27d602096c946081f459d4350541b807bb07e83a740080ac89c94482b6c48c7cd570fce4af4c083edb60b SHA512 cdd69cc55c5ed323852a031cda463504bf1de0676a3fbda80853d63c6b7fce28531940c4a47bc34a6c99f289038d65ba510dc314026a16795a060a0794b522aa
-EBUILD clang-toolchain-symlinks-16-r2.ebuild 1165 BLAKE2B 9d02b9757b971612ec86e37c601b56deefe4dfe95065e9ff19c4e6a44baaefb3c20b3c3bab0cb8af63ca9fd4c247346019bb72497e0da186e98688ce3fd9938b SHA512 99c4a700fdae0c4d76cb26a6341b0aa85b4a6bc26d313b09f98153f30b23bce9d5a1a7ecb8bd364d7b7dc880dcc85946b352096d9eb4542ba353cf47d6837cb1
+EBUILD clang-toolchain-symlinks-16-r2.ebuild 1164 BLAKE2B 5b2a7b32bc3f72ff04f6fb6e5426395bf24b11745f87557bf3ef6f338cbe6dcc1c0ad1efaf4fe2ca954bd79692f5ae0da480440f651e119ab0ae25d1d55410a0 SHA512 535f525a8ba65814975b50f6d3c25aba9e6d2ac10ab8301d976775a76830d0c49326e69e9664e1fe23da39a89cbd49eb575888463f07617ff0f37e0558eee6d4
EBUILD clang-toolchain-symlinks-17.ebuild 1104 BLAKE2B a22bdfe7dad1c912b254f692ba44da6931a52602d4ba448b015d9655103d5ec6faab4a5941bd8e8689f9528fc5adb16beaffd7123dfa451eebce5f8cca4adfd4 SHA512 a6e2494676fc92a1f0b5db87845a5db1904d50111d99340dbc000fe630e40da888d50287fbec79ba35b8815fcdf00b151eedb1aa806b6ea1b5a0d5e041f0e400
MISC metadata.xml 904 BLAKE2B d2c8a31355b0f3bea6c5b4c72d198f40bf14b6908f5a3f765b48fffb2ba3e4f09a8bb37c87ea4e7d9b4e1de0a3ad2c80bdca6feb45538c973119f27ba6329ad8 SHA512 846548593c071d6905b56984c6924086d5f03929c813be986c89c57a6924d1976975b29769ee60a2796287753aa3453608794af8d36cf48b76c55920778c27d4
diff --git a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
index 6f3a00f54708..c4e73ad72ff6 100644
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
+++ b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-16-r2.ebuild
@@ -12,7 +12,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
# Blocker for bug #872416
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index fde1863fc092..8dc0f12959e9 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -6,6 +6,7 @@ DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@@ -19,8 +20,9 @@ EBUILD clang-14.0.6-r1.ebuild 12014 BLAKE2B 0f9eed7779a5b9aa8f92002f6f4d8e22e7ba
EBUILD clang-14.0.6-r4.ebuild 11945 BLAKE2B 1f14f89997a862e04b0d9042c6d9c698c2cd455ab3a7dc3473af08137566e3c26ac05cf818ba8b12113c38cbd0b3c0d48836ed6b13216821614d7eb7eb1260c6 SHA512 37ee0684d6ae0dfb4e8cb0da683dec4996f8bad1762e3d8ffd1e4bf5a01e2c6cc90dac76a26edfb558e458b50be7ac535f71ea2b3578d6e58e388dab9661b27b
EBUILD clang-15.0.7-r1.ebuild 12617 BLAKE2B 780db8dc3c92efab35280d32f6b7d4ffcea912d7839b995a18aa603d0cf59df1199eabd53eb5a475e67da7a45e10fdd08e9879b871a25672f135dbdb001a5f46 SHA512 f6302415c9a4fb8571613ff5ebea4096f1318333ba4bc0f3c0b63b04eb0d10755c4555f55186875db0d34bb5d2c0b245b758aff387b97033bc643a1a291d1195
EBUILD clang-15.0.7-r3.ebuild 12552 BLAKE2B 1702065ffe0da6dbf809a82f0f0ec9e84daf7b0c3c4e9fb6d3c8eb320cf0034bfa6197f70f3752b3b58b841c27a7d8e00ccdd19b68f17a25fb54e203e9a66769 SHA512 f93df89921be88cd2bee7ba7d3aae0013db0b35f3f5e8cfac188fb5462a963afb9ce50b69b2046dbbe50d9bbf77532effb639e129176d986bb0c98d3106da3fb
-EBUILD clang-16.0.5.ebuild 12447 BLAKE2B a97a3c6484d010df2ae201d724d2887d830158b941a3542e9d17da98ed4c6517e06efe270c9bb8fb959bbb95d701e1d0c0e1d9c1d98d791172fb2293bc9c1f3f SHA512 afeec4fa232bbeb3305aea8348791c0d4207abf2adfdac59df6c6be026cf2f938abab21e4f06a8c8fa17fc29328dec613cc7c19ff1741f865b1a55e026af0ac7
+EBUILD clang-16.0.5.ebuild 12446 BLAKE2B 77715699987ee8deb9729902da8af660ef0b3ff53b15feba858da0e89af0bbe1c54ce58fb076d5d9d868cb9a01ad8570a93a94a846563921a672db26d83b37b7 SHA512 50c8d3f2d44b18af431ad2eaecf22d4a58175c5fc11873593cec43c9b0e06e86e8f717cfa00309b0f05c8ff51f96334d97d9f43f34df7567650570fc9cfce57d
EBUILD clang-16.0.6.ebuild 12468 BLAKE2B 24564cde256dfd7c76a4b2ab9c6e0d62721f2d98050faf9201a327000db39554cbd361e6da18abb4dee8cf780ecaa8ce02aad417b879036960aad2395384c885 SHA512 1cbdb203994dc399294015bd5241a0eebe6b6282bb54128ec2feedd89ed318a7595f595983160f9435b4f4dec5476092d68191ed69fb888ea051d87674f896b1
-EBUILD clang-17.0.0.9999.ebuild 12251 BLAKE2B ec3960164edb2ade87849f0abd8b7c3fc303279d7c747c4dea37d76b47ab28019f13e1494b00b92567f016a20d4ac921645c4a97383375fd841be1bc44aad49a SHA512 402bcc444aabc9e9a77e564b3059c411c22e969e8779f88821faaffb449c0432a9c20ba37561663404e2c69a2a89a066bc28a21cdafa2f8458858eb4d6b4934e
+EBUILD clang-17.0.0.9999.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
EBUILD clang-17.0.0_pre20230609.ebuild 12065 BLAKE2B b5915e8424c143fb40cab1c575c8b71e92d38afce92d107ceb7fac76794a135f7695287b4921d430421c040aeac5c77fbc9b69c6c928890ec19d4a1d6002e7df SHA512 fbe566c724192ba3da98bfc065bacc95c0675fd7e2f5e22f9c7ecaa7dff7fa24e549fca0bf4c7ce0fdf58605720e697ac836f4d7b13ae916eccce1d01372e76d
+EBUILD clang-17.0.0_pre20230615.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
MISC metadata.xml 1600 BLAKE2B 8e49e099132445cf695e904acad8a699f3d8c4c1e4cd6ba9d0b97180dfa5b67e9c30b00d1e4cb6cd2f61b27f022accc8d6ee889c6569fc58fbc058186ad216fc SHA512 96b7cf4988ff1fd923ec87311caed458b64888b5acaaf20cc1ad893f2a963158f7f59398f9fd4f9e65cab3df265c0d002048ff874f7a76b94f36377bf9e8f5f6
diff --git a/sys-devel/clang/clang-16.0.5.ebuild b/sys-devel/clang/clang-16.0.5.ebuild
index 6ca980afb633..7985cb6ee21d 100644
--- a/sys-devel/clang/clang-16.0.5.ebuild
+++ b/sys-devel/clang/clang-16.0.5.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/clang/clang-17.0.0.9999.ebuild b/sys-devel/clang/clang-17.0.0.9999.ebuild
index 6a18f24174a2..aae7c602232c 100644
--- a/sys-devel/clang/clang-17.0.0.9999.ebuild
+++ b/sys-devel/clang/clang-17.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake llvm llvm.org multilib multilib-minimal
inherit prefix python-single-r1 toolchain-funcs
@@ -363,12 +363,6 @@ multilib_src_configure() {
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() {
diff --git a/sys-devel/clang/clang-17.0.0_pre20230615.ebuild b/sys-devel/clang/clang-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..aae7c602232c
--- /dev/null
+++ b/sys-devel/clang/clang-17.0.0_pre20230615.ebuild
@@ -0,0 +1,474 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake llvm llvm.org multilib multilib-minimal
+inherit prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="+debug doc +extra ieee-long-double +pie +static-analyzer test xml"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
+ static-analyzer? ( dev-lang/perl:* )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${DEPEND}
+ >=sys-devel/clang-common-${PV}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ >=dev-util/cmake-3.16
+ doc? ( $(python_gen_cond_dep '
+ dev-python/recommonmark[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ xml? ( virtual/pkgconfig )
+"
+PDEPEND="
+ ~sys-devel/clang-runtime-${PV}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=(
+ clang clang-tools-extra cmake
+ llvm/lib/Transforms/Hello
+)
+LLVM_MANPAGES=1
+LLVM_TEST_COMPONENTS=(
+ llvm/utils
+)
+LLVM_USE_TARGETS=llvm
+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=${LLVM_MAJOR} 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/Lex/InitHeaderSearch.cpp \
+ lib/Driver/ToolChains/Darwin.cpp || die
+
+ if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
+ sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
+ 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
+ # meta-targets
+ clang-libraries|distribution)
+ 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
+
+ aarch64-resource-headers
+ arm-common-resource-headers
+ arm-resource-headers
+ core-resource-headers
+ cuda-resource-headers
+ hexagon-resource-headers
+ hip-resource-headers
+ hlsl-resource-headers
+ mips-resource-headers
+ opencl-resource-headers
+ openmp-resource-headers
+ ppc-htm-resource-headers
+ ppc-resource-headers
+ riscv-resource-headers
+ systemz-resource-headers
+ utility-resource-headers
+ ve-resource-headers
+ webassembly-resource-headers
+ windows-resource-headers
+ x86-resource-headers
+
+ # libs
+ clang-cpp
+ libclang
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # common stuff
+ bash-autocomplete
+ libclang-python-bindings
+
+ # tools
+ amdgpu-arch
+ c-index-test
+ clang
+ clang-format
+ clang-linker-wrapper
+ clang-offload-bundler
+ clang-offload-packager
+ clang-refactor
+ clang-repl
+ clang-rename
+ clang-scan-deps
+ diagtool
+ hmaptool
+ nvptx-arch
+
+ # needed for cross-compiling Clang
+ clang-tblgen
+ )
+
+ if use extra; then
+ out+=(
+ # extra tools
+ clang-apply-replacements
+ clang-change-namespace
+ clang-doc
+ clang-include-cleaner
+ clang-include-fixer
+ clang-move
+ clang-pseudo
+ clang-query
+ clang-reorder-fields
+ clang-tidy
+ clang-tidy-headers
+ clangd
+ find-all-symbols
+ modularize
+ pp-trace
+ )
+ fi
+
+ if llvm_are_manpages_built; then
+ out+=( docs-clang-man )
+ use extra && out+=( docs-clang-tools-man )
+ fi
+
+ if use doc; then
+ out+=( docs-clang-html )
+ use extra && out+=( docs-clang-tools-html )
+ fi
+
+ 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 mycmakeargs=(
+ -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
+ # relative to bindir
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}"
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DCLANG_LINK_CLANG_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+ -DCLANG_INCLUDE_TESTS=$(usex test)
+
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+
+ # these are not propagated reliably, so redefine them
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ # 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_CUDAToolkit=ON
+ # disable linking to HSA to avoid automagic dep,
+ # load it dynamically instead
+ -DCMAKE_DISABLE_FIND_PACKAGE_hsa-runtime64=ON
+
+ -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
+
+ -DCLANG_ENABLE_LIBXML2=$(usex xml)
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+ # TODO: CLANG_ENABLE_HLSL?
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if ! use elibc_musl; then
+ mycmakeargs+=(
+ -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double)
+ )
+ fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -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"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ if use extra; then
+ mycmakeargs+=(
+ -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+ )
+ fi
+ fi
+ mycmakeargs+=(
+ -DCLANG_INCLUDE_DOCS=${build_docs}
+ )
+ fi
+ if multilib_native_use extra; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+ -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
+ has_version -b sys-devel/clang:${LLVM_MAJOR} ||
+ die "sys-devel/clang:${LLVM_MAJOR} is required on the build host."
+ local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin
+ mycmakeargs+=(
+ -DLLVM_TOOLS_BINARY_DIR="${tools_bin}"
+ -DCLANG_TABLEGEN="${tools_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
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local test_targets=( check-clang )
+ if multilib_native_use extra; then
+ test_targets+=(
+ check-clang-tools
+ check-clangd
+ )
+ fi
+ cmake_build "${test_targets[@]}"
+}
+
+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
+ if use extra; then
+ mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
+ fi
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+
+ # Apply CHOST and version suffix to clang tools
+ 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/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/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}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
+ done
+ done
+}
+
+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/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die
+ if multilib_native_use extra; then
+ # don't wrap clang-tidy headers, the list is too long
+ # (they're fine for non-native ABI but enabling the targets is problematic)
+ mv "${ED}"/usr/include/clang-tidy "${T}/" || die
+ fi
+}
+
+multilib_src_install_all() {
+ python_fix_shebang "${ED}"
+ if use static-analyzer; then
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
+ fi
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/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/${LLVM_MAJOR}/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/${LLVM_MAJOR}/share/clang"
+ if use extra; then
+ 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"
+ fi
+}
+
+pkg_postrm() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 9835e632407d..214d3f1d0ae1 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -23,6 +23,7 @@ DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69ae
DIST gcc-13-20230527.tar.xz 83956360 BLAKE2B 86a2131b88144817673a6300c73b29c2dbb8559a7057609601029aaf60aeb4c4926fa4b99c4e1768726cde09f994159685768b62b3ca73d7b606847788301e82 SHA512 87566c74258f9981742eae77f552361c220f79fa6f17c36d5b5a9e73f41c50d8a2cab16b9ffb17f07829005f0d42b4b1d524150d3dcba9710091532cbfad7152
DIST gcc-13-20230603.tar.xz 83954444 BLAKE2B 4be067c2159ae2a8ef3d699acab981cb911668bb0af84693b0226f58688146b0f93324296c584c6dca6df839ba344cff927cc82d20fce8c6b2282b256d745141 SHA512 ca1b41df7bf18c65189116099afcb43f65e13b17e57bf52049e739af223d51c3b825e2f80e239a3ddceec07693c991a85ec58ab6855255802d8bd413ff4324cf
DIST gcc-13-20230610.tar.xz 83983712 BLAKE2B 2584a5b6bfb8304c3065b256f432e578aef8fd7a4e3e9dc4cdbfb6d0a90ad8cb9d0b0f65ad67fad417878875160abb289314c1f27c775abc97c45c2b7ff7958a SHA512 a2e00bb5d816d37ea38de7662bb26616603b14cf08bc3452f39300fc8efed3fad372f7603deb36e0e6dd06f082c815997ba22c2b7438e379e782682e6333578d
+DIST gcc-13-20230617.tar.xz 83971924 BLAKE2B 3e50ff5e54d9a4c6a5f81fb6111837df9efc105484cfb67423a0a4a1ef72c229fabdabccfdc14098be49ade9a13117a843890dcf16c3d3a43abe3332e8fbbf21 SHA512 e1d31883518a2fd040e9ea2b022c0cddca9ce1026317613db4dfbfa0aa704f3229c6b5a39d50ed920f242524b937d40a113edf9b89ad7f04a5b4af32835271ea
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
DIST gcc-14-20230529.tar.xz 84197648 BLAKE2B 1b8b812866294bafd7bf53c823b3d55288d5a30c54e921495d19286b9d04a1bf7c5228b052941200ecc61a516355d977229fc9e60cfe4353154811c1261054ab SHA512 bba930dc4b6b6a45bb5f33e4b46dc16d1d581b266078c5492833e2b4e64a93d2d19389a436c64dc2159240b07134f4f7242bef3cf35f303d34e10bf493fe70ba
@@ -52,6 +53,7 @@ EBUILD gcc-12.4.9999.ebuild 1589 BLAKE2B 8de913409a3303b99e08e719751855382983fc3
EBUILD gcc-13.1.1_p20230527.ebuild 1675 BLAKE2B 79870241df5096103bd49f812832100faf0e6663d97f478fa1dfa73ff31283b86453b0553a4d207da9bd3d4149fc79e9665efe457a7110616908f1e96a4c9695 SHA512 a865581a2f9f98fd92dfeb4a712909e88ca1bd02d3c983be2d2250de8d2b5cc7f8dcb5bc306d70d41feb595d65d5a61c29696dee01b328897768a68625c1a400
EBUILD gcc-13.1.1_p20230603.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c
EBUILD gcc-13.1.1_p20230610.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c
+EBUILD gcc-13.1.1_p20230617.ebuild 1673 BLAKE2B 53afd64b30c1d2c25b05449a2c15f81988b2465473c5b7c13b4c989a56f39332300bcffa704ac891ff563d74101eec86a759350c941dc140efcde859509b17db SHA512 a9f6d4438bf436e8d0be7801aa0f140b4c755aa4fb476b5a702d246d1453835876fa3493f48aa865658b236d6faae49d41656d8d4227c83ba70b48dcf8a55a5c
EBUILD gcc-13.2.9999.ebuild 1589 BLAKE2B bf6463d9ba5db2a0d494941a33cc7a2be6fd01fc75222c1de50997555b70ebaf2a374dd9f61ffc3eafc1befe23ebedb36123e4f2366cb623b69f1ed566a1a3b1 SHA512 2138f692eca45b998e5675fde63a5b36dbc1dbdec36d2aecf5695c12c51caeaa578a443bc9e795de9e711a55bef79dbf5ce9751a151002bf1625df90b1bb9ca4
EBUILD gcc-14.0.0.9999.ebuild 1568 BLAKE2B 02ff0ed9ee64898714a411d4d6dce9ab4ed30ec1f8dce58036da4cfdd033281868c82b1a9e6da669898e405194f84be3db34cbf7a8b0144d2049558f30370b90 SHA512 5aa6f2841a026a8b021f3fd0a6ff47f11f1a7039454cb95a8af148f247792c90d08d254b16c1369e0aabf83da53add611594632a951fa075c06daee837eb27c9
EBUILD gcc-14.0.0_pre20230529.ebuild 1595 BLAKE2B 6ba10573734dbc54939e6f29dee6eb7b040ed3f9dcb2aa8f7a6010fe29ad6bd9a6c13afad1c8d994eafe8fdce95903d0d553da9f5e46038c4624c4d1ea9096fe SHA512 5ecff645b7638250650d07a8678f1273f76d9e8ce4d14374b91422230ad47abd05ab3139dd25f45c1ea81de5f0bdd71c4295711703ae14ef89dd2fd531de29a0
diff --git a/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild b/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild
new file mode 100644
index 000000000000..994717045fb5
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.1.1_p20230617.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="13.2.0"
+PATCH_VER="3"
+MUSL_VER="2"
+MUSL_GCC_VER="13.2.0"
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sys-devel/lld-toolchain-symlinks/Manifest b/sys-devel/lld-toolchain-symlinks/Manifest
index 6c029b61fd83..814e3b6eba58 100644
--- a/sys-devel/lld-toolchain-symlinks/Manifest
+++ b/sys-devel/lld-toolchain-symlinks/Manifest
@@ -1,5 +1,5 @@
EBUILD lld-toolchain-symlinks-14-r2.ebuild 801 BLAKE2B 9d503356ed85fd996a922f531782550dc9d9fb8f8f70b6298083abb4bda017b4015932add186a9e55c54e55135913b2cb83f571b115de09e704c936435f53f02 SHA512 7280dff33d642c0b1d4a6f23fbca4d412fc90693b7a9b825d0044f41694d2d4438b0c270277851999688dd7f04c4e67393c435b087d837abdd1f59011f3eb7ae
EBUILD lld-toolchain-symlinks-15-r2.ebuild 796 BLAKE2B 830b933f8535eef6b128c929b80bb90d80541bd3a5ed7b5b66f453ee3e09af3e70d3df9fe5994aaca0b25160042c6cd2e8ff0fcf618da8acb2215a32cc28a8a4 SHA512 b44ce89bf627b927d79a9b182e6675024f88a26e4f76709b8490c4c67fe294efad06f2e82f72006fc638d4f0fcb87a3b54d4ffd12c039160283838405bb02aa2
-EBUILD lld-toolchain-symlinks-16-r2.ebuild 805 BLAKE2B 3a0a716e7fc993f2b6e482b6430af9a6822eda3f53b3118fe11e2cdcabdfb4f79f5ad77c3c6eadffcd0089bb2d93e41caafe7804e3fb7eed5b70ece6474f3a6b SHA512 fdd24fc5027d616d0e653b18c38f06d48911090537c6a34874de427fae252c51bb849d754c811702440ab8c857b9a13876702c4c9c96695015fbd0b4af6e4a9c
+EBUILD lld-toolchain-symlinks-16-r2.ebuild 804 BLAKE2B 701ac210ac20a178d7647b58d0d0b4524d708d681345e5dbba5b77fb27c2b357af6b3e0b0b8ac529372901b556d533d22b79e54cc1fc58a309fe80cd7f8ca741 SHA512 aa2db826bd839f4f2ef3335c267f06b7f769721b33147eb041d1021065687ed5ecb446a198b80abdabc44d20a01eb8211f98f6058142bf30c1973441604adf3f
EBUILD lld-toolchain-symlinks-17.ebuild 782 BLAKE2B 8df819209ba58e4f772b2c192cc951433a673fe6c4e7367fd9de93acdae63b787c1563adbceea49451c78a4e0fb7e5c4b109dd7dd636b39f2b78fa708e1faf1f SHA512 c889bec3ac8aa431bb13f5cf6e0900f6114ae30299ba752ddd648494309a7cfb1e930d2a4fb4d933666ae1630e3158e4633c082271651791c084a333e08b91d2
MISC metadata.xml 784 BLAKE2B 044eebb87ddac511186e137d9e255cb3ead2d53aeffafc641cc9a53556b833f06cae439907de8e8ead1090d54f7cc4bcacdbfff52449b6fab5908aa6d354a110 SHA512 50a9ac94efe64f8f6533049f496a19c37e375803ea3920a3729c93f346117ea5b662978570db27e8fffcfaf78f990691c4ab5aaf7dd48a7e2931f713eddedb4b
diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild
index ede252119011..4b849cdd1c5e 100644
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild
+++ b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-16-r2.ebuild
@@ -12,7 +12,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 66f6e7398747..8eeb1dc1388c 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@@ -9,8 +10,9 @@ DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43
DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0
EBUILD lld-14.0.6-r1.ebuild 2009 BLAKE2B 4db1dfc9b1997d31cc68240ae0b05afeae5a6b1cb24a0eb2012bc28b2ac8c0da4b532d270d070db5fd401717320a74b006628c19a12c787e2f9ba2dc24eb25b1 SHA512 73b2f0e7b27497ce9037cd10503b328378ff9a2e32cd36e6e264f5423cd05732da4ea2ef97b637fc344a4f3d5d3597c60dda29dba7eb509391c176d32d53a427
EBUILD lld-15.0.7.ebuild 2262 BLAKE2B 8882ba45692d54840d8a5933910ade614427733f3da2e344cf4df2806c125a783ff3c6ad4a2f76fd577cb4787fe07495c93e981c03f116fa7f383575d59936f7 SHA512 9b08495f068a01e991d200363549d29e9146e8687b297fa06beda90da1da9a793b1ebf512c3dad9bb985518a8fd9d1d13049a90dd8f06d4bc3de97779ff8e6ed
-EBUILD lld-16.0.5.ebuild 2238 BLAKE2B e42b8be23204fd9ebd62daf6e17199c8ebaa4317b152ba81e9d528504220b76ff2f6b61d1c39b728487c2483f7cc787a93b443c458cc8a1ff532cc9dce0109b9 SHA512 a16604093e1709104840f4f0cbbfb6c7782e377b940a8f65156da241f2478bfbc61b3f44e7769fb96441ece3d82f2858b0669e08217b362fff8af0abd5e88693
+EBUILD lld-16.0.5.ebuild 2237 BLAKE2B 0fe276331852e1d4943e447b9b6ea88ae7cd7005c611760285b46dcd044c785cc8444ded25a92ac832a9b40a8c5551fcd1d84eb046366fad748f207fc073ed53 SHA512 7d0f61cedbeb28a66d81ed968dbf6fd2f3c0ba9c25b4fe4ccce2b9760d9b558e5687c28ddd6bbad3066621e9088502dafd9a572c145ae06f4eef7309d35c5b4d
EBUILD lld-16.0.6.ebuild 2239 BLAKE2B 33f554acd6e1db31f9aec3d75b2c43994a95240ba42bcdf7060090231ff6214e896b5fd051fcb513337161cef408014f64391e9ecfcf5269749fcfdb8a3771da SHA512 a06a9e4ff4f9109dd4eb3f3fdb2308b043beca30c016b184a3f77e7c4728161b3a1b4a662fccf102419c4a3aabab9e30db5a3c87448fb8b2a91237bc08e834ea
-EBUILD lld-17.0.0.9999.ebuild 2157 BLAKE2B dd17cb187ecc5f448245e19ce67fc9abf26bad3fd62b4f999d01defc43b87e8d47f1613212d56e66061f414de947e0e2a9e24aeffd4b4baf947714b5dadb5ba0 SHA512 fca39302715a0c083b24b94336eeb53a376d69e014f49922ce49987ce2a8c591727cdde49fd70ed5067305c807e4445653753efd5900d8bb61e5b47269fd37d6
+EBUILD lld-17.0.0.9999.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
EBUILD lld-17.0.0_pre20230609.ebuild 2157 BLAKE2B dd17cb187ecc5f448245e19ce67fc9abf26bad3fd62b4f999d01defc43b87e8d47f1613212d56e66061f414de947e0e2a9e24aeffd4b4baf947714b5dadb5ba0 SHA512 fca39302715a0c083b24b94336eeb53a376d69e014f49922ce49987ce2a8c591727cdde49fd70ed5067305c807e4445653753efd5900d8bb61e5b47269fd37d6
+EBUILD lld-17.0.0_pre20230615.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-16.0.5.ebuild b/sys-devel/lld/lld-16.0.5.ebuild
index 9db1745a416b..3d9800652a1c 100644
--- a/sys-devel/lld/lld-16.0.5.ebuild
+++ b/sys-devel/lld/lld-16.0.5.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86"
IUSE="debug test zstd"
RESTRICT="!test? ( test )"
diff --git a/sys-devel/lld/lld-17.0.0.9999.ebuild b/sys-devel/lld/lld-17.0.0.9999.ebuild
index 5d38213eefc3..085543e50762 100644
--- a/sys-devel/lld/lld-17.0.0.9999.ebuild
+++ b/sys-devel/lld/lld-17.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
DESCRIPTION="The LLVM linker (link editor)"
diff --git a/sys-devel/lld/lld-17.0.0_pre20230615.ebuild b/sys-devel/lld/lld-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..085543e50762
--- /dev/null
+++ b/sys-devel/lld/lld-17.0.0_pre20230615.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="+debug test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}[debug=,zstd=]
+ sys-libs/zlib:=
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !sys-devel/lld:0
+"
+BDEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ test? (
+ >=dev-util/cmake-3.16
+ $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+ )
+"
+PDEPEND="
+ >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
+llvm.org_set_globals
+
+python_check_deps() {
+ python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${LLVM_MAJOR} 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() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ tc-is-cross-compiler && mycmakeargs+=(
+ -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ )
+
+ 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 9423308b75c2..9736640a2932 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -1,3 +1,4 @@
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@@ -9,8 +10,9 @@ DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43
DIST llvm-project-62c0bdabfa32f6e32b17b45425b15309db340dfb.tar.gz 190948645 BLAKE2B f41d8ea32e189ef4641e42628fb516e307c9a6fcf65af537eb9fc0d3186591b062c5e85c9e935511ef706f28c6994a774a4e3f36ff54d79aaac7b293a6168625 SHA512 55a4cbfec3a496c1918aa614e5bdee368e4d0b6641c946d8bf8b828ab4bf4d9b29dbe96401a172079d70f924f5e513428fe990c65b556a0a860802cb13f5e3a0
EBUILD llvm-common-14.0.6.ebuild 602 BLAKE2B ef26d6ac2606e9a316ddcce442da1762f578ade0346ba2a947fdace5e2020e8841c63d173e42506d23abf6efc062a2edfac0be98a3eefe1f7a29c88702e9f1d5 SHA512 789dad6fdcf9a930ddc1046e7e98ebc1e05b2dd3713bb1ec5b8a5711690d779691c91d1000d9776720b21ed241d2f12c0ae9a8dba0e6a17d0ddf563cdfbe657f
EBUILD llvm-common-15.0.7.ebuild 601 BLAKE2B 3dd38d17640ed52ff0be26db026475a9d0e7e1acebe95043bc6e0e63e32ff4f03c5637a9dcce25987f673962447feb4aa015f8b5b5cb33553dc1a4f843b75399 SHA512 e8a93a72d06810cface48cce2d8f8a890cdf009939a96350a23fe407b064c05a3016c663d11a3866dc2dd0fd87599b5ac234895c8c42c902e9b0cdb37dba7b62
-EBUILD llvm-common-16.0.5.ebuild 614 BLAKE2B e48fc8a0dce2085b3333013ddfbeebd047c28abc17aebd844ca5b1433560eb2401f8cebb584be4879932371dcfd1bea8d595ac37a61c2f3e1cbccb5003e704df SHA512 3a093224f8d357306b2e529190422cfe1bd31f66b1c8ceb07340bd8a8a25141ffa5bd033dfa4a8da9868c01a0ea8a9b5b5d64a046fa5fb2873e328db66badea0
+EBUILD llvm-common-16.0.5.ebuild 613 BLAKE2B b88ac32f5d3673aa7c86b7df307642687b2911c517e2fd4a1f374c041952c60cff9546fbf4d959f96430af2efe7a0253f72bc8f381094419d2a524741c024906 SHA512 5ceff9b1ffa07a884fef539e53f9ad94b9b96aa0beed93c68b16776013f5f67a075488ee2f2ec89078c6677ac5de897ccf0e1231c8d4026954116a750432641a
EBUILD llvm-common-16.0.6.ebuild 615 BLAKE2B dddab327388341f3330d7374a76bc1ea144aa5cad62feea34140b5825daf13118ff7185a6c2cce07479c3ca13c3ba8ad7cac7ba71a8b49fdd25a979d899a5b0a SHA512 57e7d90e7fc4f5dd2daddd1c7e8ed7885112120aca2b13b21e2fc719cfe5a87bb640aa67c605827bcd60aa71300abeba937e158ae1a1a16559236ef9e6d18319
EBUILD llvm-common-17.0.0.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
EBUILD llvm-common-17.0.0_pre20230609.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
+EBUILD llvm-common-17.0.0_pre20230615.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-16.0.5.ebuild b/sys-devel/llvm-common/llvm-common-16.0.5.ebuild
index d104957ab6f7..b81e63d26482 100644
--- a/sys-devel/llvm-common/llvm-common-16.0.5.ebuild
+++ b/sys-devel/llvm-common/llvm-common-16.0.5.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
RDEPEND="
!sys-devel/llvm:0
diff --git a/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild b/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..ce5f03ca34a5
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-17.0.0_pre20230615.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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=""
+
+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-toolchain-symlinks/Manifest b/sys-devel/llvm-toolchain-symlinks/Manifest
index d2282f6ba405..1dc050230335 100644
--- a/sys-devel/llvm-toolchain-symlinks/Manifest
+++ b/sys-devel/llvm-toolchain-symlinks/Manifest
@@ -1,5 +1,5 @@
EBUILD llvm-toolchain-symlinks-14-r1.ebuild 1050 BLAKE2B 2e1e3a23812823c1a747a2b09d006f874b3a192c92b1ed275988bd84740df5ed68283f638fa36232d780eec817c26163d4d76335ad1dc2e0c5780b96dddd88bd SHA512 f54178846a398792a753174cd6b067f63b22bef13dba49485b14cc7f909a1da2a8d9bb2657a0b485ccfb5a3830388a855d52e8dea7a62e766a3bd65bb6602923
EBUILD llvm-toolchain-symlinks-15-r1.ebuild 1043 BLAKE2B 2c2ea96910bf11e2263bb157b9ef071998b61a2ab06ef848d68d1622249f74b4d1752351a5f2569c5668093c8f0b4b494eded9a920601e8226d4f519f0642754 SHA512 ee650715492c5d08a51760d6c14396d6a9c5fcbe8af069370d8cd628fda1c10f79250e553fd67a5d56ba370e446affbb1b2d48f8557f2dd58bad3947863f6814
-EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1061 BLAKE2B fbbc3e4ff005766a832a4ee6b9a9731218dc1f0d29091a599c6a22ae66ac8ba6ac0b3aa46a4158a2a2a8204badbdc2abbe8779b3a5b31d6f5a6f50a824bf8d8e SHA512 d184b6e19aefcaa272d08ed46bf9fd89a107a7e2fd04a2a7270361db53ebac474ebed8e2269005ff5e7006e3a0976e7209449b268a2d63c5c1ef8e6c34cf0517
+EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1060 BLAKE2B 1ef8042db765b3335111d2d9e8e51aef2cbd825800045b5cc4e3fc73ad36eaf1bbf1752b943daf958f0b41fa599bb9e69beda1926de5a647729b51c9d94e4c5b SHA512 edccbfdb264940a45469a60294c3fc7fbc5bd2aca9bfccef891ffdae60a3c0a69d205fe01da2f6834b8e6c2189d8e2b9f0b66f609b811c5e55e69ba01fa841f1
EBUILD llvm-toolchain-symlinks-17.ebuild 989 BLAKE2B 63e5d2f1312362e4570ecdb3bc190ab4d30245f0149871eaba00ad257e05c31d0ea3664c3e4abae366fa47cd5c5eef581334bd7dfa71dc4250042342ad114a2d SHA512 bbfc302b6b49b0d8398b3f6115e32da3a9a9f2c2069225598191cc1fda90a551d459fb92ff309270bcb9a792791fd0b302cabb81456f61f35adfdfdc812c2fbe
MISC metadata.xml 815 BLAKE2B 963f1b8425495144d04659d2d8cdabab910f15f9861634bf436a82ccb70b27682b44c47415ca6884956097e92294457d09b5c44e7a2f108c93abb79df8884aa7 SHA512 940a6c63c4c13a1c78c041c02df9bd3d2ac0f19eb552fcfb8134784386a2197956b1dd4950c760ca6ac9e8fb154eb550d59fc6ab1aea9c9236e7e005882d556a
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild
index fd259bd17ed9..bd3ab9fa4d42 100644
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild
+++ b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-16-r1.ebuild
@@ -12,7 +12,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index faa29b4f30f6..e45fadaf0631 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -6,6 +6,7 @@ DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
+DIST llvm-project-0e08374abb2c61a3ae5c24d5f60be3b548da9778.tar.gz 191661586 BLAKE2B 05e5328d8eb9972bd6399e8c0f5ab241a78e6591e63ee520180c4ff154df432ad96f49ddc615a2208f69ffbec539b201fffeaf4906011b7a961cbc3860126ffa SHA512 1d4429ecb2292e419ed6172cf251ba4a1448ed51424552ac48a159d0e3d3414777f7821382d1839b56f0c906fb0a147b1df4eecb071f8a5c11b0fc1d0d40d339
DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
@@ -19,8 +20,9 @@ EBUILD llvm-14.0.6-r2.ebuild 12389 BLAKE2B 549b4e1c7feceb40c7e5aaa624925ec08627c
EBUILD llvm-14.0.6-r4.ebuild 12316 BLAKE2B 1028363925a64b55006026498de4bd77f842f63aeeb63650a35b0c10e5c5356c0abe62486aaf36aa80d55cb68b6e272489c804599b1683990fdeaa58dab9abbf SHA512 64760fc8a63e0e1dba555bf9c79fd894ef8d9817481b077f9f4cf2d26f0f0bea153fe20ceb02f1469b61eaefc62f98bcdb36a4d98422bc0331f274b620da3f29
EBUILD llvm-15.0.7-r3.ebuild 12489 BLAKE2B 1fa5e890b2fa5d3313a0354c4d72f0ce4a27a90bd8fd470196178a853ec238a57cf21ab4f8d7ee6370b8d106154de9d5cab657b922184ed27f491e4e06cd4960 SHA512 104cb5e8e95173b369911609f9f5b783d7465bd628cc067c5c342fc92384aa0ab8aabd0a303f383f8c46a951fbe50e4daa8048fd272998b7c0362b23ffcadd7f
EBUILD llvm-15.0.7.ebuild 12558 BLAKE2B 1f73f500a38ee4e96438a5e478781a562d48e10d550cd6c5beaf37a754ead1f0bedb121be78c6bee229f694cb085ee665f7b33a44eacba0d6eeaa42b545f6ca7 SHA512 92dd8f7f8554ee24978ef4e1409f5356a95455d2b5006da0a5dbf27cc277962916a0e93d2f7630a0eb3a9f3a1167eb9aeec0a319de3637c5762a7c391d3f5330
-EBUILD llvm-16.0.5.ebuild 12495 BLAKE2B e7342f71d7218938e16634e9c993c6ac854f0d197101d917a57f9480c942053f3dfd00fe888428acaa260196d7bef29a30a7147f2cb2835c87a2edd6edbe02f3 SHA512 95c9bcb85329b91a3ed5927d3daa685c1f1d5b9a3a98e5013f6ccabc3f17275dd080aa98e634645d28462808fde8df225225619fdc9598cd1af986efcac2007a
+EBUILD llvm-16.0.5.ebuild 12494 BLAKE2B 305f09d9fd1e1a3aec00f3eb6dbecdee8da341ef0b52535c6957db6f1584501608fa378c8c95aea39562e97fba3645e2a3c296c1ff9c25894a200f14b03e8edf SHA512 e0d1b9aec037ed88896b30212b4876902439f9e408eb5d70320811a3e7f5105cc4dd825fb63413f36592b45a757f67277186894be1584c95df8218f150999d37
EBUILD llvm-16.0.6.ebuild 12516 BLAKE2B 3b8627f6165cace4db89596bb52bc6706672ff8ed9e500acefd71442d8f394cb4a787956a129bcce052597ebfafc0bb2ab2630024777399799102ea52458a8c1 SHA512 d7715d2bcdc32967b0674aa9c0c3a16a4fe704d3013bbdd5bc452755352480c20b578c1236190c273a69d84c55e67529bea116e048ed2d24d0987456c9649374
-EBUILD llvm-17.0.0.9999.ebuild 12689 BLAKE2B 188b2dc059691ac3a1d181e8aeeadbe836507ea419f966b12203eb64de15a5c0bed49074e055f91e0e98a07b80bdff355302e4a4b6f27f09ff23753a513848f6 SHA512 9fcda73df117c7fcab2be62ad8f8ed51794c7e247cfab39f2533948a3c105575f75459b6dccca7cdc425a13e45947b13cf40c0e5cf70b771b7755a2063562192
+EBUILD llvm-17.0.0.9999.ebuild 12690 BLAKE2B d893c2d895dce9ceccb53a848ad3c242febebef21a3d261c36b18664876453470c4cae04ac4707777178f06799fcd6b0645e688ff385ec92382c5008a7328f8d SHA512 3f0de58fd4d9af36675189a26d3f56c85f062f03c65a5f0ae24ffb1942458fd4d4c89cb28e033e0aa229a8affa65e7d8b7326dc6ddb64cbba49e775495c6fa29
EBUILD llvm-17.0.0_pre20230609.ebuild 12689 BLAKE2B 188b2dc059691ac3a1d181e8aeeadbe836507ea419f966b12203eb64de15a5c0bed49074e055f91e0e98a07b80bdff355302e4a4b6f27f09ff23753a513848f6 SHA512 9fcda73df117c7fcab2be62ad8f8ed51794c7e247cfab39f2533948a3c105575f75459b6dccca7cdc425a13e45947b13cf40c0e5cf70b771b7755a2063562192
+EBUILD llvm-17.0.0_pre20230615.ebuild 12690 BLAKE2B d893c2d895dce9ceccb53a848ad3c242febebef21a3d261c36b18664876453470c4cae04ac4707777178f06799fcd6b0645e688ff385ec92382c5008a7328f8d SHA512 3f0de58fd4d9af36675189a26d3f56c85f062f03c65a5f0ae24ffb1942458fd4d4c89cb28e033e0aa229a8affa65e7d8b7326dc6ddb64cbba49e775495c6fa29
MISC metadata.xml 2782 BLAKE2B 4bd546287f630462c3f5d98cbd15a59a4cdef4023f86a5f4fe64fc5f10256cae7014d18823bd0909f4af4e42f299b6e7983c9c3c569cfab1ad38b0160f1eae40 SHA512 6bf1dc4f71f50e1eecc55cbb8366d8ed82a3dd328871acf1d808fc5e3ee4d203d623f81d9968bda45a87c72a2f20ed69b735b0a289b0052b048175cf6502e124
diff --git a/sys-devel/llvm/llvm-16.0.5.ebuild b/sys-devel/llvm/llvm-16.0.5.ebuild
index eeeeca786e7a..f5c212062ea7 100644
--- a/sys-devel/llvm/llvm-16.0.5.ebuild
+++ b/sys-devel/llvm/llvm-16.0.5.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
IUSE="
+binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
xml z3 zstd
diff --git a/sys-devel/llvm/llvm-17.0.0.9999.ebuild b/sys-devel/llvm/llvm-17.0.0.9999.ebuild
index c2c2d7c6b628..dd7be5a60d95 100644
--- a/sys-devel/llvm/llvm-17.0.0.9999.ebuild
+++ b/sys-devel/llvm/llvm-17.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake llvm.org multilib-minimal pax-utils python-any-r1
inherit toolchain-funcs
diff --git a/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild b/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild
new file mode 100644
index 000000000000..dd7be5a60d95
--- /dev/null
+++ b/sys-devel/llvm/llvm-17.0.0_pre20230615.ebuild
@@ -0,0 +1,533 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# 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="${LLVM_MAJOR}/${LLVM_SOABI}"
+KEYWORDS=""
+IUSE="
+ +binutils-plugin +debug debuginfod doc exegesis libedit +libffi
+ ncurses test xar xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ debuginfod? (
+ net-misc/curl:=
+ dev-cpp/cpp-httplib:=
+ )
+ exegesis? ( dev-libs/libpfm:= )
+ 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}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ >=dev-util/cmake-3.16
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.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 )
+"
+# 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
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ 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
+
+ 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 [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_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)
+ ;;
+ # testing libraries
+ LLVMTestingAnnotations|LLVMTestingSupport)
+ ;;
+ # 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 ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+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
+
+ # testing libraries
+ llvm_gtest
+ llvm_gtest_main
+ LLVMTestingAnnotations
+ LLVMTestingSupport
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # 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-debuginfo-analyzer
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ 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-remark-size-diff
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tapi-diff
+ llvm-tli-checker
+ 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 binutils-plugin && out+=(
+ LLVMgold
+ )
+ use debuginfod && out+=(
+ llvm-debuginfod
+ )
+ 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/${LLVM_MAJOR}"
+ -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_INCLUDE_BENCHMARKS=OFF
+ -DLLVM_INCLUDE_TESTS=ON
+ -DLLVM_BUILD_TESTS=$(usex test)
+ -DLLVM_INSTALL_GTEST=ON
+
+ -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_ENABLE_ZSTD=$(usex zstd)
+ -DLLVM_ENABLE_CURL=$(usex debuginfod)
+ -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod)
+
+ -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
+ )
+
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; 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.
+ suffix+="+libcxx"
+ mycmakeargs+=(
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
+
+ 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/${LLVM_MAJOR}/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 binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ 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
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ tc-env_build 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/${LLVM_MAJOR}/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/${LLVM_MAJOR}/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/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/llvmgold/Manifest b/sys-devel/llvmgold/Manifest
index b9229f44f14d..16092b74b2e1 100644
--- a/sys-devel/llvmgold/Manifest
+++ b/sys-devel/llvmgold/Manifest
@@ -1,5 +1,5 @@
EBUILD llvmgold-14.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3
EBUILD llvmgold-15.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3
-EBUILD llvmgold-16.ebuild 588 BLAKE2B 1245dbea5723f5d96eebc3a50e9324b8caebd63a357ed0f7a9ef9a21dc0ec7b9e1e3716c23636eb7f9dc0a7244471198d28712933e03c9540dba89ead395b243 SHA512 8ed066d3d462272ecba181429633f68660e312fa7690fb69dd94c82979c3adbd238f6c2a1db55820e5d03a0966376ee732b5af73beaf2da922247f25a9e53bfe
+EBUILD llvmgold-16.ebuild 587 BLAKE2B cb0800f61c4e9b931613cc65137478aeb3af4684c0956f97cfc077cc3a394f9a426b564ece1ef7743abd16fe3663ec7b0aee0d0b6678b161057c1a86597e2c24 SHA512 eed74ecf4e7c77162736fc9570d4c5c6f3bad8da74a9afa4c0303a3ad84c5d2f25250d8bfd4ece25917af3e082afed89a7ccd680a15d2c6551bcd55f935814d7
EBUILD llvmgold-17.ebuild 538 BLAKE2B a3424159e17fb2fb91ee0ebc7b84bee83b48c0bc672bad2d55fde1be98066b718352cab72f422b4a7a6e33e7ac98463ef433fb6f7c37e27570359d2fdcd7bd75 SHA512 906506a5430e1c3f39b49f8e3b5bb6981f1781a14d3dff59f57d872f3790fe146e5e4e757f1e6486558c77d0ee6bff7bf1bc784d4d1b5e2ecc81e6bfbb335c13
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvmgold/llvmgold-16.ebuild b/sys-devel/llvmgold/llvmgold-16.ebuild
index 750c2ab3434c..5c540a7d9c78 100644
--- a/sys-devel/llvmgold/llvmgold-16.ebuild
+++ b/sys-devel/llvmgold/llvmgold-16.ebuild
@@ -9,7 +9,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86 ~amd64-linux"
RDEPEND="
sys-devel/llvm:${PV}[binutils-plugin]