summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10505 -> 10494 bytes
-rw-r--r--sys-devel/clang-common/Manifest2
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20230803.ebuild190
-rw-r--r--sys-devel/clang-runtime/Manifest1
-rw-r--r--sys-devel/clang-runtime/clang-runtime-18.0.0_pre20230803.ebuild41
-rw-r--r--sys-devel/clang/Manifest2
-rw-r--r--sys-devel/clang/clang-18.0.0_pre20230803.ebuild474
-rw-r--r--sys-devel/gcc/Manifest12
-rw-r--r--sys-devel/gcc/gcc-10.5.0.ebuild2
-rw-r--r--sys-devel/gcc/gcc-11.4.1_p20230713.ebuild64
-rw-r--r--sys-devel/gcc/gcc-11.4.1_p20230720.ebuild64
-rw-r--r--sys-devel/gcc/gcc-12.3.1_p20230714.ebuild64
-rw-r--r--sys-devel/gcc/gcc-12.3.1_p20230721.ebuild64
-rw-r--r--sys-devel/gcc/gcc-14.0.0_pre20230716.ebuild64
-rw-r--r--sys-devel/kgcc64/Manifest2
-rw-r--r--sys-devel/kgcc64/kgcc64-11.4.1_p20230622.ebuild46
-rw-r--r--sys-devel/lld/Manifest2
-rw-r--r--sys-devel/lld/lld-18.0.0_pre20230803.ebuild89
-rw-r--r--sys-devel/llvm-common/Manifest2
-rw-r--r--sys-devel/llvm-common/llvm-common-18.0.0_pre20230803.ebuild28
-rw-r--r--sys-devel/llvm/Manifest2
-rw-r--r--sys-devel/llvm/llvm-18.0.0_pre20230803.ebuild532
22 files changed, 1415 insertions, 332 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 1503ccc08833..e8c2975e3c97 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 14da7d66cc81..57d02670ffdc 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -6,6 +6,7 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.0rc1.src.tar.xz 127805900 BLAKE2B ab6e3b7e7af10bbb086bdd271691c259925b8047d8425b0eafb55d2c1daf637c3a56903b88e50283667955e780a47f61e7215a1e3a1acd3634c62960cf17317f SHA512 fa7ebe7fad14087861dc0eea08f68e8aa01dcc6560d70163ec38819a7fd799484f6ab1e35a69393a14962b45fa0a469c9d6c5fd2882b3609305bd01bc9f6701f
DIST llvm-project-17.0.0rc1.src.tar.xz.sig 438 BLAKE2B 976098c616d7f01c08c5be1d76dd395950184d2c6750f3f2c14235cdf446f1d876d842b3591f827cf1157fa25c707862a374e34d61fb73afe5a7b08d6041ee4a SHA512 272e92dec1fd43819f6fafdaa7f55a975e60a1c3000a69875209b89b7f3e2d2851e32ec0f2725242479203068349aaeff8da261d998a2325a9c52733bc5d7697
+DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
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-r7.ebuild 5462 BLAKE2B 098697c65115e672a1e878167997d820c93cad6a71c5a1dc17c731a031d37f20e50ef41e2f1d3238bc91065ba23bab5db4ab48e8274be9db3cb086ec6cdf7868 SHA512 7500bf0c4fde82b90aac68d09b95a49c241fae8b0d2340f7780e9baed1c85d855e45c4296a7daaa0b831a07f442e0be4faf6510a335fa5c979b3061e28fdb99d
@@ -13,4 +14,5 @@ EBUILD clang-common-16.0.6-r2.ebuild 5523 BLAKE2B d1679b6e4b3f8430b9840c0e43e16d
EBUILD clang-common-17.0.0.9999.ebuild 5439 BLAKE2B a9e244677be20b2eb40ec21906a2985ffe08936908f0680adf258e2bb0d0cb4c58c17d9914cca82f46845c862266be4c595c54a99fe3ed21e2e7f7d2fa37cb8b SHA512 68b40b0470e25cb50c2cf9ea937a99bd01db8abe8d22c2e51de9ff98ea6cb2389133343757a5c341110c51bb9dc7de5ae66d01597ddc5b9689a578b7158594bc
EBUILD clang-common-17.0.0_rc1.ebuild 5439 BLAKE2B a9e244677be20b2eb40ec21906a2985ffe08936908f0680adf258e2bb0d0cb4c58c17d9914cca82f46845c862266be4c595c54a99fe3ed21e2e7f7d2fa37cb8b SHA512 68b40b0470e25cb50c2cf9ea937a99bd01db8abe8d22c2e51de9ff98ea6cb2389133343757a5c341110c51bb9dc7de5ae66d01597ddc5b9689a578b7158594bc
EBUILD clang-common-18.0.0.9999.ebuild 5439 BLAKE2B a9e244677be20b2eb40ec21906a2985ffe08936908f0680adf258e2bb0d0cb4c58c17d9914cca82f46845c862266be4c595c54a99fe3ed21e2e7f7d2fa37cb8b SHA512 68b40b0470e25cb50c2cf9ea937a99bd01db8abe8d22c2e51de9ff98ea6cb2389133343757a5c341110c51bb9dc7de5ae66d01597ddc5b9689a578b7158594bc
+EBUILD clang-common-18.0.0_pre20230803.ebuild 5439 BLAKE2B a9e244677be20b2eb40ec21906a2985ffe08936908f0680adf258e2bb0d0cb4c58c17d9914cca82f46845c862266be4c595c54a99fe3ed21e2e7f7d2fa37cb8b SHA512 68b40b0470e25cb50c2cf9ea937a99bd01db8abe8d22c2e51de9ff98ea6cb2389133343757a5c341110c51bb9dc7de5ae66d01597ddc5b9689a578b7158594bc
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20230803.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..9295c64406f2
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20230803.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}[static-libs] )
+ !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 9a003ca5c034..d59fbf14430c 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -4,4 +4,5 @@ EBUILD clang-runtime-16.0.6.ebuild 1435 BLAKE2B dfbb6047c0541de72f3447fa61f00d96
EBUILD clang-runtime-17.0.0.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
EBUILD clang-runtime-17.0.0_rc1.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
EBUILD clang-runtime-18.0.0.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
+EBUILD clang-runtime-18.0.0_pre20230803.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20230803.ebuild b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..67b42357665e
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20230803.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/Manifest b/sys-devel/clang/Manifest
index 188c97dde5d3..e51466d5d601 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -14,6 +14,7 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.0rc1.src.tar.xz 127805900 BLAKE2B ab6e3b7e7af10bbb086bdd271691c259925b8047d8425b0eafb55d2c1daf637c3a56903b88e50283667955e780a47f61e7215a1e3a1acd3634c62960cf17317f SHA512 fa7ebe7fad14087861dc0eea08f68e8aa01dcc6560d70163ec38819a7fd799484f6ab1e35a69393a14962b45fa0a469c9d6c5fd2882b3609305bd01bc9f6701f
DIST llvm-project-17.0.0rc1.src.tar.xz.sig 438 BLAKE2B 976098c616d7f01c08c5be1d76dd395950184d2c6750f3f2c14235cdf446f1d876d842b3591f827cf1157fa25c707862a374e34d61fb73afe5a7b08d6041ee4a SHA512 272e92dec1fd43819f6fafdaa7f55a975e60a1c3000a69875209b89b7f3e2d2851e32ec0f2725242479203068349aaeff8da261d998a2325a9c52733bc5d7697
+DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
EBUILD clang-14.0.6-r1.ebuild 12014 BLAKE2B 0f9eed7779a5b9aa8f92002f6f4d8e22e7baf3d3f6d1930e4716abf3aa00d866f68a682dc2a404655f53800e26c8b388da552184da6943287b2d91c5c1c2672b SHA512 c5e46f1044604f4e41cdb6c42d2079096c0bcdd396d99f8e95a6b5b66918e3519e4226741202f716fa5f53295188ec2bfcec66ae32480a8e10b4ab18bdb880ab
EBUILD clang-14.0.6-r4.ebuild 11942 BLAKE2B 74f901e40ebb6d9daa56aa59a24b9cce51c9c6584424e25011368d516ca7746fa10a3e08ec5a97dcf1b95be503153c32bab878ccd8346f7f8c1bc546c5a5ff62 SHA512 9c43472067e086137be395a73414f3d42d238d0bcaf8facb5fcdfefae16bfbb4319b64eab042923d181e5e6c37e327bb0b8394e11bc45e2d80556b6a0a596f34
EBUILD clang-15.0.7-r1.ebuild 12617 BLAKE2B 780db8dc3c92efab35280d32f6b7d4ffcea912d7839b995a18aa603d0cf59df1199eabd53eb5a475e67da7a45e10fdd08e9879b871a25672f135dbdb001a5f46 SHA512 f6302415c9a4fb8571613ff5ebea4096f1318333ba4bc0f3c0b63b04eb0d10755c4555f55186875db0d34bb5d2c0b245b758aff387b97033bc643a1a291d1195
@@ -22,4 +23,5 @@ EBUILD clang-16.0.6.ebuild 12462 BLAKE2B 532fbc03f98a4135371238de3f3d933ac321d4e
EBUILD clang-17.0.0.9999.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
EBUILD clang-17.0.0_rc1.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
EBUILD clang-18.0.0.9999.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
+EBUILD clang-18.0.0_pre20230803.ebuild 12066 BLAKE2B f8a467f1daa8688c5ff80977800fe0368b39d0c6061d3c790597d4ffb791e96f40013030ce634ab0a38972cca8f79562121ab16f8ecc31ac8a8ad6a283efe114 SHA512 df09fadd53294456b3ecd05c226647195731d3fc787362193c9f5c929aaaa40bc8c1dc02cb8d63eef356f54df271c3fa0a73c4910c9c43afd06f2bd7ff86d9c8
MISC metadata.xml 1600 BLAKE2B 8e49e099132445cf695e904acad8a699f3d8c4c1e4cd6ba9d0b97180dfa5b67e9c30b00d1e4cb6cd2f61b27f022accc8d6ee889c6569fc58fbc058186ad216fc SHA512 96b7cf4988ff1fd923ec87311caed458b64888b5acaaf20cc1ad893f2a963158f7f59398f9fd4f9e65cab3df265c0d002048ff874f7a76b94f36377bf9e8f5f6
diff --git a/sys-devel/clang/clang-18.0.0_pre20230803.ebuild b/sys-devel/clang/clang-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..aae7c602232c
--- /dev/null
+++ b/sys-devel/clang/clang-18.0.0_pre20230803.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 4105dcbb98ee..b72fb109cb11 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -8,8 +8,6 @@ DIST gcc-10.5.0-patches-6.tar.xz 18208 BLAKE2B 4cac3340108fb378c76ad62b728429f3c
DIST gcc-10.5.0.tar.xz 77846412 BLAKE2B 9b71761f4015649514677784443886e59733ac3845f7dfaa4343f46327d36c08c403c444b9e492b870ac0b3f2e3568f972b7700a0ef05a497fb4066079b3143b SHA512 d86dbc18b978771531f4039465e7eb7c19845bf607dc513c97abf8e45ffe1086a99d98f83dfb7b37204af22431574186de9d5ff80c8c3c3a98dbe3983195bffd
DIST gcc-11-20230427.tar.xz 76165128 BLAKE2B dd896b418c1fce35a61005d5b5c90cfd1246d37d23c2a8fc08bacd7d7ca84c353f3ccf5de2370ae5e5ca95c7ae3deab3565b3f65eb78b611dbe5ad4a256516f0 SHA512 fada917a832be5d2e15ee32f24e19fc87b851dc8e6fc75d1be6d25d3510dba408ae3ef3b245ff239c51aa3d243c95f12269695611e5c8965ba55f5aa4730778d
DIST gcc-11-20230622.tar.xz 76199316 BLAKE2B a769dc6be63eabca3bc33944b471d727bf230e506773c85977156b187f12664f2cd3e0992a1faefda8ec88ff85d1a8d12795121baadc7e8b9653d69a8025e46e SHA512 8dbc5a4b54f2bc52458914705af40a00b33e46061dd5b335b4b4a6e96d17206fe480d3fec564dd11ebcca6168f054984d706b1b26b7e694e8b327692a13ae7d1
-DIST gcc-11-20230713.tar.xz 76215136 BLAKE2B 6972eb897aa11245f9eb8000d4731f37cf14f3bf75b433a322fece1308403ba1359dd0d96a3e1e2dfc7d94343a0bf1c917d3663b9e34424f379329b6fe85ed33 SHA512 fd16be7fb803154f4d6e374d373bc40d7f41afcda7a7bac77e943d66434d4c8a19470a51c3cf68b1d501eaa346abf8516762a085d688babc37f27fbba168209e
-DIST gcc-11-20230720.tar.xz 76212944 BLAKE2B b12c4eff5eaecb8d3551c462f269ef110cddba4bc3b49e17e49238a6dfb95e3583efaea44d838334ca1b34b2910351726538762eb0ba20e254f3062203290b55 SHA512 aae61cb20adae53c8c4fdef997702bb87c62920fb4e3baf2fbd8b4a58e73d6501fb32f88d604f3995dbf9372d055c20df85aea453d494ec0d88ac9afc6c980e1
DIST gcc-11-20230727.tar.xz 76213292 BLAKE2B 8d15efab47a39695997b15d606c27929794c3b8a96da0243f336c78076daad4b322d37ddfca3d928b73ca7a68c25b05a7834596a27ac79d11d2c77777573f118 SHA512 e64b10ab59548695d538d0ca471efb7bb29dd751e719a8e7c1434182a8cf7433e28348fb08c3babe90bda952ee2e739a9fd055ac8b9ed883417066c836d2ffd3
DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c
DIST gcc-11.4.0-patches-10.tar.xz 13852 BLAKE2B 54937d13e30e2a5303c7e197fae09eeed35ca0b9783625e02578fcee829b5503fb22d664366322b304df7d01ae807d00af7c93db3e3ceebe4851e15647724f87 SHA512 31b4d7a2e7cc589e92e12c3583d13d41c523cafbd309bc0532df9b68ea2473c89daef4c0edd3ce2917b5823d81a7792f145b9449f16277d0d64c22ceff50bbb9
@@ -18,8 +16,6 @@ DIST gcc-11.4.0.tar.xz 79837032 BLAKE2B 6e3b095a5837d4b5512719f848f4b9c4b4a6d7dc
DIST gcc-12-20230428.tar.xz 79744932 BLAKE2B f9d0000cdd2f1b0af79f281851b3b0fe0ac50f14468844e1ee596f8ed1ccf33f55c7617464d88df7e4b3435d58fedecf640592e0661fd1be9ba163acd26dae68 SHA512 992f9cd71f9910efea401048540ba2b43360170f76ce992cf356b1ab383240f481e29c5b0ad32fa4efb2bdbb397477506cb83a825268cfbdd2cde7044d43c758
DIST gcc-12-20230526.tar.xz 79780444 BLAKE2B 6f6eca272ab506e16a231003c399e28572595c82fbaaec9deb14b78ff9fc493fb24afe1c375d4f2fd75e9813805934857ef2ceb6c05b7977dbfe2e50abdc3ec9 SHA512 fb190ce5bf3d38a1899016475c1551550d44c6f71f1f1a71ced545cbb2aff0446bd2765230b0920379579a13103a507ffc1e197ac69afb0a4f08efe11b50918d
DIST gcc-12-20230623.tar.xz 79782948 BLAKE2B 6eeabdd1495482b8bc5a6f2f90cd7d7967b66664d277c5f755f1ee98ac2c99db1552ab13b1c69f4c47d1d0b8de584e6a5f024b45e3c5934f49179cf65ca30acc SHA512 09aa0304a8a916aea7a4714eb3a7541b2015e3bdb8ae9bd40bc289553c4ec86f91b054925d2af45f33af9d20a7422949e691c0f552d68ee1d5206b4007310a88
-DIST gcc-12-20230714.tar.xz 79794260 BLAKE2B add530733b1b84b594439a6f8029fb65132ae2903e5b2b6b1562d8f784571f84a0ef11183e52fbbf4fcf17950aad1cf7e90cdac54982300ef92e1e5ce4db1380 SHA512 ea8e4fa199028979efadebc85ef7d73efbc7eeca04ad61a5bb11dfea8014701c2848a908f22d37df99bd437f7977a45f3148c7aed652e91f2e8fa6866e7daa8c
-DIST gcc-12-20230721.tar.xz 79790360 BLAKE2B 12f575ce59278989ca8a15ca645c70201698692418963d1abb7ad06a5460077b025d20f3dca1fe3b03bfb069e9e811b51e38021e8f85212755debee2b1563429 SHA512 7e621297d908d66c168147235d4649b06ff307d16d949e963aac1a52b1982b75acee5ee87b7dce8d65eb560ae174f23e76584b3ae7797a37f8f4bb10bc6bd0b7
DIST gcc-12-20230728.tar.xz 79813460 BLAKE2B 89db12fbdc7d75d298335fdd61b15439c161090deb94e224d13592d25fa64fd21c289f75fbe77e5c0d10f90e18019a12c343014e73ef446281ac8c471a39b937 SHA512 20c8bbe3918ed41b05b00cc3fa90e1ee59faf9ece876faf3e93ab01b2a79e6b83b55812e41d662ad1b9a420ca3f891f46cd70aa9f7f6bcf292dda0f57b56681e
DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe SHA512 b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1
@@ -29,7 +25,6 @@ DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
DIST gcc-13.2.0-patches-4.tar.xz 35284 BLAKE2B 230932b5df961518dc0c1aea219e65bd49a64bfcbe0621f90012d8fa18c099fbaa9ce865fb7b95e403e9b227d4cc86bf701668837519a3962a76769f49cd1356 SHA512 5464a6de67ed16a5b3200d513069e8ea10d57d0c78eb84523d30f7abfcaa2611c5462e83f9bbdb079e42b4f702e5f2ecd1db0f370fdf0fe6c0216a08cf2801d7
DIST gcc-13.2.0.tar.xz 87858592 BLAKE2B 0034b29d3d6cc05821f0c4253ce077805943aff7b370729dd203bda57d89c107edd657eeddc2fb1e69ea15c7b0323b961f46516c7f4af89a3ccf7fea84701be2 SHA512 d99e4826a70db04504467e349e9fbaedaa5870766cda7c5cab50cdebedc4be755ebca5b789e1232a34a20be1a0b60097de9280efe47bdb71c73251e30b0862a2
-DIST gcc-14-20230716.tar.xz 84628612 BLAKE2B 61498db17a0dc46c8fbbc051765065ed867abc58cec4e709ac374d716ed3a1ab134fd20aabe809490d5d00115f98fc4a4b3c6a3d4ed132dbc3aebb4ce15600f4 SHA512 7b17380723d1578ec8bbcaeff6421755957d3ba84fa9707be4a6704817952d084b70528060f4ae70bb80659a53ad7bd40db6dd11a35b82c1347bda80fe7b4865
DIST gcc-14-20230723.tar.xz 84677324 BLAKE2B d9bc3aeaac971984178eedc70bc4b1b1314a3c299c17a60992fe843e01c35aee63fd0742d97449f2bd14e1b2adda3c8a2095cc26b4e4eb3a8d1620af9706ea43 SHA512 53490f78fcebf3e795ad012fe7462390f0e40fc541e3ee6d9edcedba78d645029a35d74e5d16aa0d1ee487c43f7de10f5911043f875e8a5787603c37e1708a7c
DIST gcc-14-20230730.tar.xz 85008220 BLAKE2B 93a253408aec27af68f98d00f63d0498445385bab2f324b615aba0f488cdbc55ea4d91a3a8934ba46e275aa7ebf3439ee76cfa0571948cbc9dbd6618760abfa2 SHA512 0314fbd44e359f9d183e8027c3f2c70cc6aff07b7a3f7d55b62718e5ec72a70698c30464460a5e3cebabc4bfb369ebde327fc1c13d7dd8667f597f1c4e143656
DIST gcc-14.0.0-musl-patches-1.tar.xz 3576 BLAKE2B 692baee8a7709905d53aeb150d73a3721c4ba47ee5f397cfb1b5be905cf003ca02b60c94ee294d90ac39645cd5cdf186c7a3aa950c47d8cf680c128ed705b807 SHA512 0592ab98a7142e404623a6511c67dff61e9ade32c3fb2c0e75b456306e0af3799ad13252b50b3d2fdd31e5815d7f0b16b0ad63ab8386fe4d78729fc9c182d617
@@ -40,19 +35,15 @@ DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1
DIST gcc-9.5.0.tar.xz 72462752 BLAKE2B 69e39314ee6bb46e3be491ba9c3cbc4914cb716f732c6d3f2b14d9382750b40c4f14b5d3051225b81f936ef8297b0ba8cb5439512e961dae5815d3bee2b0bfdb SHA512 cdd144ce4f747e051480410afc8506c90a57cb45da89071ddae377b1453bca3014422455ade9fe4563ebe51f4b6348cbc0c61905a9b8801cd597d51ad0ec62b3
EBUILD gcc-10.4.1_p20230426-r1.ebuild 1394 BLAKE2B 68e7a1e51fe470f4c3d0e3ce412edfe2bc68f156987f984e1a5acc35a2a708215bf6c92ab65df0d7c062157d953d6a68069a5669440f12a8c1383a234a52abbc SHA512 cc09808a6826e0743c70ba0de9eac6f26556b8bdd839c83a97ea491705a1d840e9ece77ec24fcb5710ea70bd812519eaaabeb4f02cec8e087d70696ac1e9d92a
EBUILD gcc-10.4.1_p20230621.ebuild 1406 BLAKE2B fc4eda87a7f31859929f8921bd80daa28e8b0c7ed6b039414e3d7af3009a37a8f82f96630c019dec3c461351076a63da7eed89e62bd75f89b637d51a1a4d2b31 SHA512 aa6acd7c72aa5390fec758bf04261f8c26e0102db61f026600f2068eda33689d4a1ae6aa7e80a4032e1cc045e5f164f56b9e2e2e462d8f1ce87e3cc2b9c9b384
-EBUILD gcc-10.5.0.ebuild 1406 BLAKE2B fc4eda87a7f31859929f8921bd80daa28e8b0c7ed6b039414e3d7af3009a37a8f82f96630c019dec3c461351076a63da7eed89e62bd75f89b637d51a1a4d2b31 SHA512 aa6acd7c72aa5390fec758bf04261f8c26e0102db61f026600f2068eda33689d4a1ae6aa7e80a4032e1cc045e5f164f56b9e2e2e462d8f1ce87e3cc2b9c9b384
+EBUILD gcc-10.5.0.ebuild 1404 BLAKE2B f50219e272a1b23eabf85b6ad1444fb534fa2a02c9bdbdbc36d1ce04223504cdf23a32c5c85897596f6472ebe2bb5b085db3d9c93d461e078c6ce6bdc06b74fb SHA512 3876b38afac9294f9f7ae325ff02df0ad232c3abc9d54b0817f219c41f453ffa5370b1327e00a947771a143c056878cbbc7595f75d7e50c8772863816b34763e
EBUILD gcc-11.3.1_p20230427.ebuild 1605 BLAKE2B 65fc39711c23a635257ca2620c8f5f040c5a90c8df18f5c2b5584f646872a95ace4454d32a658d78afbe167e19193a11a02e777489af98165aa8565088822b9b SHA512 641ebcf7e7f93e51719cd20a72f8e94c31233fb57208b5ebee59994464c98254b04a2669c029239f1337c30a353903545a51dc4a7565dbe3f49b02365f643a21
EBUILD gcc-11.4.0.ebuild 1610 BLAKE2B aeb912c62e629e9eeedf2ef76d8df4c7aa001543a788d01e17b64749a4736d6bdb040adccfbc2cf7980bcb48879652f879a618975b021d55bdce1316ba1f0197 SHA512 fc0db0a1f1d246b6f859a699ec0612e96d2c4a777e7815a8867d3858e4eedb2754ac0ae64e4159e3c1f3f14ab9db0dfb63d6e3bbcfa013f60d7469c5e9c9e7ee
EBUILD gcc-11.4.1_p20230622.ebuild 1614 BLAKE2B 76541d8ec0819f2ced3ac9ecc63b7f7fdee3716226b8cb1d1ae1d1115e2ba9c653cfb25e711289d263bce7b75c6812f24bd381ca84c8dbf33ee840f08765f8b7 SHA512 221b1b8aee3fe8d9db2bfc17f25cc59e473960307c95b0991bdae2b8258c889f2765514d27015621cd000e609f14110cb341ffe26054b42444e12a51fff19188
-EBUILD gcc-11.4.1_p20230713.ebuild 1615 BLAKE2B af739962d08d8a4866104d8583cac167b027737353abf34be5c9c64f463ecf28c1d6eb67f210a39964779a7b2d0adc8e2e052aa15aace5499428f7082c99cdf2 SHA512 a175a89736344022b27199d4f36bb95914c2fdce49787a98bdcd798e6ab1a2d1e8d55769301950472999ba51fbf9bae9b86d3f9914964f361e9a9b526de74170
-EBUILD gcc-11.4.1_p20230720.ebuild 1615 BLAKE2B af739962d08d8a4866104d8583cac167b027737353abf34be5c9c64f463ecf28c1d6eb67f210a39964779a7b2d0adc8e2e052aa15aace5499428f7082c99cdf2 SHA512 a175a89736344022b27199d4f36bb95914c2fdce49787a98bdcd798e6ab1a2d1e8d55769301950472999ba51fbf9bae9b86d3f9914964f361e9a9b526de74170
EBUILD gcc-11.4.1_p20230727.ebuild 1615 BLAKE2B af739962d08d8a4866104d8583cac167b027737353abf34be5c9c64f463ecf28c1d6eb67f210a39964779a7b2d0adc8e2e052aa15aace5499428f7082c99cdf2 SHA512 a175a89736344022b27199d4f36bb95914c2fdce49787a98bdcd798e6ab1a2d1e8d55769301950472999ba51fbf9bae9b86d3f9914964f361e9a9b526de74170
EBUILD gcc-11.5.9999.ebuild 1582 BLAKE2B a5b94704a65afc32a3079ad0732b544c03413a9f4965ccf1c2718fd763dc29b7a64e54b8cbb492d52e93527e3f0d4966d17eb6b6cb81fd609c6629d19f6b124d SHA512 bd165193f6ef2b12930bac05c8c3f75f6bafd143a13ed5c2960f7a1d8039608ca23ccbffe9a6b235d42c789d117e29cb3d47998c71a4a3eba30a63b8b9e0f116
EBUILD gcc-12.2.1_p20230428-r1.ebuild 1609 BLAKE2B a242d9a7eedbf244d1a43ec5d9f8e89e82e15fdfc2a0188dafcd5ee3050dd68e20cb765e06eeae92f1b4b965b9f678bd23786291d207984afe0365728f71a327 SHA512 a844ec1b656ade09280433231828e28bdfac9750e277fb5f7b2c905199f62d1f3d59c5c283706f8e80d8f8e5059a7529cd0b5a3c224a55b6e97faa335b8ebe74
EBUILD gcc-12.3.1_p20230526.ebuild 1609 BLAKE2B a242d9a7eedbf244d1a43ec5d9f8e89e82e15fdfc2a0188dafcd5ee3050dd68e20cb765e06eeae92f1b4b965b9f678bd23786291d207984afe0365728f71a327 SHA512 a844ec1b656ade09280433231828e28bdfac9750e277fb5f7b2c905199f62d1f3d59c5c283706f8e80d8f8e5059a7529cd0b5a3c224a55b6e97faa335b8ebe74
EBUILD gcc-12.3.1_p20230623.ebuild 1620 BLAKE2B 3866983ddc8c6811e00c12af0051e80bfc7f0651a5ef6ca4af9ee651e2efea89a095a616908cccdbac88d8c1baa5ba2eaba7ce7e94f9aae6ff3a56ff52bcd0c2 SHA512 81a426e6392a42d3a28eb6aa5a2de535771fdb87224eafb60ea369c902f27a42c8265565b354d4bbac8daa968849a20370c529c62c9367f0cf58756124d08e0b
-EBUILD gcc-12.3.1_p20230714.ebuild 1621 BLAKE2B 830b5c20e6bda5a28297bfbfd92a9cc74b5f371fe22eb06913c3dbcbe0d794b198dff9cda6f35bb7b34821ae0601afbe66a01e4c3686e9ba1a5cc049d9cf7868 SHA512 7144d0759578fb3db8ff377f2224e551e6fe5e669660baa712b5fa90e4e2875ac3e37f62ee66b0f1664b0f3d29b8d0acf144e7f52ef26bc23638d04770bd772b
-EBUILD gcc-12.3.1_p20230721.ebuild 1621 BLAKE2B 830b5c20e6bda5a28297bfbfd92a9cc74b5f371fe22eb06913c3dbcbe0d794b198dff9cda6f35bb7b34821ae0601afbe66a01e4c3686e9ba1a5cc049d9cf7868 SHA512 7144d0759578fb3db8ff377f2224e551e6fe5e669660baa712b5fa90e4e2875ac3e37f62ee66b0f1664b0f3d29b8d0acf144e7f52ef26bc23638d04770bd772b
EBUILD gcc-12.3.1_p20230728.ebuild 1621 BLAKE2B 830b5c20e6bda5a28297bfbfd92a9cc74b5f371fe22eb06913c3dbcbe0d794b198dff9cda6f35bb7b34821ae0601afbe66a01e4c3686e9ba1a5cc049d9cf7868 SHA512 7144d0759578fb3db8ff377f2224e551e6fe5e669660baa712b5fa90e4e2875ac3e37f62ee66b0f1664b0f3d29b8d0acf144e7f52ef26bc23638d04770bd772b
EBUILD gcc-12.4.9999.ebuild 1589 BLAKE2B 8de913409a3303b99e08e719751855382983fc3208de45a45e9f42d334c3f5b2b387b910791af804cae0c646c139d735235802bad96b4b84fe54f3cafd46cfec SHA512 fc445103363a11b7628e3f46ad8dc4b4c8e1f942dfd25078b41638779f7e4580fb9acff78812fb1039e5410e6dbdbaeea71b99f2d52ce3c4f04ec30dbf72ef7c
EBUILD gcc-13.1.1_p20230527.ebuild 1675 BLAKE2B 79870241df5096103bd49f812832100faf0e6663d97f478fa1dfa73ff31283b86453b0553a4d207da9bd3d4149fc79e9665efe457a7110616908f1e96a4c9695 SHA512 a865581a2f9f98fd92dfeb4a712909e88ca1bd02d3c983be2d2250de8d2b5cc7f8dcb5bc306d70d41feb595d65d5a61c29696dee01b328897768a68625c1a400
@@ -60,7 +51,6 @@ EBUILD gcc-13.2.0.ebuild 1679 BLAKE2B dd35823fb6e934b093eccff7d8e4554ee15503bc52
EBUILD gcc-13.2.1_p20230729.ebuild 1680 BLAKE2B a5e65a610fec237c84f895495ffc3d92d014ea0fa766184fe43cb9f631dc02736621b504a933b5de9a5b77bfaa460b28213760115d65a95e4db822c96a3b021f SHA512 c3aaf245ef73377e56b48239b63264beaded09939cac00ce35bc71a7e14a6ce8c0f4c883c85f397ee7e7d2f46845f44542ffcfd4bb2ee3588597e92474199bc2
EBUILD gcc-13.3.9999.ebuild 1589 BLAKE2B bf6463d9ba5db2a0d494941a33cc7a2be6fd01fc75222c1de50997555b70ebaf2a374dd9f61ffc3eafc1befe23ebedb36123e4f2366cb623b69f1ed566a1a3b1 SHA512 2138f692eca45b998e5675fde63a5b36dbc1dbdec36d2aecf5695c12c51caeaa578a443bc9e795de9e711a55bef79dbf5ce9751a151002bf1625df90b1bb9ca4
EBUILD gcc-14.0.0.9999.ebuild 1568 BLAKE2B 02ff0ed9ee64898714a411d4d6dce9ab4ed30ec1f8dce58036da4cfdd033281868c82b1a9e6da669898e405194f84be3db34cbf7a8b0144d2049558f30370b90 SHA512 5aa6f2841a026a8b021f3fd0a6ff47f11f1a7039454cb95a8af148f247792c90d08d254b16c1369e0aabf83da53add611594632a951fa075c06daee837eb27c9
-EBUILD gcc-14.0.0_pre20230716.ebuild 1595 BLAKE2B 6986a9323f7bbc6c814b68b40333c6279ba7f1b1733695b12568e59390b991441b03523b015fdf67e8b0249fdf874e36a46993d2357d9b24b3a97b79ca4bf8fd SHA512 c2cc081c84cd0846da49b81e7835e8b35365d51c4a014edb765a410e4a7b528928f32fedbca2e40aa0d2da80ccebaadada67c1b746a70b6e7910d71503cc6097
EBUILD gcc-14.0.0_pre20230723.ebuild 1595 BLAKE2B 6986a9323f7bbc6c814b68b40333c6279ba7f1b1733695b12568e59390b991441b03523b015fdf67e8b0249fdf874e36a46993d2357d9b24b3a97b79ca4bf8fd SHA512 c2cc081c84cd0846da49b81e7835e8b35365d51c4a014edb765a410e4a7b528928f32fedbca2e40aa0d2da80ccebaadada67c1b746a70b6e7910d71503cc6097
EBUILD gcc-14.0.0_pre20230730.ebuild 1595 BLAKE2B 6986a9323f7bbc6c814b68b40333c6279ba7f1b1733695b12568e59390b991441b03523b015fdf67e8b0249fdf874e36a46993d2357d9b24b3a97b79ca4bf8fd SHA512 c2cc081c84cd0846da49b81e7835e8b35365d51c4a014edb765a410e4a7b528928f32fedbca2e40aa0d2da80ccebaadada67c1b746a70b6e7910d71503cc6097
EBUILD gcc-8.5.0-r1.ebuild 498 BLAKE2B e24f62fdb50bf2e9957cbb85c72adc96d369938a7f552735772de964f7023b8b34bd11e7e544d268cc308e25272084a728bd061f37c568d42ea65d55bb2a2e93 SHA512 f35b353e9f54eb3e1c6f8e0ea262458b41da9bddb993793aff79f765c4d93811744979d34e50c6470a9b2cfb63b7006bd284d819b7a98e56a8b3a34ae570ae76
diff --git a/sys-devel/gcc/gcc-10.5.0.ebuild b/sys-devel/gcc/gcc-10.5.0.ebuild
index 72bc0e8a42ec..475550cac5c5 100644
--- a/sys-devel/gcc/gcc-10.5.0.ebuild
+++ b/sys-devel/gcc/gcc-10.5.0.ebuild
@@ -37,7 +37,7 @@ if tc_is_live ; then
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"
+ KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
:;
fi
diff --git a/sys-devel/gcc/gcc-11.4.1_p20230713.ebuild b/sys-devel/gcc/gcc-11.4.1_p20230713.ebuild
deleted file mode 100644
index 02c58f02f0a6..000000000000
--- a/sys-devel/gcc/gcc-11.4.1_p20230713.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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="11.4.0"
-PATCH_VER="10"
-MUSL_VER="2"
-MUSL_GCC_VER="11.4.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_user
-}
diff --git a/sys-devel/gcc/gcc-11.4.1_p20230720.ebuild b/sys-devel/gcc/gcc-11.4.1_p20230720.ebuild
deleted file mode 100644
index 02c58f02f0a6..000000000000
--- a/sys-devel/gcc/gcc-11.4.1_p20230720.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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="11.4.0"
-PATCH_VER="10"
-MUSL_VER="2"
-MUSL_GCC_VER="11.4.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_user
-}
diff --git a/sys-devel/gcc/gcc-12.3.1_p20230714.ebuild b/sys-devel/gcc/gcc-12.3.1_p20230714.ebuild
deleted file mode 100644
index 1ffe2b97a4bf..000000000000
--- a/sys-devel/gcc/gcc-12.3.1_p20230714.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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="12.3.0"
-PATCH_VER="2"
-MUSL_VER="1"
-MUSL_GCC_VER="12.3.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_user
-}
diff --git a/sys-devel/gcc/gcc-12.3.1_p20230721.ebuild b/sys-devel/gcc/gcc-12.3.1_p20230721.ebuild
deleted file mode 100644
index 1ffe2b97a4bf..000000000000
--- a/sys-devel/gcc/gcc-12.3.1_p20230721.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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="12.3.0"
-PATCH_VER="2"
-MUSL_VER="1"
-MUSL_GCC_VER="12.3.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_user
-}
diff --git a/sys-devel/gcc/gcc-14.0.0_pre20230716.ebuild b/sys-devel/gcc/gcc-14.0.0_pre20230716.ebuild
deleted file mode 100644
index 59534d9e96dd..000000000000
--- a/sys-devel/gcc/gcc-14.0.0_pre20230716.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# 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="14.0.0"
-PATCH_VER="2"
-MUSL_VER="1"
-MUSL_GCC_VER="14.0.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=master
-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_user
-}
diff --git a/sys-devel/kgcc64/Manifest b/sys-devel/kgcc64/Manifest
index 88a5c9d8ee60..b7aee96c93ea 100644
--- a/sys-devel/kgcc64/Manifest
+++ b/sys-devel/kgcc64/Manifest
@@ -8,6 +8,7 @@ DIST gcc-10.4.0.tar.xz 75018092 BLAKE2B ec1169025d3896b70ab80a4b8ce5040763a95529
DIST gcc-10.5.0-musl-patches-2.tar.xz 3452 BLAKE2B 5387e516d07d81477b3f39b8b3bd986bf861d32cd25dc5481c97bd3620d00c918c5661e86857f66dbf28a655401a53e43417f638c443e44cbfdbf5e950caac4d SHA512 86f2ce31cc4fc4fb5a6043fb527bf822d895e1a6220652024f78a1cbd5a962edb6be8dc5f43c32053e075f39bb2350ea8f14e7d57e0473dd2933a7b44676bde5
DIST gcc-10.5.0-patches-6.tar.xz 18208 BLAKE2B 4cac3340108fb378c76ad62b728429f3c97f348d178744e7536575f3576ca8aa682b878b7df3b1c162dccae64a3cb56c66d8d60eae323e1ece2de4278084fdbd SHA512 9d6c84325fbc118cee01347468ce729c278e5b026b16da945fe54050726e26f86a46ee7b71a01a47cf927b70bfcce459c49a6bc4fb93dcfaa047c76d4c5bc5bc
DIST gcc-10.5.0.tar.xz 77846412 BLAKE2B 9b71761f4015649514677784443886e59733ac3845f7dfaa4343f46327d36c08c403c444b9e492b870ac0b3f2e3568f972b7700a0ef05a497fb4066079b3143b SHA512 d86dbc18b978771531f4039465e7eb7c19845bf607dc513c97abf8e45ffe1086a99d98f83dfb7b37204af22431574186de9d5ff80c8c3c3a98dbe3983195bffd
+DIST gcc-11-20230622.tar.xz 76199316 BLAKE2B a769dc6be63eabca3bc33944b471d727bf230e506773c85977156b187f12664f2cd3e0992a1faefda8ec88ff85d1a8d12795121baadc7e8b9653d69a8025e46e SHA512 8dbc5a4b54f2bc52458914705af40a00b33e46061dd5b335b4b4a6e96d17206fe480d3fec564dd11ebcca6168f054984d706b1b26b7e694e8b327692a13ae7d1
DIST gcc-11.3.0-patches-4.tar.bz2 14030 BLAKE2B cdd555f329c7c0b993cd3527489681bfcc2162db0997611b66337e6b287356761c7deccd3b9f9bb8980a32df0574017a52c5e445e24db746757d87ffccb1ea89 SHA512 cb227599d01734ae9f9fc7ae2c8dd4cae1da80d6ab398ec6f112535239ac76ce8e91fbac88e19c2f75cb08ab75f966c1d1ad4af80ede67e953fbbafc7baefa58
DIST gcc-11.3.0.tar.xz 81141364 BLAKE2B 7e562d25446ca4ab9fe8cdb714866f66aba3744d78bf84f31bfb097c1a981e4c7f990cb1e6bcfec5ae6671836a4984e2b70eb8fed81dcef5e244f88da8623469 SHA512 f0be5ad705c73b84477128a69c047f57dd47002f375eb60e1e842e08cf2009a509e92152bca345823926d550b7395ae6d4de7db51d1ee371c2dc37313881fca7
DIST gcc-11.4.0-musl-patches-2.tar.xz 4308 BLAKE2B a2335e155fc57816fed822a648e0eaefafcba9d04e1ad0fd7baeea5a694ab6f5e3c1678cb406f2a1bd17bab25cb01699d032713a1ccf337948dfda2093844607 SHA512 17b84f907cb1bd763873655e6f35fd3ed55a40b602b70a626f04f83b4cc89c6261db1661de78d4d969187a8c56e9f6305b742515a3836b962248a21df0df5d0c
@@ -28,6 +29,7 @@ EBUILD kgcc64-10.4.0.ebuild 1109 BLAKE2B 8f3b516cd6052939bd8080e9839e6c43d71939e
EBUILD kgcc64-10.5.0.ebuild 1063 BLAKE2B b2108c22320c87a41e876a7d6d32222ba21dd49048e8ded3ab30d3a021649b3a312f3c606dd8a52748d19a50934f6f38f392627dd37e2add66b995f2ab70d895 SHA512 4683acc23fb871c4a41304dfb4f048f783a9517cf375b6df92fde33c54fd5f4ea9b2974f637162ca64e722b08d6d2bacbe259462b5c965d0f13ad719c9d25138
EBUILD kgcc64-11.3.0.ebuild 1026 BLAKE2B 52a9c42af4830abfe7beafc96f6e5de95f67462a9d4c5b1a44fb1a02e50c77757233e0f2ea149c4f8cc1da1422fa91c52798c3a6b05b59eee68cadac8f82b106 SHA512 dcd015c6800bd5269e71843b1f37719fa3e556707fd787bed930658dfa030e78fa3e03cc7b518c0e61836a1133310c371d6a5db1269506c251e6c3677bc044af
EBUILD kgcc64-11.4.0.ebuild 1064 BLAKE2B 588b2d0e064359e0681c85666045e7022262ae75e6e5b6c2a068d04717fa29f3289f50b341b22c12e17a07f598affbc615ab3ec460e3dbc00f24ad6da552bde5 SHA512 4845774b2e396a1d2f902c9bdacc4ff63cf87619a8ac40829127c4b6bef31fdd12d765350f139ae27cdc08bb563f5240ad050b4c147cc4c26668691d710649bc
+EBUILD kgcc64-11.4.1_p20230622.ebuild 1064 BLAKE2B 588b2d0e064359e0681c85666045e7022262ae75e6e5b6c2a068d04717fa29f3289f50b341b22c12e17a07f598affbc615ab3ec460e3dbc00f24ad6da552bde5 SHA512 4845774b2e396a1d2f902c9bdacc4ff63cf87619a8ac40829127c4b6bef31fdd12d765350f139ae27cdc08bb563f5240ad050b4c147cc4c26668691d710649bc
EBUILD kgcc64-12.2.0.ebuild 1061 BLAKE2B a0b70363937eb07ffc2b56329e1efdcdc7bde7c020e2c27c6824204806702f2fe35c1c77763cb68e79db7cb80bb90599b9ee198a9c4f3e9326d80f853e9757ea SHA512 83b2d4154428b2b5914ed4152b0ab4cd7cd1d6dbaaaa53b153471d588662527c4aa426c0539ef98483806e0e0f62d1e08b789205c473924f07d1da849318094f
EBUILD kgcc64-12.3.1_p20230512-r1.ebuild 1151 BLAKE2B 754f7c110aa4bab91ef7ef4a5b8c503f538de7afa8a9113cbca3bed6a5750963e6ac53ab0d1638ab2ac1d613ace5a826c4b3e609f0ba0d353f67e2be713bd140 SHA512 05ec8aeef4a234d423ccb473c93fe601633032381ab828ea0be8814c8c83df596cfcd2c55683073dbb569454c323eecd79a5b0e2e1b22f3e16b73b0b45437561
EBUILD kgcc64-13.1.0.ebuild 1062 BLAKE2B a4905afd5ea6398fb2a6883ac4aca4f3309917d93438af51ad3428d36f34d9f2fe56e755544f0f652fde9911a1fbcf243df7f139c8c4a5cd2d06824bd15eca7c SHA512 01ed4b769d3ea36c17077104647e2184f34f1e9f6ba18e23bc964b9f65879fa01c071da996f05298487d8b02a4f2d75e54faff6d87534d4f7f64832094549c5f
diff --git a/sys-devel/kgcc64/kgcc64-11.4.1_p20230622.ebuild b/sys-devel/kgcc64/kgcc64-11.4.1_p20230622.ebuild
new file mode 100644
index 000000000000..1b674fb17f78
--- /dev/null
+++ b/sys-devel/kgcc64/kgcc64-11.4.1_p20230622.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+case ${CHOST} in
+ hppa*) CTARGET=hppa64-${CHOST#*-};;
+ mips*) CTARGET=${CHOST/mips/mips64};;
+ powerpc*) CTARGET=${CHOST/powerpc/powerpc64};;
+ s390*) CTARGET=${CHOST/s390/s390x};;
+ sparc*) CTARGET=${CHOST/sparc/sparc64};;
+ i?86*) CTARGET=x86_64-${CHOST#*-};;
+esac
+export CTARGET
+
+GCC_TARGET_NO_MULTILIB=true
+TOOLCHAIN_ALLOWED_LANGS="c"
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="11.4.0"
+PATCH_VER="10"
+MUSL_VER="2"
+MUSL_GCC_VER="11.4.0"
+inherit toolchain
+
+DESCRIPTION="64bit kernel compiler"
+
+# Works on hppa and mips; all other archs, refer to bug #228115
+KEYWORDS="~hppa"
+
+# unlike every other target, hppa has not unified the 32/64 bit
+# ports in binutils yet
+BDEPEND="hppa? ( sys-devel/binutils-hppa64 )"
+
+pkg_postinst() {
+ toolchain_pkg_postinst
+
+ cd "${ROOT}"/usr/bin
+ local x
+ for x in gcc cpp ; do
+ cat <<-EOF >${CTARGET%%-*}-linux-${x}
+ #!/bin/sh
+ exec ${CTARGET}-${x} "\$@"
+ EOF
+ chmod a+rx ${CTARGET%%-*}-linux-${x}
+ done
+}
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index c4d97f33234f..f99393d00cc9 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -7,10 +7,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.0rc1.src.tar.xz 127805900 BLAKE2B ab6e3b7e7af10bbb086bdd271691c259925b8047d8425b0eafb55d2c1daf637c3a56903b88e50283667955e780a47f61e7215a1e3a1acd3634c62960cf17317f SHA512 fa7ebe7fad14087861dc0eea08f68e8aa01dcc6560d70163ec38819a7fd799484f6ab1e35a69393a14962b45fa0a469c9d6c5fd2882b3609305bd01bc9f6701f
DIST llvm-project-17.0.0rc1.src.tar.xz.sig 438 BLAKE2B 976098c616d7f01c08c5be1d76dd395950184d2c6750f3f2c14235cdf446f1d876d842b3591f827cf1157fa25c707862a374e34d61fb73afe5a7b08d6041ee4a SHA512 272e92dec1fd43819f6fafdaa7f55a975e60a1c3000a69875209b89b7f3e2d2851e32ec0f2725242479203068349aaeff8da261d998a2325a9c52733bc5d7697
+DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
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.6.ebuild 2257 BLAKE2B 2e373b90d8ae4ed4131b05eaea51c909705e1132acdab1e21ad2152e66fb18b3caaaa83e9bb64b47f34fdd1ddacc7df622c6e5397c38765d9a2535db59071eba SHA512 a3d75597522d6790257b04fedf41512ab5193f78303efce2d74f03d91910ecb56d60142baa42f27e42759f7e5756c2bfaf394b79c563eb2757b6b23705b9d791
EBUILD lld-17.0.0.9999.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
EBUILD lld-17.0.0_rc1.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
EBUILD lld-18.0.0.9999.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
+EBUILD lld-18.0.0_pre20230803.ebuild 2158 BLAKE2B 8688bb182c4483ef12b6301f9b77aecfa481cac7fa9b0fbf4e1851d0362fc01c661897e46955c956366c9e4f689444f20fb9fbeea275fc455d0c27023ff22fd0 SHA512 9d3383bb3df2f87dbc8a269c0618dfe5248c42ce0394b7499cf0fa8422fda471014a101b1d8dc910922374b68662b3c7ca1b0e9da64454523bf50bd88d299f98
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-18.0.0_pre20230803.ebuild b/sys-devel/lld/lld-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..085543e50762
--- /dev/null
+++ b/sys-devel/lld/lld-18.0.0_pre20230803.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 8ce28948fc91..0fd1a797b1c7 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -6,10 +6,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.0rc1.src.tar.xz 127805900 BLAKE2B ab6e3b7e7af10bbb086bdd271691c259925b8047d8425b0eafb55d2c1daf637c3a56903b88e50283667955e780a47f61e7215a1e3a1acd3634c62960cf17317f SHA512 fa7ebe7fad14087861dc0eea08f68e8aa01dcc6560d70163ec38819a7fd799484f6ab1e35a69393a14962b45fa0a469c9d6c5fd2882b3609305bd01bc9f6701f
DIST llvm-project-17.0.0rc1.src.tar.xz.sig 438 BLAKE2B 976098c616d7f01c08c5be1d76dd395950184d2c6750f3f2c14235cdf446f1d876d842b3591f827cf1157fa25c707862a374e34d61fb73afe5a7b08d6041ee4a SHA512 272e92dec1fd43819f6fafdaa7f55a975e60a1c3000a69875209b89b7f3e2d2851e32ec0f2725242479203068349aaeff8da261d998a2325a9c52733bc5d7697
+DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
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.6.ebuild 608 BLAKE2B 0fbd471136d4fac398c87b43a4dbbc939c93a54336670e4a58022a32f64c92a78c273746edb9815f733d1fb58823864be7e621a6f1adf441a6fba3c06a0e652b SHA512 fe4b57e1e9335ae3957aed622cc1114677c4b7d33637db85fadc1fa3a09cb02767dddce5b2f84f45034cdd119068d69d35530db996ec1ac08966d86d494cd2e2
EBUILD llvm-common-17.0.0.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
EBUILD llvm-common-17.0.0_rc1.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
EBUILD llvm-common-18.0.0.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
+EBUILD llvm-common-18.0.0_pre20230803.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-18.0.0_pre20230803.ebuild b/sys-devel/llvm-common/llvm-common-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..ce5f03ca34a5
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-18.0.0_pre20230803.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/Manifest b/sys-devel/llvm/Manifest
index 043f58b29635..e837f451b83c 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -12,10 +12,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.0rc1.src.tar.xz 127805900 BLAKE2B ab6e3b7e7af10bbb086bdd271691c259925b8047d8425b0eafb55d2c1daf637c3a56903b88e50283667955e780a47f61e7215a1e3a1acd3634c62960cf17317f SHA512 fa7ebe7fad14087861dc0eea08f68e8aa01dcc6560d70163ec38819a7fd799484f6ab1e35a69393a14962b45fa0a469c9d6c5fd2882b3609305bd01bc9f6701f
DIST llvm-project-17.0.0rc1.src.tar.xz.sig 438 BLAKE2B 976098c616d7f01c08c5be1d76dd395950184d2c6750f3f2c14235cdf446f1d876d842b3591f827cf1157fa25c707862a374e34d61fb73afe5a7b08d6041ee4a SHA512 272e92dec1fd43819f6fafdaa7f55a975e60a1c3000a69875209b89b7f3e2d2851e32ec0f2725242479203068349aaeff8da261d998a2325a9c52733bc5d7697
+DIST llvm-project-c4bb3e073548cf436d5fa0406e3ae75e94684dec.tar.gz 195462091 BLAKE2B 982f1105db6cf63575916a20432df4c8623bdff236ce3bd95e63ffd931bc8e1f0e9ea9ad673b09d749c35c1bfe68a48f5b4080118f25040498db09a580db3a7e SHA512 1c591175f44da85eb5ee831220c0387a3d9a0604beaf7abd89fbc6d1e0e9c4f80dac73de1dc22375a45115dd4c1d764fed0a0f628993ca780eb6991682aa0b5b
EBUILD llvm-14.0.6-r4.ebuild 12313 BLAKE2B 2369fc43e915e41fbb62495870e8cbd2d9edd94867eee5d121dd5b9b20fca6a2f5a1b2b0372042a9244be1127ae3ac53ef03f1a8298621d30746e1f932d7045c SHA512 57d12cd942e26e45b70f85e94a912d39759aa65a5232ca17db30e2316e47e2f5d9cfccd37a8e095497b76b815e4899f76778537a3c1586a2d459a36019765906
EBUILD llvm-15.0.7-r3.ebuild 12486 BLAKE2B 1c62b4a9f7493b3cf9bd2ca388d9c09da2077a5be4b19dba2628352e0524e37df1e3481cc3e0658d3ce8eeb81fe7b4e379be7d5ba9e20a60376616e5a38f6264 SHA512 d6eea0d3330e29a4a27bb758cb5abec08b35f5b0d6a9bacfeddcaf031b0c125ba9454d4eb77a65fe6dd5b379654dd895d603e0a01008b57476502be82ffb392c
EBUILD llvm-16.0.6.ebuild 12510 BLAKE2B 5b5c8f9fd24e31c4e84ae4b805823cc88d3d8d7998d7de2b4920a3db619b400882e25313cd87a2e6c34f31bf6e210ea20c65a915adfdda94c368515ca36a2259 SHA512 4ada6a4b029c43c988efaeccd88a3772c52f2a476973777b97a4238591199a4bf0696e6a7b7d484e3af1c6eb772c2594bb3637962b1baa23d1b91522f4627c5e
EBUILD llvm-17.0.0.9999.ebuild 12688 BLAKE2B f0bd9fbe40fd4a4f4f4195b8466cf7a140033038b0777ac0bf296d80d0f3199b0aa82eba7f1807bc9a9bc16480751fbc801445afb4968043a3681e3bf6420ea9 SHA512 baa56c55ac24f1d9cfc62c9fa93878b9c24b9877f4958178c548187f21496221a8193d61e079ccc04b16abb82030f7ffdca27a7d567f02e72286ccec208b8010
EBUILD llvm-17.0.0_rc1.ebuild 12688 BLAKE2B f0bd9fbe40fd4a4f4f4195b8466cf7a140033038b0777ac0bf296d80d0f3199b0aa82eba7f1807bc9a9bc16480751fbc801445afb4968043a3681e3bf6420ea9 SHA512 baa56c55ac24f1d9cfc62c9fa93878b9c24b9877f4958178c548187f21496221a8193d61e079ccc04b16abb82030f7ffdca27a7d567f02e72286ccec208b8010
EBUILD llvm-18.0.0.9999.ebuild 12662 BLAKE2B 197f93ba73d9a6083c9bd9014199183dace77ef12727484de5c685df5530e4c24ad894fe3e79f4061684a5b0adbcdb49019b367161666c2567064ac1d8a09481 SHA512 d7a356937690a0cfd1c8a8a59f1c513b591febf7afd77a798211ae7f83d3afbaa31f6939e152529ce3f0848fbd141e08ea741b77016ae5d405f7ce7b00520937
+EBUILD llvm-18.0.0_pre20230803.ebuild 12662 BLAKE2B 197f93ba73d9a6083c9bd9014199183dace77ef12727484de5c685df5530e4c24ad894fe3e79f4061684a5b0adbcdb49019b367161666c2567064ac1d8a09481 SHA512 d7a356937690a0cfd1c8a8a59f1c513b591febf7afd77a798211ae7f83d3afbaa31f6939e152529ce3f0848fbd141e08ea741b77016ae5d405f7ce7b00520937
MISC metadata.xml 2782 BLAKE2B 4bd546287f630462c3f5d98cbd15a59a4cdef4023f86a5f4fe64fc5f10256cae7014d18823bd0909f4af4e42f299b6e7983c9c3c569cfab1ad38b0160f1eae40 SHA512 6bf1dc4f71f50e1eecc55cbb8366d8ed82a3dd328871acf1d808fc5e3ee4d203d623f81d9968bda45a87c72a2f20ed69b735b0a289b0052b048175cf6502e124
diff --git a/sys-devel/llvm/llvm-18.0.0_pre20230803.ebuild b/sys-devel/llvm/llvm-18.0.0_pre20230803.ebuild
new file mode 100644
index 000000000000..8f7c0ff09445
--- /dev/null
+++ b/sys-devel/llvm/llvm-18.0.0_pre20230803.ebuild
@@ -0,0 +1,532 @@
+# 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-readtapi
+ llvm-reduce
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ 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_MAIN_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)"
+}