summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin7868 -> 7864 bytes
-rw-r--r--sys-devel/clang-common/Manifest7
-rw-r--r--sys-devel/clang-common/clang-common-19.1.0-r2.ebuild304
-rw-r--r--sys-devel/clang-common/clang-common-20.0.0_pre20241004.ebuild (renamed from sys-devel/clang-common/clang-common-20.0.0_pre20240917.ebuild)0
-rw-r--r--sys-devel/clang-runtime/Manifest3
-rw-r--r--sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild40
-rw-r--r--sys-devel/clang-runtime/clang-runtime-20.0.0_pre20241004.ebuild (renamed from sys-devel/clang-runtime/clang-runtime-20.0.0_pre20240917.ebuild)0
-rw-r--r--sys-devel/clang/Manifest7
-rw-r--r--sys-devel/clang/clang-19.1.0.ebuild465
-rw-r--r--sys-devel/clang/clang-20.0.0_pre20241004.ebuild (renamed from sys-devel/clang/clang-20.0.0_pre20240917.ebuild)2
-rw-r--r--sys-devel/gcc/Manifest7
-rw-r--r--sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch120
-rw-r--r--sys-devel/gcc/gcc-12.4.1_p20241003.ebuild65
-rw-r--r--sys-devel/gcc/gcc-13.3.1_p20241004.ebuild66
-rw-r--r--sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild53
-rw-r--r--sys-devel/kgcc64/Manifest1
-rw-r--r--sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch67
-rw-r--r--sys-devel/lld/Manifest7
-rw-r--r--sys-devel/lld/lld-19.1.0.ebuild94
-rw-r--r--sys-devel/lld/lld-20.0.0_pre20241004.ebuild (renamed from sys-devel/lld/lld-20.0.0_pre20240917.ebuild)0
-rw-r--r--sys-devel/llvm-common/Manifest7
-rw-r--r--sys-devel/llvm-common/llvm-common-19.1.0.ebuild54
-rw-r--r--sys-devel/llvm-common/llvm-common-20.0.0_pre20241004.ebuild (renamed from sys-devel/llvm-common/llvm-common-20.0.0_pre20240917.ebuild)0
-rw-r--r--sys-devel/llvm-toolchain-symlinks/Manifest6
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17-r1.ebuild2
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17.ebuild47
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18-r1.ebuild2
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18.ebuild47
-rw-r--r--sys-devel/llvm/Manifest11
-rw-r--r--sys-devel/llvm/llvm-15.0.7-r6.ebuild520
-rw-r--r--sys-devel/llvm/llvm-17.0.6-r2.ebuild542
-rw-r--r--sys-devel/llvm/llvm-19.1.0.ebuild548
-rw-r--r--sys-devel/llvm/llvm-20.0.0_pre20241004.ebuild (renamed from sys-devel/llvm/llvm-20.0.0_pre20240917.ebuild)0
-rw-r--r--sys-devel/mold/Manifest4
-rw-r--r--sys-devel/mold/mold-2.34.0.ebuild103
-rw-r--r--sys-devel/mold/mold-9999.ebuild3
36 files changed, 313 insertions, 2891 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 132ef0e3c907..e18a62e6b011 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 f89f883f51d0..79be7e2a5291 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -6,20 +6,17 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
-DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-19.1.1.src.tar.xz 141244648 BLAKE2B 7c9250f99c8e5ae2097e89269ebf5bfdfb0fba8f67ab934377d24030c985013fe5475d0c9bd6d60a679e169772ad1723bc6e44ff9e4c7aed5627b9f1f1a2477a SHA512 84adab40ffb9ec236dbf203d86c08a0c2c651f98278a9d0936490c7901159eb26eabd3db9316013886b549426d4acb43b75d866f7dc670ab299bf93ba35b1891
DIST llvm-project-19.1.1.src.tar.xz.sig 438 BLAKE2B 6967194abf6939291abc716f862a46ea7c5e195b98eebc26928a57dbd5034f82a8ecb5b7cc1b7c2428168309308b19df1c7db828703e80d3f7bf578e3542874d SHA512 07bb7bffb2b035417d702ca47be9d5759250f1a2cd57606855027d458ceb972a293b45d3d93bcda195588986acbb5eace60524f4aecdc0da7aeb3a8414c37c31
-DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
+DIST llvm-project-b837c9e289dab93c7f8a06876e3f70b6864f40ab.tar.gz 219631219 BLAKE2B d8a5d7de537ad91e94fc85dc0f624eba92f31cab2a345706250a66ad424fff151d5b86c430d993a35fd938095774411080cee4cab47a8258af348743dc145b56 SHA512 fe23f72b73553e3755af335a2a2a2225eafdcf2ed93191c9f4ac7bcf7b5b5391f73c2dccbb082279e0c7389a8f12b889a8d061389785cf9219ca861a8d4b41cc
DIST llvm-project-cde7b30268a85a3e7900a31534a97e7eb4de9236.tar.gz 219048549 BLAKE2B 53bdfea814b2cdf60bfdd27f6135b9f9d5156bdc78d22a361214399c5101b6fafaaefb9109377c1d977c67ebcb1feed69d6aaee0f2e38881480d68ac8be9b3d9 SHA512 0def6da5c2443753f37ba40a893b41dd5c7676b7be57102a5a6e820fe4fe235cad1da9a1c0eff1abc4c4ed5cc188522cae23afeddeee1876ea8ffde5c4f33b9f
EBUILD clang-common-15.0.7-r10.ebuild 5469 BLAKE2B 3d05e1a5136c75731b5b5ed4f1ad21272f1e224d8b27439e19e6268edb716bf01e789803880bbd9f4e9cf65e036e5dec42ee34914b3cc6e6d4b4b9e64aa70db0 SHA512 03a2e624e1ffe63a2e0d133a9cb2f64c56596a244706b538943e9c008054e967af6e595f8aa4ec53ab5555240bd1871bd5a50561af16adaeb501de83e8791202
EBUILD clang-common-16.0.6-r6.ebuild 5721 BLAKE2B cb0a6256eeeda5c8978f9fce4205429c8252612a64a3b5eb3464f321d70704291cccfff1d1126c56acf4b134be57655380741212a7a4cf968728c913f8653c3f SHA512 274ba0e7bca181d1e593fedbac5129e87e2e04a3e47679a9d37dfc0047de78ef0f0dbd5d116dae56abad95ff4b09cdefacc36e853c6f76ad397cd6155c491ab6
EBUILD clang-common-17.0.6-r10.ebuild 9030 BLAKE2B b4edcc8b33f36d568db46b3e2b72c804b499aed28d66a918e5be6e9523abb2e67dbccf80c5894f7967be01d26c85f177361b0be595100787ffec54ce10fe04cf SHA512 b0d2ed97e0e2f5fec45f2edbc27002173475eb3bee3e2051fa189e4b8a9ce142a16b1b67fbd6b71574aee611cea91e00fd52ade751ed84ffeb641129edca89ab
EBUILD clang-common-17.0.6-r9.ebuild 9005 BLAKE2B 9417c98621ffed85971661a6531bb70fdeadc9b0b4dbc6cfd389c550c016376ca0171f5245afe2a6fb03afb9527438f6873a4161f891e63f867aeb18d9fc103b SHA512 61b4950846f3051ce6f891c0dd9534ed8ababf19f320f0b0f7a2693a8e0ea5902098d60b109981a597d48e14094b87eebc72d0060d2c8dcf3a8afcc9687d6c80
EBUILD clang-common-18.1.8-r3.ebuild 9152 BLAKE2B 6529cf887633dd83826162f7f5e9b38a23a4c9c50b9c55dc265189fd288952d4c316fa1654b7b7f284d74c226dce4fa58e2234fc4c1499ffe2578f4f53dcc1b3 SHA512 91704efb26dfbe464afb5cff8f2a1dddd9127810e28ab2271dc5aba90256cc812a6bab00d12aa0001987e38cab230feacfb7524670f856bae8246b70a6a9b429
-EBUILD clang-common-19.1.0-r2.ebuild 9159 BLAKE2B 4dde9c158d1a93163dd7cd298d583daaf29aff94d197566578a136d463acf973116a73dc091d995abf290cefe96699b73f1743a4bfce88fee3d798774413c890 SHA512 0e5ff0e829b2e7b41ef79bdf1c8762944ead076caaead54015cdc7f38f9a6c3509ea1976187ca73d3a2b6762be5bf5a96203ca14d835a22e7228c1f8b15bb561
EBUILD clang-common-19.1.1.ebuild 9159 BLAKE2B 4dde9c158d1a93163dd7cd298d583daaf29aff94d197566578a136d463acf973116a73dc091d995abf290cefe96699b73f1743a4bfce88fee3d798774413c890 SHA512 0e5ff0e829b2e7b41ef79bdf1c8762944ead076caaead54015cdc7f38f9a6c3509ea1976187ca73d3a2b6762be5bf5a96203ca14d835a22e7228c1f8b15bb561
EBUILD clang-common-20.0.0.9999.ebuild 9090 BLAKE2B 6bcb9a39cd7874428927260be3bb38cea472854c8899227d142a2d23a077476671b400b39c746735093d1a9009e4fb748eec64574573481858f7cd8a3ad3c24f SHA512 036e1f7484aa5490d61615e3e97613dd5f27b44b9aa5e108d35d159b48325c5e38a2bd73f92fb8459bcbf4f691223403fb34e73526c129264c2137a842fe06e1
-EBUILD clang-common-20.0.0_pre20240917.ebuild 9090 BLAKE2B 6bcb9a39cd7874428927260be3bb38cea472854c8899227d142a2d23a077476671b400b39c746735093d1a9009e4fb748eec64574573481858f7cd8a3ad3c24f SHA512 036e1f7484aa5490d61615e3e97613dd5f27b44b9aa5e108d35d159b48325c5e38a2bd73f92fb8459bcbf4f691223403fb34e73526c129264c2137a842fe06e1
EBUILD clang-common-20.0.0_pre20240924.ebuild 9090 BLAKE2B 6bcb9a39cd7874428927260be3bb38cea472854c8899227d142a2d23a077476671b400b39c746735093d1a9009e4fb748eec64574573481858f7cd8a3ad3c24f SHA512 036e1f7484aa5490d61615e3e97613dd5f27b44b9aa5e108d35d159b48325c5e38a2bd73f92fb8459bcbf4f691223403fb34e73526c129264c2137a842fe06e1
+EBUILD clang-common-20.0.0_pre20241004.ebuild 9090 BLAKE2B 6bcb9a39cd7874428927260be3bb38cea472854c8899227d142a2d23a077476671b400b39c746735093d1a9009e4fb748eec64574573481858f7cd8a3ad3c24f SHA512 036e1f7484aa5490d61615e3e97613dd5f27b44b9aa5e108d35d159b48325c5e38a2bd73f92fb8459bcbf4f691223403fb34e73526c129264c2137a842fe06e1
MISC metadata.xml 1248 BLAKE2B d9c542ec74a08857a87a42927feef909c343b5b672145e471ebc69753a3f93432d2ae93ed2659a67d504e2c5ff4212640e4208b173d96e5a173a1043766b66f8 SHA512 eb6d4be1dfbdf6b70b774d42493f6b3015472d5e4bba9386254f6e4ae92307169fe1ac6f0f613d452a9c21c6d61ed57ab50efb54813146983f4d6809b32ddacb
diff --git a/sys-devel/clang-common/clang-common-19.1.0-r2.ebuild b/sys-devel/clang-common/clang-common-19.1.0-r2.ebuild
deleted file mode 100644
index 96be6fb619b1..000000000000
--- a/sys-devel/clang-common/clang-common-19.1.0-r2.ebuild
+++ /dev/null
@@ -1,304 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org multilib
-
-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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="
- default-compiler-rt default-libcxx default-lld
- bootstrap-prefix cet hardened llvm-libunwind
-"
-
-PDEPEND="
- default-compiler-rt? (
- sys-devel/clang-runtime:${LLVM_MAJOR}[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-${PV} )
- !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
-}
-
-_doclang_cfg() {
- local triple="${1}"
-
- local tool
- for tool in ${triple}-clang{,++}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- @gentoo-common-ld.cfg
- EOF
- if [[ ${triple} == x86_64* ]]; then
- cat >> "${ED}/etc/clang/${tool}.cfg" <<-EOF || die
- @gentoo-cet.cfg
- EOF
- fi
- done
-
- if use kernel_Darwin; then
- cat >> "${ED}/etc/clang/${triple}-clang++.cfg" <<-EOF || die
- -lc++abi
- EOF
- fi
-
- newins - "${triple}-clang-cpp.cfg" <<-EOF
- # This configuration file is used by the ${triple}-clang-cpp driver.
- @gentoo-common.cfg
- EOF
- if [[ ${triple} == x86_64* ]]; then
- cat >> "${ED}/etc/clang/${triple}-clang-cpp.cfg" <<-EOF || die
- @gentoo-cet.cfg
- EOF
- fi
-
- # Install symlinks for triples with other vendor strings since some
- # programs insist on mangling the triple.
- local vendor
- for vendor in gentoo pc unknown; do
- local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
- for tool in clang{,++,-cpp}; do
- if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
- dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
- fi
- done
- done
-}
-
-doclang_cfg() {
- local triple="${1}"
-
- _doclang_cfg ${triple}
-
- # LLVM may have different arch names in some cases. For example in x86
- # profiles the triple uses i686, but llvm will prefer i386 if invoked
- # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
- # be used if invoked through ${CHOST}-clang{,++,-cpp} though.
- #
- # To make sure the correct triples are installed,
- # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
- # and compare with CHOST values in profiles.
-
- local abi=${triple%%-*}
- case ${abi} in
- armv4l|armv4t|armv5tel|armv6j|armv7a)
- _doclang_cfg ${triple/${abi}/arm}
- ;;
- i686)
- _doclang_cfg ${triple/${abi}/i386}
- ;;
- sparc)
- _doclang_cfg ${triple/${abi}/sparcel}
- ;;
- sparc64)
- _doclang_cfg ${triple/${abi}/sparcv9}
- ;;
- esac
-}
-
-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
-
- # clang-cpp does not like link args being passed to it when directly
- # invoked, so use a separate configuration file.
- newins - gentoo-common-ld.cfg <<-EOF
- # This file contains flags common to clang and clang++
- @gentoo-hardened-ld.cfg
- 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.
- -Xarch_host -fstack-clash-protection
- -Xarch_host -fstack-protector-strong
- -fPIE
- -include "${EPREFIX}/usr/include/gentoo/fortify.h"
- EOF
-
- newins - gentoo-cet.cfg <<-EOF
- -Xarch_host -fcf-protection=$(usex cet full none)
- EOF
-
- if use kernel_Darwin; then
- newins - gentoo-hardened-ld.cfg <<-EOF
- # There was -Wl,-z,relro here, but it's not supported on Mac
- # TODO: investigate whether -bind_at_load or -read_only_stubs will do the job
- EOF
- else
- newins - gentoo-hardened-ld.cfg <<-EOF
- # Some of these options are added unconditionally, regardless of
- # USE=hardened, for parity with sys-devel/gcc.
- -Wl,-z,relro
- -Wl,-z,now
- EOF
- fi
-
- 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(__STDC_HOSTED__) && __STDC_HOSTED__ == 1
- # define __GENTOO_NOT_FREESTANDING 1
- # else
- # define __GENTOO_NOT_FREESTANDING 0
- # endif
- #
- # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 && __GENTOO_NOT_FREESTANDING > 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
- # undef __GENTOO_NOT_FREESTANDING
- #endif
- EOF
-
- # TODO: Maybe -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST for
- # non-hardened?
- if use hardened ; then
- cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -Xarch_host -D_GLIBCXX_ASSERTIONS
-
- # Analogue to GLIBCXX_ASSERTIONS
- # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
- # https://libcxx.llvm.org/Hardening.html#using-hardened-mode
- -Xarch_host -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- EOF
- fi
-
- # We only install config files for supported ABIs because unprefixed tools
- # might be used for crosscompilation where e.g. PIE may not be supported.
- # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug #912685.
- local abi
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- doclang_cfg "${abi_chost}"
- done
-
- if use kernel_Darwin; then
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- # Gentoo Prefix on Darwin
- -Wl,-search_paths_first
- -Wl,-rpath,${EPREFIX}/usr/lib
- -L ${EPREFIX}/usr/lib
- -isystem ${EPREFIX}/usr/include
- -isysroot ${EPREFIX}/MacOSX.sdk
- EOF
- if use bootstrap-prefix ; then
- # bootstrap-prefix is only set during stage2 of bootstrapping
- # Prefix, where EPREFIX is set to EPREFIX/tmp.
- # Here we need to point it at the future lib dir of the stage3's
- # EPREFIX.
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- -Wl,-rpath,${EPREFIX}/../usr/lib
- EOF
- fi
- fi
-}
-
-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-common/clang-common-20.0.0_pre20240917.ebuild b/sys-devel/clang-common/clang-common-20.0.0_pre20241004.ebuild
index 6eb8b79a8c99..6eb8b79a8c99 100644
--- a/sys-devel/clang-common/clang-common-20.0.0_pre20240917.ebuild
+++ b/sys-devel/clang-common/clang-common-20.0.0_pre20241004.ebuild
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index 8a37f4c4b79d..af4e6c86802f 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -2,9 +2,8 @@ EBUILD clang-runtime-15.0.7.ebuild 759 BLAKE2B d7b481faffc4da0a6dc1b4e708322cd17
EBUILD clang-runtime-16.0.6.ebuild 1448 BLAKE2B be376aab09a0268444784d1a0bcb590222c9c8a118e260b15939e574687334eb476d6f66ab0f1f4fb0841a226c7b7f690666c33bec2d9c14f27a4f30f986b859 SHA512 b0b7a2f5c69890cb2fc0a9c2c8a1910669a4eae16826c0702a2ef508f91b6ec3b5607beab5b24f02951cf9b377f1d09395bd97c27f476137ef6cdf2571330578
EBUILD clang-runtime-17.0.6.ebuild 1448 BLAKE2B be376aab09a0268444784d1a0bcb590222c9c8a118e260b15939e574687334eb476d6f66ab0f1f4fb0841a226c7b7f690666c33bec2d9c14f27a4f30f986b859 SHA512 b0b7a2f5c69890cb2fc0a9c2c8a1910669a4eae16826c0702a2ef508f91b6ec3b5607beab5b24f02951cf9b377f1d09395bd97c27f476137ef6cdf2571330578
EBUILD clang-runtime-18.1.8.ebuild 1454 BLAKE2B 73a5e4fd6e04978294419baf373c8e283107a1e6a4cfaf4995373cd73cfb97585eb651bd0f50d1c98cca2b77680e5249eb84ab9310c520b07a160ac5e43cc6d7 SHA512 00b3d8d185d739100002aef7f1c5e35fd70f3412573eafc6c9344b0ee272cd9c64cb721ec858907227841896b2a6ed0a7f21c31adca01205287f3427adb8c446
-EBUILD clang-runtime-19.1.0.ebuild 1461 BLAKE2B 5f477947ea7a07f9f341baa7c0e0df31248fc6b5f949c84abfde5e69d9eb5ba8c2d9e8ee1de316279742c22817b743bdf9225c3ce3b0f4ac239080a1dd3b442a SHA512 7828ba3c785c06ccf3614bf51140899b990db826993457da7720d6884cf459f39545002ff7c5c8afb9f6fd6bbbe089890a10f483e679d831a0afef0559fd9fc3
EBUILD clang-runtime-19.1.1.ebuild 1461 BLAKE2B 5f477947ea7a07f9f341baa7c0e0df31248fc6b5f949c84abfde5e69d9eb5ba8c2d9e8ee1de316279742c22817b743bdf9225c3ce3b0f4ac239080a1dd3b442a SHA512 7828ba3c785c06ccf3614bf51140899b990db826993457da7720d6884cf459f39545002ff7c5c8afb9f6fd6bbbe089890a10f483e679d831a0afef0559fd9fc3
EBUILD clang-runtime-20.0.0.9999.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
-EBUILD clang-runtime-20.0.0_pre20240917.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
EBUILD clang-runtime-20.0.0_pre20240924.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
+EBUILD clang-runtime-20.0.0_pre20241004.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild b/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild
deleted file mode 100644
index 8ded193c919c..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-19.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2024 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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="+compiler-rt libcxx openmp +sanitize"
-REQUIRED_USE="sanitize? ( compiler-rt )"
-
-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-runtime/clang-runtime-20.0.0_pre20240917.ebuild b/sys-devel/clang-runtime/clang-runtime-20.0.0_pre20241004.ebuild
index 323c0b62c062..323c0b62c062 100644
--- a/sys-devel/clang-runtime/clang-runtime-20.0.0_pre20240917.ebuild
+++ b/sys-devel/clang-runtime/clang-runtime-20.0.0_pre20241004.ebuild
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index b31bc3ac7a32..9600eb6edfdb 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -14,19 +14,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
-DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-19.1.1.src.tar.xz 141244648 BLAKE2B 7c9250f99c8e5ae2097e89269ebf5bfdfb0fba8f67ab934377d24030c985013fe5475d0c9bd6d60a679e169772ad1723bc6e44ff9e4c7aed5627b9f1f1a2477a SHA512 84adab40ffb9ec236dbf203d86c08a0c2c651f98278a9d0936490c7901159eb26eabd3db9316013886b549426d4acb43b75d866f7dc670ab299bf93ba35b1891
DIST llvm-project-19.1.1.src.tar.xz.sig 438 BLAKE2B 6967194abf6939291abc716f862a46ea7c5e195b98eebc26928a57dbd5034f82a8ecb5b7cc1b7c2428168309308b19df1c7db828703e80d3f7bf578e3542874d SHA512 07bb7bffb2b035417d702ca47be9d5759250f1a2cd57606855027d458ceb972a293b45d3d93bcda195588986acbb5eace60524f4aecdc0da7aeb3a8414c37c31
-DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
+DIST llvm-project-b837c9e289dab93c7f8a06876e3f70b6864f40ab.tar.gz 219631219 BLAKE2B d8a5d7de537ad91e94fc85dc0f624eba92f31cab2a345706250a66ad424fff151d5b86c430d993a35fd938095774411080cee4cab47a8258af348743dc145b56 SHA512 fe23f72b73553e3755af335a2a2a2225eafdcf2ed93191c9f4ac7bcf7b5b5391f73c2dccbb082279e0c7389a8f12b889a8d061389785cf9219ca861a8d4b41cc
DIST llvm-project-cde7b30268a85a3e7900a31534a97e7eb4de9236.tar.gz 219048549 BLAKE2B 53bdfea814b2cdf60bfdd27f6135b9f9d5156bdc78d22a361214399c5101b6fafaaefb9109377c1d977c67ebcb1feed69d6aaee0f2e38881480d68ac8be9b3d9 SHA512 0def6da5c2443753f37ba40a893b41dd5c7676b7be57102a5a6e820fe4fe235cad1da9a1c0eff1abc4c4ed5cc188522cae23afeddeee1876ea8ffde5c4f33b9f
EBUILD clang-15.0.7-r3.ebuild 12523 BLAKE2B 0e3f9d4506a1b98e96ff98ea52f8bb10f8ab4c91db2868f786bb1761a027e73708a10dce904192a9024ef5819ebf66af07ae6dcdc7186d4b2e04e8cc5978fc7a SHA512 7eeb3ab398c79d0931dedffd5c44d4f69b98b8b9717749a5d7373f6fef49fd337579ea2ab1d05e934b8e526d3f5a43a8911abeb32d956bed9c532b32cff0dbe3
EBUILD clang-16.0.6.ebuild 12452 BLAKE2B 446a354b58fc0535b81596a9a3785a4cd5d7b7ad52a461baa3b6b7beacdc12161f62da588cd837b8b9c8f35307b1a2c885b9d01bf8edc4af1b551efaab09ebe8 SHA512 58b5694a7d28a03edd4a71e3a99b0b2678285e616cdaab82bb196f092a8726e9cd3787ab07d724680113b4f6683e89103cab2478e49a85e7b5c75a633fb1ca51
EBUILD clang-17.0.6.ebuild 12151 BLAKE2B 665280844db218824bec2add033e13e14b958ac510fb1b0b7193130a55041a5c802c57aa022a35d65a689c611ca9ed119eaf39c47f581d24f38d9c8655c5f062 SHA512 482ae07e36fb3c593d2051b2034f501fc0c94bdcaeb2a6a0701473d00f16f691c8a1584d4b1773dfd236297a12a42cb4f9443eb5c381dcb10d36f749a432ff1d
EBUILD clang-18.1.8.ebuild 12224 BLAKE2B 6b2b34e54d342fd373fa156d71d2fc01626d535a697a5fd4d63b543b92a6e19586b774ccaca1326581b4842873f61a9956d105c8be9d02fef1d1debb11544b7b SHA512 4b2699d0caf5932e7fb91a837498b4d2281612b960fd56e5d3f502aae6c30c89ca97d4150ec2ea0fb87b6874c1936a068c636863bb7586c532ca9e13c2b7c212
-EBUILD clang-19.1.0.ebuild 11912 BLAKE2B e03d8cf99f76ca7cad2b8f9979708aff71b141e2b2abc2f7679cdc966ec9c81e344bd4773c516d87b0fff7137878d9a01bc89676aadfc1ec62f652cbed5723fa SHA512 09afb6c8ec3d5420120685dc523db99e0a2767e1405eb73bae16464da03701191bcde450a50b6bd40613532b012470cf1c1be449b215ee07fc7d45555f66e51a
EBUILD clang-19.1.1.ebuild 11912 BLAKE2B e03d8cf99f76ca7cad2b8f9979708aff71b141e2b2abc2f7679cdc966ec9c81e344bd4773c516d87b0fff7137878d9a01bc89676aadfc1ec62f652cbed5723fa SHA512 09afb6c8ec3d5420120685dc523db99e0a2767e1405eb73bae16464da03701191bcde450a50b6bd40613532b012470cf1c1be449b215ee07fc7d45555f66e51a
EBUILD clang-20.0.0.9999.ebuild 11813 BLAKE2B 4c9180368159d6a681858a56b73587ecefa55827ce41d1f693cbf1e81043c6cf8b96bc25a05e57698871b9f8e35d75564e8ee6003a99ea4003941e2c91948a5e SHA512 062e7169da18666b1290dbcb9c5b7f7ec28bf67aff0e5c9292fd7d82a7f7e6b98bfea1920442d86a9331e28fe3285271d26e7ff49993a17d724f5f7e1ed3fe74
-EBUILD clang-20.0.0_pre20240917.ebuild 11846 BLAKE2B a0477a6fd6deac3238e67d7cfb58e140a89b566c557121e2e848855cde2fc7ca098aaa62d2237ac24249bf203845a009e08454a8560b2ef67bb1cfcacc16dd67 SHA512 83a6cfc67990e1c38abb850a4475877693f3be6cd79069960efddf411a2dab18e24940666957a02e324a2ef50c6f00f8f911727dd380c62ee40308e4eafb7e3f
EBUILD clang-20.0.0_pre20240924.ebuild 11947 BLAKE2B c5134de5b3ca22a12c9ea5758023c4b2c83b2ec4e64704cf177624e4f097cfe8d50fa87cce65fc1e64d0b84e5f8806ec3cc38c98e138f871b2e51feef9f415eb SHA512 2fefde2800c181c36a829ace49f15a08345f8b6e361386eabf83f3aa9ad8407e30bc98c1af649ae1f229b1efe6616886d14d0a91e017fdbf3d48eac05b2ed21d
+EBUILD clang-20.0.0_pre20241004.ebuild 11813 BLAKE2B 4c9180368159d6a681858a56b73587ecefa55827ce41d1f693cbf1e81043c6cf8b96bc25a05e57698871b9f8e35d75564e8ee6003a99ea4003941e2c91948a5e SHA512 062e7169da18666b1290dbcb9c5b7f7ec28bf67aff0e5c9292fd7d82a7f7e6b98bfea1920442d86a9331e28fe3285271d26e7ff49993a17d724f5f7e1ed3fe74
MISC metadata.xml 1318 BLAKE2B 704c1a64297b25da1b2e0eec23cbdf4791273da1babf23292160b6163d43438e62fe214df7afa09232893599951918440954c17a9bfa0c6f829a7d706f564192 SHA512 4677ad146739dd41e025a2335eec353a3d35ac8db7482948fee611566d84b41c4e6bdd75bc3d78f8933d4d9818a36bf222e1aa89e52f945501ff918479fea3b6
diff --git a/sys-devel/clang/clang-19.1.0.ebuild b/sys-devel/clang/clang-19.1.0.ebuild
deleted file mode 100644
index 2d7aae85f170..000000000000
--- a/sys-devel/clang/clang-19.1.0.ebuild
+++ /dev/null
@@ -1,465 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake llvm.org llvm-utils 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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~x64-macos"
-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}
- test? ( ~sys-devel/lld-${PV} )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- ~sys-devel/clang-runtime-${PV}
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/utils
-)
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( "
-BDEPEND+="
- $(python_gen_cond_dep '
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
-"
-[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) "
-
-# 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).
-
-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-installapi
- clang-linker-wrapper
- clang-nvlink-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() {
- llvm_prepend_path "${LLVM_MAJOR}"
-
- 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
-
- -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 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/clang/clang-20.0.0_pre20240917.ebuild b/sys-devel/clang/clang-20.0.0_pre20241004.ebuild
index 3fc2fa154770..cad701817a80 100644
--- a/sys-devel/clang/clang-20.0.0_pre20240917.ebuild
+++ b/sys-devel/clang/clang-20.0.0_pre20241004.ebuild
@@ -200,7 +200,6 @@ get_distribution_components() {
clang-offload-packager
clang-refactor
clang-repl
- clang-rename
clang-scan-deps
diagtool
hmaptool
@@ -219,7 +218,6 @@ get_distribution_components() {
clang-include-cleaner
clang-include-fixer
clang-move
- clang-pseudo
clang-query
clang-reorder-fields
clang-tidy
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index 8424a0c262ab..3a172b216875 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -1,5 +1,4 @@
AUX gcc-13-fix-cross-fixincludes.patch 883 BLAKE2B 1ae33195320754c55f42e1206bcfdf98914af5190df5939a4c7b072a2bc25216c354ea5d76f5171e1b8a150ca7764bdf57cea1bc137c237a5e8bb44713885f1b SHA512 ca9625001f0a10826d75691fdba35ca5783ed2f80e605b935785f8dc7591b0e650dca28bf1fc7e688e27547dddc7ab38232459b4f1865ed10a148978d0e09703
-AUX gcc-15.0.0_pre20240623-PR115602.patch 4018 BLAKE2B 3c88950585713918c77f6e6f00ae9365edd97ec61f88b89d3e99eaec8ef62db315dfd285c16ab5563ee88d69f8f0857dbfd5055d84950ef6023d4d5d804b819d SHA512 56fafe0d602c925608be21a573983de5fdb5ffb3ba4130fd2f77b35ed1e7de6385b2e71e78276c726b80e108d12213d4bb5af196762fb1d8579e06fd18c2f735
AUX gcc-15.0.0_pre20240922-middle-end-check-explicitly-for-external-or-constant.patch 3030 BLAKE2B 9d5179e3bc5fde7703fe91e0a24b9a03af5fb463371884c278f242d04070f2277ab7f03d31f97a352b5ca122fd3b2dac7e76df72245180cd220cfabb93e8aec3 SHA512 5cfb2ac41a441629e2e77d4251545cd68899e8013b5af36dc69adb8e0d3f0a18d7baf137f59ca095eaa1e9ebd5877eb6123005099f5a5f359d399306ba0c5e37
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
DIST gcc-10.5.0-musl-patches-2.tar.xz 3452 BLAKE2B 5387e516d07d81477b3f39b8b3bd986bf861d32cd25dc5481c97bd3620d00c918c5661e86857f66dbf28a655401a53e43417f638c443e44cbfdbf5e950caac4d SHA512 86f2ce31cc4fc4fb5a6043fb527bf822d895e1a6220652024f78a1cbd5a962edb6be8dc5f43c32053e075f39bb2350ea8f14e7d57e0473dd2933a7b44676bde5
@@ -10,12 +9,14 @@ DIST gcc-11.4.0-patches-12.tar.xz 13824 BLAKE2B e4df9e0dc9512882022aaf325ebf65c5
DIST gcc-11.5.0.tar.xz 82399864 BLAKE2B f4a61faad32aac9e9cb553c1a1a011df0a057f6e2cac92a13cc7e285d08191dd4a117f41a8faac2359c0e2a16f954c7fef354dda9df8c63bff1c5cefda82602c SHA512 88f17d5a5e69eeb53aaf0a9bc9daab1c4e501d145b388c5485ebeb2cc36178fbb2d3e49ebef4a8c007a05e88471a06b97cf9b08870478249f77fbfa3d4abd9a8
DIST gcc-12-20240919.tar.xz 79901284 BLAKE2B cac209e466ccdffd84610e22961bfbdcd70f6bdd838fe595aa5157670f2a3b9d7db688ffe700e4e7f643a1d3dd806686531e519b2a750b942be63a7dbd7dcb42 SHA512 b032e85be5720ea66b6183f3a5d9f2cc8505c21a0fbdb44d292d8143e37b3ec6e8c3417cb8fc7a18e7cbc961d61c51f681b3ea724086d325c05e7918f7949063
DIST gcc-12-20240926.tar.xz 79903576 BLAKE2B 704ee10a6e0c358ab4e5ebf9849c2c77f0576ddfc7698f3a5ceab5ada41b201bff3b0ea3f476c3fac7e16dbc606a1885d5042335ef207250f21106286b2587d9 SHA512 259ade01b6d8583bb7bca28b883c9bb1a6929ab7f16d67c14e264dd6118d791ea3bf29c07afa72856cd0612b5e1c1a4ae9224b0e332519956a3642115cb2d592
+DIST gcc-12-20241003.tar.xz 79908436 BLAKE2B 8a07f081c0497d011fe14e9a56eaee2397dabab342b39fb7ca1144006be05ab5fcc599343cf14d7b235a5e3769d0e0883d7678fa263963041012fe4a5814eb14 SHA512 d13f43c85057b5f1f01f26255531675ebb98744e6ca2f3de81924976d3a67f5ce2e462751e1b830da2218e7947d1c8da5e736fc5527b9aa204b497a237e9f9f3
DIST gcc-12.4.0-musl-patches-1.tar.xz 3068 BLAKE2B e5e39c24934072ea89e4467d0dc5196f3dadfb5ffba0c856d051648a2fbf57d434a57e95227cdf2b8cea45f0f5555aec2bc372d2f6cb0b69efd87831d248d364 SHA512 b9db204845a25be043d76cae826d42eebeeb4f9be7c3049af6fe7601a552bedfd24731156a6a36b4b5e2e2af656a589a5c556d2b0b3ded33ba290a773ee87c62
DIST gcc-12.4.0-patches-1.tar.xz 15576 BLAKE2B 98c29888de7701b365be7ac9062f0cee3340d58c85485e26f0d02f1483ec64cc9c10651488a4fd937551afe30f4e19777e6766871a724ae3ba6c290c16f4fdf1 SHA512 3f7c5d36e56e07ea9dd143a5d13342a6c1ccbf0643abd1c0bcbfb46bb7c7b1308aef6e3e882031c9c191610f01af906b19be5aa2b139cf617614f46e97463aec
DIST gcc-12.4.0.tar.xz 83377372 BLAKE2B 0d5aa9995bf53fa2dc976a846240cfb8fafd125ad6c54f45dc9d770215eae3e9ea0db82a9a4f79c51b4d5f8461a1d730c17db6841bc31bd96dba11d9ed7544ae SHA512 5bd29402cad2deb5d9388d0236c7146414d77e5b8d5f1c6c941c7a1f47691c3389f08656d5f6e8e2d6717bf2c81f018d326f632fb468f42925b40bd217fc4853
DIST gcc-13-20240614.tar.xz 84463660 BLAKE2B a1b551ff633c31d6972fed173f248ba5f6696eb1566801e180b78a7c7e20933b1aaae40839b4f1529d61166de55125395d4f9a812511c088e73f975bf1d2167f SHA512 1a543ddfb56e793367a43895a7ce4f97daeca6ffd5234ce50e8a7ae0f8db1071e01bdd653fda40d00eb7a680faead8f1d8d1295f983086a33a4c75e4affa2ea5
DIST gcc-13-20240920.tar.xz 84477260 BLAKE2B f9f0c376d2849a55a61ac5bbbdb456d160e861e8f0acb34651960aa680ec5e8e6d6bdbdeab94c02e51ad1766bd24e5f2dba3a386f6735ea103181dbc1348a943 SHA512 5b7304ea0032a3bd6f111c8da0a9f12958f45e9f117d408e02e8b4892157462c5643891bcedbded7386f5f9987d16a922bd21bd05ad33167379e1579b7baf1aa
DIST gcc-13-20240927.tar.xz 84487900 BLAKE2B 7b04a3749f4f34cb4b25cce2e02e16422d143f214618468a571f7c0d505ae69928b3dc5b9c95696750a03247934e69816731445613abb9333d7b6b0e65ad5cdc SHA512 532f094e416c151fe80dcd61c64c78398cadea785bf6bd05428d39ff3da5472323cf1c8199ac6aad87abd2893996d18c29b1a2e50dc94286821564e888730d32
+DIST gcc-13-20241004.tar.xz 84474832 BLAKE2B 641d14af692557d47f182d6f53254afcfb4d15181e013b7f720ce9305b79f1969f69a4fda567f369ef49b8d5d8d77d870fbfb82a1d47cb479056b931a08a22be SHA512 5d8fe656965d2af442524d5247ef4f803f3da36f46edfca6a6b1ad66d2f3007a0e71104ef0beae08af10c7c7b060dfc60b3e4fc9117de3bbe107ae2b0869367e
DIST gcc-13.2.0-musl-patches-2.tar.xz 5292 BLAKE2B c057d6574d03c05854edaa9f3fd40e9149662b04f3ac7a7db3eb078d73a7b535726d1bf52e5b12736dedb2f9898ad731f2e48a6421fcfbf7b90f929dee072fcb SHA512 a691da0c87c443a5e9d23731f4005f27871c5b12bc9102873ffa24d374aa7b9fbd187c4f5635d23fa9ffb17e351e76173c2d3fdf40646e355c4cb314b538de69
DIST gcc-13.2.0-patches-16.tar.xz 44792 BLAKE2B 0b6b584d68e69685638695596b780249ca0119ad362747a82d886fd10f77ceb05d02e033e906a090c67f44b1977f40df6a95206d81a32dd15e2f5413c6c92496 SHA512 324d9e63d16c35d55edde20de049162c01b0d487b4548d06c49f0da04a761ec255bc5e020cc2e7f60d12f5d129768afdcf7c86a59126f71f388ab375c34be6de
DIST gcc-13.2.0-patches-3.tar.xz 30956 BLAKE2B 29ce043b46645640ca1e983397af3e158588ad87575f0bc59451ea4a7dd5e3bb5b190ed031de6a22cd790d423ba111e95d222187dd09985dceb12db9f0a2d907 SHA512 4ffecae7be320124ad0c4e71e39e142b7aa8db0e70b5f486f491d7a33ea31efc6464c6abeea77df02a8bd5cf81f08225d625c8af5c27f9afa32c0d7d989f7a3c
@@ -34,6 +35,7 @@ DIST gcc-15-20240929.tar.xz 89549712 BLAKE2B 90b22ddf10f3c7f36f8a19e3a4436fed73b
DIST gcc-15.0.0-musl-patches-2.tar.xz 3076 BLAKE2B 0073248fe4f7dd827980559017b5aa1fb5c4c46acc9ad5c410dc152fd1e44966d3066bf7152338573cb45b1c36027de5f0c519abd414d97a37bccef07f6a5281 SHA512 295f1a669020bbe2874e9b03afd46b5d083073b276fca3543f3767a2d74f35df81cf0a67abad50c200cf7a3af36ec98ff9977cb7d5c19f334af7d3bb1926a3de
DIST gcc-15.0.0-patches-12.tar.xz 12980 BLAKE2B 325743e1d4264e80ce91e866bb3cbb9d0e72e186fee0d29e6dace6c48b975992dcd7081fe2a924519d5c1503dedc14a4b41f584dd7d97924664bcc6f6537a8bc SHA512 e18401c517b05e13c203b147f9ba6991c867a8c0a50a7e1a67ea497243d46cbbac674c3498651946f941423241d36b6bc55571a8131fc3604c92604be288f60d
DIST gcc-15.0.0-patches-13.tar.xz 16480 BLAKE2B b3d9637972ac3644ba0191cb26aa2c9f624ead14816a6358db81745ef984af9de3c0c1f5576edc3045d877b3907a97566b468734baa2e6b2a351187d3e9ff80e SHA512 da368e83643fe2312655654be2de4824c3b5e7efaafbf2dcf63aafa48580cfe74e5394707c577d82e22336dbadd52414e31a597dc3565d0378f3ead5323b9b3c
+DIST gcc-15.0.0-patches-14.tar.xz 14764 BLAKE2B 3da7b4d81ea45ca1254ab9f290ca0c94cacb2d168aa0b3f6b0ef18193f911e204148b1790df9ddf7d1f6955777b3470030e73751fc7d1c0fd23bccfdee10fcbf SHA512 7133b5df5f07307f85a07b05fdc5f8166920aa93b13c1465812be572c7185b7fcf174cc36ddb2bc9fd2323dd010db9a42d35df9871f185794cd22bff57c43eb9
DIST gcc-8.5.0-patches-4.tar.xz 18616 BLAKE2B 7594cbaea5daecf1a0b3d526c06aeba0a84c6da66aee2e105a51fda6be8d30a37ccc3814281b284a4582d892a1d556bca063551584edfc2525bed8ea5b6888e7 SHA512 1aa5742c361186637e7855f06feb1a4547e7d4d5de6e51f3d049e0ef3c19e2eff179465f52781739f59422035b7f8e4c0efa3844849f920f3c96acfdc37ca6a6
DIST gcc-8.5.0.tar.xz 63841008 BLAKE2B aa81a1a730fd7371360f6abed6ba78b5843fd18c58d5de5687acc320741b9e430e85df3535a1ef7a26051409be8d2f0945f503e5968480d919103123a99d4b12 SHA512 92f599680e6b7fbce88bcdda810f468777d541e5fddfbb287f7977d51093de2a5178bd0e6a08dfe37090ea10a0508a43ccd00220041abbbec33f1179bfc174d8
DIST gcc-9.5.0-patches-2.tar.xz 14324 BLAKE2B 1d3bf3e673108ad2fcdcb86daefb4603d1c9f6aa815e34d1591054d466b76d6f50cce124ab4760528c4951ea16eb00888a3e6485417f81ebf250548732df4a8e SHA512 a6d6f650aaf0bd193a17ac279649f0544a282cea295824384c59341c3000eac4b574b60e00dd427585d928f9768166abf85168b47772132790ad98854acacbbf
@@ -44,11 +46,13 @@ EBUILD gcc-11.5.0.ebuild 1609 BLAKE2B 9bedccd8d9a0cf506de80b009a2f14564cac36f1e9
EBUILD gcc-12.4.0.ebuild 1615 BLAKE2B c241479503ef04500043053c4e400559aba8d0b71e245c322a2eaba9eace24305b52a26e1166533351620cc1a253681371b5c9c41a0524ed71784b779754e3a6 SHA512 673af96489f9b069067f78f68130a7b559829aeea74b8ca0af20bccd90be5a24fec24224fac2287ca1ac30147ca1b0843984fe18b21bde195450241a83fc4b60
EBUILD gcc-12.4.1_p20240919.ebuild 1623 BLAKE2B e3b475402008ac81b9d3efdd712aa7f5f265d731b700c290acc82d710e5d2d25e94cd35f3add91c4558a34917a4c6640422d3f77b60dfdf3567f4512021b9457 SHA512 2ff987eaba96fe25bf15b35a1bf82ab84ef093e58f04b3ac665509555baee0ca474fcb281f0aa50d727fd648b58340c5ca14c1553c40c117745603f91e9e3817
EBUILD gcc-12.4.1_p20240926.ebuild 1624 BLAKE2B 0d7068a4fa409f73c89623cdc13e7e927ec5154da041a49be67a24cfd3970933a46bfeb642c9996db3d0abeb3e1a30553e12eb0ecaa8e964eaffbba96fca7ead SHA512 bcd09110979512c865e2b9bf9eef198c7ce9d3c27f13285ef9261045635a2365b5266e2f8c0c8f0e5381350b47f498f825e070bc070b9613e4417b0acf5ab704
+EBUILD gcc-12.4.1_p20241003.ebuild 1624 BLAKE2B 0d7068a4fa409f73c89623cdc13e7e927ec5154da041a49be67a24cfd3970933a46bfeb642c9996db3d0abeb3e1a30553e12eb0ecaa8e964eaffbba96fca7ead SHA512 bcd09110979512c865e2b9bf9eef198c7ce9d3c27f13285ef9261045635a2365b5266e2f8c0c8f0e5381350b47f498f825e070bc070b9613e4417b0acf5ab704
EBUILD gcc-12.5.9999.ebuild 1592 BLAKE2B 67143f2363fc6565514d2efb407f73adb21d2a83f499abcd52a56084d5abfbe761be3cb5550b83b19443893b199cace3ffb0865ecc9340b63b051223e96aa105 SHA512 c7555fec9b7008cfa7ec50e64fe4f67f15ca55d8fcfbc720a4e640de90851aa13bd9929bcc1f1fc84d9cc59d32b407df6347f5bb1c232be7b2f1181b829dceca
EBUILD gcc-13.2.0.ebuild 1682 BLAKE2B 5a19639504afafced19bd1ad913e3106a65d16b4b3d5aeabedb0cbc891bdac22d9cd0a21928eef51b88dcbbe64927fabe8fc9bf0fe19ea755ad5959bf5acfb67 SHA512 3865dff4bb19f022f6a1a2d653bc8f7eab9c47e99ec5b30e4600506faab301f410ff26f1155b5305f219f3b89f344cc8271aef8b6d6fb2568e8937d5867ea843
EBUILD gcc-13.3.1_p20240614.ebuild 1674 BLAKE2B 371c78ae5036d48e0b96fc621e6a7eb35347d810ad68c6f11d4702f8634e333fe1802cfbb2078c9a35ef18325b32fa7b3b898050eb9d65178ef1e3f24d990f84 SHA512 4fe1522f2700782bac8235524d95d3b596c6783dd08577f17e319c5d58650938a93d40e2dd07a4707cae60310247c83418c3dd31515346566e0d476cc79c9731
EBUILD gcc-13.3.1_p20240920.ebuild 1682 BLAKE2B 7a2f2307d2ce44655249c3e96a0fec619b75c60b3d070d2805e9f1a7aeab15dc8d607ec5ac64465c5fd6c591ba6c1d0bf43850390d8a4b5d010783e5741df63f SHA512 cea95a6a8259e8e88677d3c9e0b652aa2927bb435b5d5e2e0736aed97f6114342b2b3d235de92f4bdfe97a1b7101d99e4f3f82f0319dfbf5da1d0cb00a6307b3
EBUILD gcc-13.3.1_p20240927.ebuild 1683 BLAKE2B a922595b41f142c96c1c540848375b16aaf16d68fa8dcce80a2f1cb645a60e27518da27137fcfdab67adb52f292f8e3ef38e2ea8e1108ae0acd218be6a6f7e4c SHA512 9eb5650b04c5988e083525ef2a5eac9ffcbcc030a882c24f6a872d140aae5f64ae6fd1b7e9d5048a437ea767f559e582b718c8edec8b8eedc1d3635eb52aa493
+EBUILD gcc-13.3.1_p20241004.ebuild 1683 BLAKE2B a922595b41f142c96c1c540848375b16aaf16d68fa8dcce80a2f1cb645a60e27518da27137fcfdab67adb52f292f8e3ef38e2ea8e1108ae0acd218be6a6f7e4c SHA512 9eb5650b04c5988e083525ef2a5eac9ffcbcc030a882c24f6a872d140aae5f64ae6fd1b7e9d5048a437ea767f559e582b718c8edec8b8eedc1d3635eb52aa493
EBUILD gcc-13.4.9999.ebuild 1679 BLAKE2B 480cd313584e1170b6948893bf6eaec6fed930db66038f5e0dc60ca279e7469ba41b416cb7e0261aafda3ee704815ae8d034ee9a523a46fb96f023621bc58446 SHA512 c34bdd3646469d69bea6457c4f91107ea22c14d9a0e75e4cd1b8b75297a8a5b073adf37c8609d62d00584fe6dcfa7cf22c460210d6550bb69dcffc570e9521b0
EBUILD gcc-14.2.1_p20240817.ebuild 1439 BLAKE2B fd86390a315a3ddd884bf2818eeaead7d08a75454bcdd649e4b31f10f44020f6c9cbc22d6c99af427a146440db10bf1374e0f488efcb703dabbb8c55e21f7e04 SHA512 99cef96899f5bf926eb9ac15b433e51419bbd5f9f40d104eeb38462b9d8f009c8002677daa1f7356b11aa0ad71adda9d39227e868f550969a1ff0a84fba92f26
EBUILD gcc-14.2.1_p20240921.ebuild 1439 BLAKE2B fd86390a315a3ddd884bf2818eeaead7d08a75454bcdd649e4b31f10f44020f6c9cbc22d6c99af427a146440db10bf1374e0f488efcb703dabbb8c55e21f7e04 SHA512 99cef96899f5bf926eb9ac15b433e51419bbd5f9f40d104eeb38462b9d8f009c8002677daa1f7356b11aa0ad71adda9d39227e868f550969a1ff0a84fba92f26
@@ -58,6 +62,7 @@ EBUILD gcc-15.0.0_pre20240908.ebuild 1360 BLAKE2B 968d28147681b5a6090ddf0362c655
EBUILD gcc-15.0.0_pre20240915.ebuild 1360 BLAKE2B 968d28147681b5a6090ddf0362c655aedb5c54883a463d8279df03ba98e967bb201130faaf0d863c815d8a8168c89e476c31c1fbf79ebdeda6430a36cc100467 SHA512 15bd66cda74f11d735c8ede352979ee0b94470bf0497fe8cc07e76e00093e32c5acf5e760e21ad60c73e6187f61e082a76caf7d2970b3e991ff8678ba0c81755
EBUILD gcc-15.0.0_pre20240922-r2.ebuild 1623 BLAKE2B 0b852e93d8286cc195cafd1ec64f34f1ee8692ebf01d384153560e89aabeebc9d2743609a2e338f37cef27e51c9bb527270d54aaeff2458cc715b8594c7c2c60 SHA512 079cf0810db3bfd1d6f5e1c43c2065df7f8227f75358828c7a5bdd29c9762e884cc47d85f81674e2db17640ed55c6500a1b36c2cbab26b5c76877205cabb2665
EBUILD gcc-15.0.0_pre20240922.ebuild 1519 BLAKE2B fa815699c48c899de559b9e4b709e0a222c77c57739abde8794d00ca7bc280ead3bb0ddbe59b20473983062845960b3d96ea93280dd906a8760057a249dd3f13 SHA512 d5477d099fc02574bfcb0fe7c829087ad94a2a5d801982a94075190ece5ca3e45c4699de5d73ab0488ac43ee66ac5ee69bc296f49a33ea897a2cf2c09fb25807
+EBUILD gcc-15.0.0_pre20240929-r1.ebuild 1360 BLAKE2B aa18602afc466120f72471ce5b490110a44946e0115786f1b84cf674a0219d1fae04d04f59abd17108359cf3140110ea3ca73b83a2837979cb11ecf53fc24c0e SHA512 0ff3a153e26fef2b9fc50aabda3462d9e0a635f8006a5e31b4e2b09e9e22a27fe7ffc20a2816f3aaaf2cce578ea413508a9cc52e48bf1d65d40ca33536e17c4b
EBUILD gcc-15.0.0_pre20240929.ebuild 1360 BLAKE2B 889d886eb63ddc117d9ff1ce0344867a0c09d5c945f334e45c474660e60da91620a2d4a4710507a9077c2daac9fc0d4a930b4b3f0cf6469990303d208414548d SHA512 e700180bcfdbf42a227b228ea5f49c23290c0b4fa0608e0bc0e7ffef5a7d8d2ae98006bcfeecf74b124564a5614e7cee54858a39fb5e94ea8775ea1f781dc58e
EBUILD gcc-15.0.9999.ebuild 1332 BLAKE2B 6f17f77603522bac72d4d57094cc086263a9bfe6273c04d91b169ebc23d78fa2943c0950d4a40fe846d9d92648e54ca54ad1cecd5446ed5710062f9dca569b4b SHA512 4e4a673229a36dee68238e10efb2d9e0ff1c530411395e5230bbf567c92342a4b79d0ecb0ec91573c52fd8b5efd5cf6d20e612971848c9529378e0c42c0e213d
EBUILD gcc-8.5.0-r1.ebuild 549 BLAKE2B ff92dcaf33780ec98032b59fa9b9de925e44375d50fdf82f6bedc1747cd37399753b5db4aa6c2af8e983b4a8a1ff38090e8d913252320b4d7f3eb24af2c22c57 SHA512 856d099e61a03b38fe468a82dc94c52d51e4678499c9a10a54ca009ef4cc67e24f8aaf984dc5eea2604b6db36f4eaf29ac8cf81ef7651b2221758f4f07898996
diff --git a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch b/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
deleted file mode 100644
index d78c6d964906..000000000000
--- a/sys-devel/gcc/files/gcc-15.0.0_pre20240623-PR115602.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://gcc.gnu.org/PR115602
-https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=c43c74f6ec795a586388de7abfdd20a0040f6f16
-
-From c43c74f6ec795a586388de7abfdd20a0040f6f16 Mon Sep 17 00:00:00 2001
-From: Richard Biener <rguenther@suse.de>
-Date: Mon, 24 Jun 2024 09:52:39 +0200
-Subject: [PATCH] tree-optimization/115602 - SLP CSE results in cycles
-
-The following prevents SLP CSE to create new cycles which happened
-because of a 1:1 permute node being present where its child was then
-CSEd to the permute node. Fixed by making a node only available to
-CSE to after recursing.
-
- PR tree-optimization/115602
- * tree-vect-slp.cc (vect_cse_slp_nodes): Delay populating the
- bst-map to avoid cycles.
-
- * gcc.dg/vect/pr115602.c: New testcase.
----
- gcc/testsuite/gcc.dg/vect/pr115602.c | 27 +++++++++++++++++++++++
- gcc/tree-vect-slp.cc | 33 ++++++++++++++++++----------
- 2 files changed, 48 insertions(+), 12 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/vect/pr115602.c
-
-diff --git a/gcc/testsuite/gcc.dg/vect/pr115602.c b/gcc/testsuite/gcc.dg/vect/pr115602.c
-new file mode 100644
-index 00000000000..9a208d1d950
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/vect/pr115602.c
-@@ -0,0 +1,27 @@
-+/* { dg-do compile } */
-+
-+typedef struct {
-+ double x, y;
-+} pointf;
-+struct {
-+ pointf focus;
-+ double zoom;
-+ pointf devscale;
-+ char button;
-+ pointf oldpointer;
-+} gvevent_motion_job;
-+char gvevent_motion_job_4;
-+double gvevent_motion_pointer_1, gvevent_motion_pointer_0;
-+void gvevent_motion() {
-+ double dx = (gvevent_motion_pointer_0 - gvevent_motion_job.oldpointer.x) /
-+ gvevent_motion_job.devscale.x,
-+ dy = (gvevent_motion_pointer_1 - gvevent_motion_job.oldpointer.y) /
-+ gvevent_motion_job.devscale.y;
-+ if (dx && dy < .0001)
-+ return;
-+ switch (gvevent_motion_job_4)
-+ case 2: {
-+ gvevent_motion_job.focus.x -= dy / gvevent_motion_job.zoom;
-+ gvevent_motion_job.focus.y += dx / gvevent_motion_job.zoom;
-+ }
-+}
-diff --git a/gcc/tree-vect-slp.cc b/gcc/tree-vect-slp.cc
-index e84aeabef94..b47b7e8c979 100644
---- a/gcc/tree-vect-slp.cc
-+++ b/gcc/tree-vect-slp.cc
-@@ -6079,35 +6079,44 @@ vect_optimize_slp_pass::run ()
- static void
- vect_cse_slp_nodes (scalar_stmts_to_slp_tree_map_t *bst_map, slp_tree& node)
- {
-+ bool put_p = false;
- if (SLP_TREE_DEF_TYPE (node) == vect_internal_def
- /* Besides some VEC_PERM_EXPR, two-operator nodes also
- lack scalar stmts and thus CSE doesn't work via bst_map. Ideally
- we'd have sth that works for all internal and external nodes. */
- && !SLP_TREE_SCALAR_STMTS (node).is_empty ())
- {
-- if (slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node)))
-+ slp_tree *leader = bst_map->get (SLP_TREE_SCALAR_STMTS (node));
-+ if (leader)
- {
-- if (*leader != node)
-- {
-- if (dump_enabled_p ())
-- dump_printf_loc (MSG_NOTE, vect_location,
-- "re-using SLP tree %p for %p\n",
-- (void *)*leader, (void *)node);
-- vect_free_slp_tree (node);
-- (*leader)->refcnt += 1;
-- node = *leader;
-- }
-+ /* We've visited this node already. */
-+ if (!*leader || *leader == node)
-+ return;
-+
-+ if (dump_enabled_p ())
-+ dump_printf_loc (MSG_NOTE, vect_location,
-+ "re-using SLP tree %p for %p\n",
-+ (void *)*leader, (void *)node);
-+ vect_free_slp_tree (node);
-+ (*leader)->refcnt += 1;
-+ node = *leader;
- return;
- }
-
-- bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
-+ /* Avoid creating a cycle by populating the map only after recursion. */
-+ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), nullptr);
- node->refcnt += 1;
-+ put_p = true;
- /* And recurse. */
- }
-
- for (slp_tree &child : SLP_TREE_CHILDREN (node))
- if (child)
- vect_cse_slp_nodes (bst_map, child);
-+
-+ /* Now record the node for CSE in other siblings. */
-+ if (put_p)
-+ bst_map->put (SLP_TREE_SCALAR_STMTS (node).copy (), node);
- }
-
- /* Optimize the SLP graph of VINFO. */
---
-2.43.0
diff --git a/sys-devel/gcc/gcc-12.4.1_p20241003.ebuild b/sys-devel/gcc/gcc-12.4.1_p20241003.ebuild
new file mode 100644
index 000000000000..5845745860b0
--- /dev/null
+++ b/sys-devel/gcc/gcc-12.4.1_p20241003.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="12.4.0"
+PATCH_VER="1"
+MUSL_VER="1"
+MUSL_GCC_VER="12.4.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 ~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}"
+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-13.3.1_p20241004.ebuild b/sys-devel/gcc/gcc-13.3.1_p20241004.ebuild
new file mode 100644
index 000000000000..6bff7d382179
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.3.1_p20241004.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="13.3.0"
+MUSL_GCC_VER="13.2.0"
+PATCH_VER="1"
+MUSL_VER="2"
+PYTHON_COMPAT=( python3_{10..12} )
+
+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 ~loong ~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}"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply "${FILESDIR}"/${PN}-13-fix-cross-fixincludes.patch
+ eapply_user
+}
diff --git a/sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild b/sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild
new file mode 100644
index 000000000000..fe87c4b34719
--- /dev/null
+++ b/sys-devel/gcc/gcc-15.0.0_pre20240929-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+TOOLCHAIN_HAS_TESTS=1
+PATCH_GCC_VER="15.0.0"
+PATCH_VER="14"
+MUSL_VER="2"
+MUSL_GCC_VER="15.0.0"
+PYTHON_COMPAT=( python3_{10..12} )
+
+if [[ -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 ~loong ~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}"
+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 eda557d2868a..65aea75e6ef3 100644
--- a/sys-devel/kgcc64/Manifest
+++ b/sys-devel/kgcc64/Manifest
@@ -1,5 +1,4 @@
AUX 4.1.0/gcc-4.1.0-cross-compile.patch 1134 BLAKE2B 945e234afcbbf2b5d737d7a4b9fb9282070ece739e1e487723baf9aa4e7c0777ec7b43cdd4957c89b9fc42c15eb2aff0564b370dd6b3e1a3849bf32680c69bd1 SHA512 84d0ab9bcfdd18148392a7219ec0ad4a1e63d43bda3f45a13e22f551f2f119822fed700570bd659f9260b09b0958d4c49e339ad4f135740e5b60e46462de7f20
-AUX gcc-12.3-ccache-ICE.patch 2129 BLAKE2B 29d5b55ed17b299d58dc2f22310aacfa443e05f28e7400fedf0e050daec9041b3dc32c3765c8fdf8d872294fb712c0c488d109efcdf6cfb6691e24b775de94a1 SHA512 58c68b982281b06bb707dc19465985da71e2d4b55e4b25fb63ec37ddfdc1337ac5bd67c5f5a75244b46630e9b1ca7321a3da38de89e31c278de8459608b88377
AUX gcc-configure-texinfo.patch 341 BLAKE2B d2ea3b2ea08f5d3a498ba27d0fb95e325097e2104e55caa28b66515cb48662649140d90b639369aedc54b2b1178fa4b49cda442f5f504e09d88a2efa45a5057c SHA512 e8d34c5077409df5495cf0c5fbf5e77f841c5698108fa6a5fde33eb28202c685603bdefd8368918e55f30c4b995e895d71d64c715c1ec2b017e09eb2c54c09ff
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
diff --git a/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch b/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch
deleted file mode 100644
index 9a170f5db77e..000000000000
--- a/sys-devel/kgcc64/files/gcc-12.3-ccache-ICE.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-https://bugs.gentoo.org/906310
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109850
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109241
-
-https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=396a4e76afec30d2461638f569cae18955eb4ad2
-
-From 396a4e76afec30d2461638f569cae18955eb4ad2 Mon Sep 17 00:00:00 2001
-From: Jason Merrill <jason@redhat.com>
-Date: Wed, 22 Mar 2023 16:11:47 -0400
-Subject: [PATCH] c++: local class in nested generic lambda [PR109241]
-
-In this testcase, the tree walk to look for bare parameter packs was
-confused by finding a type with no TREE_BINFO. But it should be fine that
-it's unset; we already checked for unexpanded packs at parse time.
-
-I also tried doing the partial instantiation of the local class, which is
-probably the long-term direction we want to go, but for stage 4 let's go
-with this safer change.
-
- PR c++/109241
-
-gcc/cp/ChangeLog:
-
- * pt.cc (find_parameter_packs_r): Handle null TREE_BINFO.
-
-gcc/testsuite/ChangeLog:
-
- * g++.dg/cpp1y/lambda-generic-local-class2.C: New test.
---- a/gcc/cp/pt.cc
-+++ b/gcc/cp/pt.cc
-@@ -4106,10 +4106,14 @@ find_parameter_packs_r (tree *tp, int *walk_subtrees, void* data)
- case TAG_DEFN:
- t = TREE_TYPE (t);
- if (CLASS_TYPE_P (t))
-- /* Local class, need to look through the whole definition. */
-- for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
-- cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
-- ppd, ppd->visited);
-+ {
-+ /* Local class, need to look through the whole definition.
-+ TYPE_BINFO might be unset for a partial instantiation. */
-+ if (TYPE_BINFO (t))
-+ for (tree bb : BINFO_BASE_BINFOS (TYPE_BINFO (t)))
-+ cp_walk_tree (&BINFO_TYPE (bb), &find_parameter_packs_r,
-+ ppd, ppd->visited);
-+ }
- else
- /* Enum, look at the values. */
- for (tree l = TYPE_VALUES (t); l; l = TREE_CHAIN (l))
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/cpp1y/lambda-generic-local-class2.C
-@@ -0,0 +1,13 @@
-+// PR c++/109241
-+// { dg-do compile { target c++14 } }
-+// { dg-options "" } no pedantic
-+
-+void g() {
-+ [](auto) {
-+ [](auto) {
-+ ({
-+ struct A {};
-+ });
-+ };
-+ }(1);
-+}
---
-2.31.1
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 73044a39ea74..2dc30a246a1d 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -7,19 +7,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
-DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-19.1.1.src.tar.xz 141244648 BLAKE2B 7c9250f99c8e5ae2097e89269ebf5bfdfb0fba8f67ab934377d24030c985013fe5475d0c9bd6d60a679e169772ad1723bc6e44ff9e4c7aed5627b9f1f1a2477a SHA512 84adab40ffb9ec236dbf203d86c08a0c2c651f98278a9d0936490c7901159eb26eabd3db9316013886b549426d4acb43b75d866f7dc670ab299bf93ba35b1891
DIST llvm-project-19.1.1.src.tar.xz.sig 438 BLAKE2B 6967194abf6939291abc716f862a46ea7c5e195b98eebc26928a57dbd5034f82a8ecb5b7cc1b7c2428168309308b19df1c7db828703e80d3f7bf578e3542874d SHA512 07bb7bffb2b035417d702ca47be9d5759250f1a2cd57606855027d458ceb972a293b45d3d93bcda195588986acbb5eace60524f4aecdc0da7aeb3a8414c37c31
-DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
+DIST llvm-project-b837c9e289dab93c7f8a06876e3f70b6864f40ab.tar.gz 219631219 BLAKE2B d8a5d7de537ad91e94fc85dc0f624eba92f31cab2a345706250a66ad424fff151d5b86c430d993a35fd938095774411080cee4cab47a8258af348743dc145b56 SHA512 fe23f72b73553e3755af335a2a2a2225eafdcf2ed93191c9f4ac7bcf7b5b5391f73c2dccbb082279e0c7389a8f12b889a8d061389785cf9219ca861a8d4b41cc
DIST llvm-project-cde7b30268a85a3e7900a31534a97e7eb4de9236.tar.gz 219048549 BLAKE2B 53bdfea814b2cdf60bfdd27f6135b9f9d5156bdc78d22a361214399c5101b6fafaaefb9109377c1d977c67ebcb1feed69d6aaee0f2e38881480d68ac8be9b3d9 SHA512 0def6da5c2443753f37ba40a893b41dd5c7676b7be57102a5a6e820fe4fe235cad1da9a1c0eff1abc4c4ed5cc188522cae23afeddeee1876ea8ffde5c4f33b9f
EBUILD lld-15.0.7.ebuild 2269 BLAKE2B 322d5608e3acfb87bfb720646404ed405a3113c4faf1059428663a50d5566d7842fcff57ccf3aeb5e97b1a9acd4efd862db2368f130e088944ef4f0faf3c90f8 SHA512 e50d1d99fe18b6aba57c06eb6853f3212be1f7b7f2f3c70dcd226a69a4defc753eafcce77eb74f30eaa31b010fa094738718c1cdb23e584ef6e33eb72e536719
EBUILD lld-16.0.6.ebuild 2324 BLAKE2B 9b849aea16a8188e4da4cfcf0c85fb3e997007e1287ec062aee182c7955c7bc78132e761c2611198c7207283fbe930fbee6bdc9a39b922d6d5387bedadaf1b76 SHA512 a7c3d4c1508e5435ba9f6250c6b2fd3157fb4f2c205a6888736f79fa739c59eec3e901927b53af81de3a3c6d4fa5d576be3eaa6ad45c60e5d952ed4ad9706c2f
EBUILD lld-17.0.6.ebuild 2363 BLAKE2B 8ebe513b67f3fb8efd981b97c1f77fe5de2065c363c2b9e99b8836983539fe5637b231e8be2a87713d47b48a49bfde77471ad65fa5166b606df476eca6f94fc1 SHA512 fd63e8600e393ecd95a05a28c8ac0d71b12f5aedcf273f432bea1904165b874ee913afff4aab91c2049aa1eb95c239bca217b84150133b2060f95ea66ce1944e
EBUILD lld-18.1.8.ebuild 2372 BLAKE2B f60b1b45fe7374c69bf6888892bd643061e22e8c82656aa1118f5f7b9fa6e3f4732cf9d89f833201b6aabc3a256918799d5c5c2a390bb67e09c559a8983e8c0a SHA512 8fb11719d14f1d0ae12ce734f8fcd7e12e14ba899979f0678a7c06dbc3d1e16c5db4ddb0e8e3b739d997e2e7380362b8b4fe7634af418e399a51cb917a4c1e91
-EBUILD lld-19.1.0.ebuild 2379 BLAKE2B a2fa5d5fb54079314d6c15f4707c3b4bc165f3ec9208522e16c3b137146a5252ea924f9c545e6f6a2d983ac5499489f20816f70be7d224ba96066b124a84e4e0 SHA512 f34577a29ff412f9cda3b78ebbf81a5c30189d1c50f7def0a5326ed7636c1edf43ca14b7624f92376be28738a1dcebdea61e6c078de652db141d0d1229c3ae06
EBUILD lld-19.1.1.ebuild 2379 BLAKE2B a2fa5d5fb54079314d6c15f4707c3b4bc165f3ec9208522e16c3b137146a5252ea924f9c545e6f6a2d983ac5499489f20816f70be7d224ba96066b124a84e4e0 SHA512 f34577a29ff412f9cda3b78ebbf81a5c30189d1c50f7def0a5326ed7636c1edf43ca14b7624f92376be28738a1dcebdea61e6c078de652db141d0d1229c3ae06
EBUILD lld-20.0.0.9999.ebuild 2293 BLAKE2B 5825f0a471a50ec1d9e7775a82736f6369fa1e99904b30cf068f0092dce44d4e0c2e76fcb21d70b9ecb1756d19e8482a5ac940bdc25c5a1d58c9aee0c21b5d7b SHA512 86226e5f9aea8a87b022b2def7cef707fc7db0f1e026f4965ec64390708f7e2355c3e1ee991487bd0c6f9f17dc2f129a6b7a2b8abbf1e14fe48dd0e4cd73b1fa
-EBUILD lld-20.0.0_pre20240917.ebuild 2293 BLAKE2B 5825f0a471a50ec1d9e7775a82736f6369fa1e99904b30cf068f0092dce44d4e0c2e76fcb21d70b9ecb1756d19e8482a5ac940bdc25c5a1d58c9aee0c21b5d7b SHA512 86226e5f9aea8a87b022b2def7cef707fc7db0f1e026f4965ec64390708f7e2355c3e1ee991487bd0c6f9f17dc2f129a6b7a2b8abbf1e14fe48dd0e4cd73b1fa
EBUILD lld-20.0.0_pre20240924.ebuild 2293 BLAKE2B 5825f0a471a50ec1d9e7775a82736f6369fa1e99904b30cf068f0092dce44d4e0c2e76fcb21d70b9ecb1756d19e8482a5ac940bdc25c5a1d58c9aee0c21b5d7b SHA512 86226e5f9aea8a87b022b2def7cef707fc7db0f1e026f4965ec64390708f7e2355c3e1ee991487bd0c6f9f17dc2f129a6b7a2b8abbf1e14fe48dd0e4cd73b1fa
+EBUILD lld-20.0.0_pre20241004.ebuild 2293 BLAKE2B 5825f0a471a50ec1d9e7775a82736f6369fa1e99904b30cf068f0092dce44d4e0c2e76fcb21d70b9ecb1756d19e8482a5ac940bdc25c5a1d58c9aee0c21b5d7b SHA512 86226e5f9aea8a87b022b2def7cef707fc7db0f1e026f4965ec64390708f7e2355c3e1ee991487bd0c6f9f17dc2f129a6b7a2b8abbf1e14fe48dd0e4cd73b1fa
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-19.1.0.ebuild b/sys-devel/lld/lld-19.1.0.ebuild
deleted file mode 100644
index 2cabcdd2ddcf..000000000000
--- a/sys-devel/lld/lld-19.1.0.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake flag-o-matic llvm.org llvm-utils 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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~arm64-macos"
-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? (
- $(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() {
- 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_prepend_path "${LLVM_MAJOR}"
-
- # ODR violations (https://github.com/llvm/llvm-project/issues/83529, bug #922353)
- filter-lto
-
- # 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)
- -DLLVM_ENABLE_ZLIB=FORCE_ON
- -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
- )
-
- 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/lld/lld-20.0.0_pre20240917.ebuild b/sys-devel/lld/lld-20.0.0_pre20241004.ebuild
index 79558afa1abe..79558afa1abe 100644
--- a/sys-devel/lld/lld-20.0.0_pre20240917.ebuild
+++ b/sys-devel/lld/lld-20.0.0_pre20241004.ebuild
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 74b1b0c3a2cc..6f368e0cc5e1 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -6,19 +6,16 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
-DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-19.1.1.src.tar.xz 141244648 BLAKE2B 7c9250f99c8e5ae2097e89269ebf5bfdfb0fba8f67ab934377d24030c985013fe5475d0c9bd6d60a679e169772ad1723bc6e44ff9e4c7aed5627b9f1f1a2477a SHA512 84adab40ffb9ec236dbf203d86c08a0c2c651f98278a9d0936490c7901159eb26eabd3db9316013886b549426d4acb43b75d866f7dc670ab299bf93ba35b1891
DIST llvm-project-19.1.1.src.tar.xz.sig 438 BLAKE2B 6967194abf6939291abc716f862a46ea7c5e195b98eebc26928a57dbd5034f82a8ecb5b7cc1b7c2428168309308b19df1c7db828703e80d3f7bf578e3542874d SHA512 07bb7bffb2b035417d702ca47be9d5759250f1a2cd57606855027d458ceb972a293b45d3d93bcda195588986acbb5eace60524f4aecdc0da7aeb3a8414c37c31
-DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
+DIST llvm-project-b837c9e289dab93c7f8a06876e3f70b6864f40ab.tar.gz 219631219 BLAKE2B d8a5d7de537ad91e94fc85dc0f624eba92f31cab2a345706250a66ad424fff151d5b86c430d993a35fd938095774411080cee4cab47a8258af348743dc145b56 SHA512 fe23f72b73553e3755af335a2a2a2225eafdcf2ed93191c9f4ac7bcf7b5b5391f73c2dccbb082279e0c7389a8f12b889a8d061389785cf9219ca861a8d4b41cc
DIST llvm-project-cde7b30268a85a3e7900a31534a97e7eb4de9236.tar.gz 219048549 BLAKE2B 53bdfea814b2cdf60bfdd27f6135b9f9d5156bdc78d22a361214399c5101b6fafaaefb9109377c1d977c67ebcb1feed69d6aaee0f2e38881480d68ac8be9b3d9 SHA512 0def6da5c2443753f37ba40a893b41dd5c7676b7be57102a5a6e820fe4fe235cad1da9a1c0eff1abc4c4ed5cc188522cae23afeddeee1876ea8ffde5c4f33b9f
EBUILD llvm-common-15.0.7.ebuild 1014 BLAKE2B da3b7ec6cd3c1e57758312fb9ea25e693305e1ef72b350eea85fbde5a1e636269d84bd491b6f528aee8a9cb8229f6304b371f99e6ac416c661c6519706b83b61 SHA512 68b9d672372fe71e39f2b8f9d80eb1dcb5138b8b9b961f56a4eeb81b3fc4054448a51a46b3a62547ebb6262425512f39bc146e5f2c3703de10ab520f1594e7a4
EBUILD llvm-common-16.0.6.ebuild 1034 BLAKE2B 1e0a0b6cbb746a7eb45e3f553bc949b69314afc3d913cda004d395e7b322c17f976496eed074cf08718dc2d9efa7f3db81dec4f38394fe6ea2b77793b74f4371 SHA512 8fbb211a6b05d24409642fcb00a4fb798499721cc30c4c5fa2df120ed74d9da7286916cf3788ea26f2cb21e334876417b05a4336fedff99e95d1ebe358f8b311
EBUILD llvm-common-17.0.6.ebuild 1034 BLAKE2B 1e0a0b6cbb746a7eb45e3f553bc949b69314afc3d913cda004d395e7b322c17f976496eed074cf08718dc2d9efa7f3db81dec4f38394fe6ea2b77793b74f4371 SHA512 8fbb211a6b05d24409642fcb00a4fb798499721cc30c4c5fa2df120ed74d9da7286916cf3788ea26f2cb21e334876417b05a4336fedff99e95d1ebe358f8b311
EBUILD llvm-common-18.1.8.ebuild 1040 BLAKE2B e48cc3f1b8cb1672859d620d637023ddce71a4a37827108ba2fd9a8eb66660175069e8d77c84549ec7bf843ecfe1ce3e2c8660c439c7acb08601a36fe72b4218 SHA512 626adbcb09088b70167deb3cc956b41cd1deb0321ff7b937faa6ab4d0a9a1ee219e9ed17a4b4233a47578fad528227b5e3d5e93d88db9610463947317e896e26
-EBUILD llvm-common-19.1.0.ebuild 1047 BLAKE2B 195324cff3d34038012504238dfbbdb44fc9a8ff2dc7d2af7165006f0b7a10dfe28439631c601d89e02a304477509ee268653a98a956936c234e3d7520574691 SHA512 00c0448fa43e250ce7a3f1c4fb20312eba3ab860387f33399eb66e50bea5029bc72c1c1f733acaf24f729a6f7b5ee6e6a6308b4532ed1ec135b99c9541c49173
EBUILD llvm-common-19.1.1.ebuild 1047 BLAKE2B 195324cff3d34038012504238dfbbdb44fc9a8ff2dc7d2af7165006f0b7a10dfe28439631c601d89e02a304477509ee268653a98a956936c234e3d7520574691 SHA512 00c0448fa43e250ce7a3f1c4fb20312eba3ab860387f33399eb66e50bea5029bc72c1c1f733acaf24f729a6f7b5ee6e6a6308b4532ed1ec135b99c9541c49173
EBUILD llvm-common-20.0.0.9999.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
-EBUILD llvm-common-20.0.0_pre20240917.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
EBUILD llvm-common-20.0.0_pre20240924.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
+EBUILD llvm-common-20.0.0_pre20241004.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-19.1.0.ebuild b/sys-devel/llvm-common/llvm-common-19.1.0.ebuild
deleted file mode 100644
index 7a852f871e36..000000000000
--- a/sys-devel/llvm-common/llvm-common-19.1.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp-common 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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="emacs"
-
-RDEPEND="
- !sys-devel/llvm:0
-"
-BDEPEND="
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-
-LLVM_COMPONENTS=( llvm/utils )
-llvm.org_set_globals
-
-SITEFILE="50llvm-gentoo.el"
-BYTECOMPFLAGS="-L emacs"
-
-src_compile() {
- default
-
- use emacs && elisp-compile emacs/*.el
-}
-
-src_install() {
- insinto /usr/share/vim/vimfiles
- doins -r vim/*/
- # some users may find it useful
- newdoc vim/README README.vim
- dodoc vim/vimrc
-
- if use emacs ; then
- elisp-install llvm emacs/*.{el,elc}
- elisp-make-site-file "${SITEFILE}" llvm
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/sys-devel/llvm-common/llvm-common-20.0.0_pre20240917.ebuild b/sys-devel/llvm-common/llvm-common-20.0.0_pre20241004.ebuild
index 2d8f35a84179..2d8f35a84179 100644
--- a/sys-devel/llvm-common/llvm-common-20.0.0_pre20240917.ebuild
+++ b/sys-devel/llvm-common/llvm-common-20.0.0_pre20241004.ebuild
diff --git a/sys-devel/llvm-toolchain-symlinks/Manifest b/sys-devel/llvm-toolchain-symlinks/Manifest
index 9295e149410b..707f94ce8925 100644
--- a/sys-devel/llvm-toolchain-symlinks/Manifest
+++ b/sys-devel/llvm-toolchain-symlinks/Manifest
@@ -1,9 +1,7 @@
EBUILD llvm-toolchain-symlinks-15-r1.ebuild 1037 BLAKE2B a91128b9fb9ee30983645e1d8487e4734a355695e5628dc785fff79c4597a5fc70e2458e5b756e177c86015e078789dfb7960dca078577015b0f9ea4b8369a5c SHA512 0e8e60edd8c226b9c511842c934ac349e6ebe9f425b064cdfe4c582638bbe9b8c860f73964fb922fe5926876f84b9514999e686de48860621ed4541c8c2c5791
EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1057 BLAKE2B 3d95e74859c18e2c1a12a8f154a5e3f9169534c59be41ae94686b9bbf2d45bec17c92510d6b5b566452583f00c2a3c55e53690a8f542cc5f18d58b2fde96ad30 SHA512 3f6299933d27c024765a9a0fabba33735e4e9468fdbc6568d6fcf3213c7496e3e306bfb6caf24e213614299c842ea50aa3f680a676f4f436f553b67cf3ee3b29
-EBUILD llvm-toolchain-symlinks-17-r1.ebuild 1129 BLAKE2B 3c1573cee569be660def02519bb27794d1d91475b2b39ad514d7f7dc930f6496efbfb8c023f18200ac42e2bc7e49c51756449de95d08f5c816c40fd0e14365fd SHA512 d608e268d3fc0b6376eebefde0425903927190c23bde7c158dc911872f95c9512126b0e0034ac75b4d7fc771ade0fc49c35186e3a824c76a7c13a3cbbd48d4e3
-EBUILD llvm-toolchain-symlinks-17.ebuild 1057 BLAKE2B 3d95e74859c18e2c1a12a8f154a5e3f9169534c59be41ae94686b9bbf2d45bec17c92510d6b5b566452583f00c2a3c55e53690a8f542cc5f18d58b2fde96ad30 SHA512 3f6299933d27c024765a9a0fabba33735e4e9468fdbc6568d6fcf3213c7496e3e306bfb6caf24e213614299c842ea50aa3f680a676f4f436f553b67cf3ee3b29
-EBUILD llvm-toolchain-symlinks-18-r1.ebuild 1135 BLAKE2B 15f32f393f8960527f4acf5ff4cb24c729f144067f5a21fa6f6e8566780e6a1ac4d3bd97b1caff07af63c68e77688f320a6083a0518666838d958a154c9d3221 SHA512 c7cc4c6a3b96c58b7a463760113464d99ba19b350ee56abbf3af7dab3a3a02154884a4570c0633456522d9174b5071823e1d7fc80ebfba5a0557bef196729ca5
-EBUILD llvm-toolchain-symlinks-18.ebuild 1063 BLAKE2B 57ef47a9badff27dae86846e611b1706ae7aa339d29de6a8fe08c93bcad75e9fd3950d8b394e4e3fdc33ed1ff7da5c4e71f5d6448cd1be58e5d5d1e31202aa7c SHA512 9eb6afe7f7fcc1bf290d35f6f65162e6bb090a295968c18e5ccfcf6937a5d76e3a3af9ac06210f807e026cff3894b84c1c4085566fb10f0665b39dab5c946f14
+EBUILD llvm-toolchain-symlinks-17-r1.ebuild 1122 BLAKE2B 63d14a5883d5a120fdd8ed5674194ab61d33a9746ca6ee7dcd8344096753b2c95a317722cafa532366310bcdac64e388fc00bea49986392841cb0d235b34b66c SHA512 4affb1f85495926b1bc3aed1a590e2df7eb2d5204aab6b56ae7fe2aa1545559f0dd5050f41d13cf014250d651a298858247a01850d7f389136782fc77e4526ba
+EBUILD llvm-toolchain-symlinks-18-r1.ebuild 1128 BLAKE2B 4165b648a6ea900de2dc9f94e68159229d39b216636f17f1c7e1b313adcff0c13d12b7727a30b9b808d253f8f6bffa7fd88b10e8ab59dea439eabd20f71d1060 SHA512 c02fccd4e4af7cfa6262119a3c9ca8973c8cef5d1b94e731b9756f723a64ae4d020da9166f5df5eaf85007ae2d4308b3005e57fd7ca623a6fe91167f17093317
EBUILD llvm-toolchain-symlinks-19.ebuild 1135 BLAKE2B 15f32f393f8960527f4acf5ff4cb24c729f144067f5a21fa6f6e8566780e6a1ac4d3bd97b1caff07af63c68e77688f320a6083a0518666838d958a154c9d3221 SHA512 c7cc4c6a3b96c58b7a463760113464d99ba19b350ee56abbf3af7dab3a3a02154884a4570c0633456522d9174b5071823e1d7fc80ebfba5a0557bef196729ca5
EBUILD llvm-toolchain-symlinks-20.ebuild 1007 BLAKE2B 53719df286b75b0611566afd5b14a74ecba82f2d68a4dc01e6618ed26cc8ee49104ff9a419a3e05109d15ec132ea1aba04fccc2d055150ccbcde95a6e1850378 SHA512 8f28cb79c342632d6f4dc6fd774277f11aacf4df2cb2e82ab06941b551defee494e15bf480a065374ea6b4fe1175793bd38cb4311f1ec2c78858e070e6f6e3eb
MISC metadata.xml 815 BLAKE2B 963f1b8425495144d04659d2d8cdabab910f15f9861634bf436a82ccb70b27682b44c47415ca6884956097e92294457d09b5c44e7a2f108c93abb79df8884aa7 SHA512 940a6c63c4c13a1c78c041c02df9bd3d2ac0f19eb552fcfb8134784386a2197956b1dd4950c760ca6ac9e8fb154eb550d59fc6ab1aea9c9236e7e005882d556a
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17-r1.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17-r1.ebuild
index b2dfeab26fe9..32c818f519ed 100644
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17-r1.ebuild
+++ b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17-r1.ebuild
@@ -11,7 +11,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17.ebuild
deleted file mode 100644
index c1c22114f553..000000000000
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-17.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib
-
-DESCRIPTION="Symlinks to use LLVM on binutils-free system"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-S=${WORKDIR}
-
-LICENSE="public-domain"
-SLOT="${PV}"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="multilib-symlinks +native-symlinks"
-
-RDEPEND="
- sys-devel/llvm:${SLOT}
-"
-
-src_install() {
- use native-symlinks || return
-
- local tools=(
- addr2line ar dlltool nm objcopy objdump ranlib readelf size
- strings strip windres
- )
- local chosts=( "${CHOST}" )
- if use multilib-symlinks; then
- local abi
- for abi in $(get_all_abis); do
- chosts+=( "$(get_abi_CHOST "${abi}")" )
- done
- fi
-
- local chost t
- local dest=/usr/lib/llvm/${SLOT}/bin
- dodir "${dest}"
- for t in "${tools[@]}"; do
- dosym "llvm-${t}" "${dest}/${t}"
- done
- for chost in "${chosts[@]}"; do
- for t in "${tools[@]}"; do
- dosym "llvm-${t}" "${dest}/${chost}-${t}"
- done
- done
-}
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18-r1.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18-r1.ebuild
index 0f622a6f7cbb..751321457456 100644
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18-r1.ebuild
+++ b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18-r1.ebuild
@@ -11,7 +11,7 @@ S=${WORKDIR}
LICENSE="public-domain"
SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="multilib-symlinks +native-symlinks"
RDEPEND="
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18.ebuild
deleted file mode 100644
index f2b54e72f590..000000000000
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-18.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib
-
-DESCRIPTION="Symlinks to use LLVM on binutils-free system"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-S=${WORKDIR}
-
-LICENSE="public-domain"
-SLOT="${PV}"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="multilib-symlinks +native-symlinks"
-
-RDEPEND="
- sys-devel/llvm:${SLOT}
-"
-
-src_install() {
- use native-symlinks || return
-
- local tools=(
- addr2line ar dlltool nm objcopy objdump ranlib readelf size
- strings strip windres
- )
- local chosts=( "${CHOST}" )
- if use multilib-symlinks; then
- local abi
- for abi in $(get_all_abis); do
- chosts+=( "$(get_abi_CHOST "${abi}")" )
- done
- fi
-
- local chost t
- local dest=/usr/lib/llvm/${SLOT}/bin
- dodir "${dest}"
- for t in "${tools[@]}"; do
- dosym "llvm-${t}" "${dest}/${t}"
- done
- for chost in "${chosts[@]}"; do
- for t in "${tools[@]}"; do
- dosym "llvm-${t}" "${dest}/${chost}-${t}"
- done
- done
-}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 1d2fbf1a5b95..6b1f1c2a8c2e 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -4,11 +4,9 @@ DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b5
DIST llvm-18.1.0-manpages.tar.bz2 270429 BLAKE2B d85d6e23197184dc512019c25805af0aa145eefb4c36215807c1ba70ad47943c05c06dbaafd84a7e6487bdd83814e03277374e095d97b129e3fc8d468c10741c SHA512 5f492c85fad4e04e0148ea509f4b6520de9e2765c51e617363a11aa8e47c2d847f6b0897958ca1d93bccf0f6a9150868b7e04c728bd430c05bf2da30bdeba6cc
DIST llvm-19.1.0-manpages.tar.bz2 286165 BLAKE2B d96df2e748d2d52af2e8b7023f59af9ab53a9e59480ff228726bf629f1ecd813af80f3ba4126919092beb7ad8214193e828f997d300c705b0d8b90d6aedb22ee SHA512 aed63dee6629fe9116a9ce21e8bfb0e2c0b80ad276c6551f445ef01c71e130fef1615679adba8386ab57cac5104a153919e0b0df6bd66e023c5f0398081d2374
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
-DIST llvm-gentoo-patchset-15.0.7-r6.tar.xz 25208 BLAKE2B c9fca31a053ee059c3060a94dcf675d472fc1a59b5f927648de58fb4ff20bfc229890f789ed47b3d053bd466b860a0c60a53b4b024a8fe18c776e9a72434d6de SHA512 601cd923711839dca7cb5bfea53ded644777c6340265a797939a53409fd2ca27059a015fd6ca6832e60314699ade27919a9a59dab395cc27f8fdc479a0f3c034
DIST llvm-gentoo-patchset-15.0.7-r7.tar.xz 26012 BLAKE2B a3b6059e18e1347b1da18ef6eb66e12de8980d1fe6b7e92189dd1ce36b16e31d940e45e5f99bd53c30a5780c26ff0686adf5373d3469b8a9b3c5f44d83827832 SHA512 3eb7c36793a6fa0ff585a7732287f6a14141e6c9c9a20b37390303d46372ee9d9a768597e64c77de0731d9aa4c26295f26b36bbc26c69dfbd8ab14cb2564a171
DIST llvm-gentoo-patchset-16.0.6-r5.tar.xz 19728 BLAKE2B 36b605401893034b2b560d26cfb57512c81eddbc35b25d9c3d1fe051b8825c38cae1b8ed999faf8fef564ca5578402d3979bc56ba0a5514dc62594d893696f41 SHA512 20a36b69dfc2b4796ce33318a28529ebdc213945ee67a983e4218117d2ee2c93be1ecb38b0e8189249c5806a442cba708e0890e1b7bf6376edec4403bcc71425
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
-DIST llvm-gentoo-patchset-17.0.6-r2.tar.xz 3664 BLAKE2B b3d61090bec41469027115f1a7b9c51ff2cd720a5363c755da7c87c120e4c85b5a2b4d65b95e418f15d947e580824d267a5ee86336f2d9272e58ec24fa2acaf7 SHA512 4be3d2fefce3f5b6b8f64632ff47a53d4de8a20b276e538527ba01a1a663c2846e1eba28fdd70364e583884618d94ee774791b1ca03fdda1fef8110b664e506c
DIST llvm-gentoo-patchset-17.0.6-r3.tar.xz 4648 BLAKE2B c709162068e83575f71a2ac2243665f47a3d42cac078daa5762bbd339d8593e8c1c5c58e2e415ba6659fe2f3c3824bd098c9be579103362084079140c0386f76 SHA512 251a33f146fcbdbe51c9e1ad7b08c2cd7d062d0b136c833cda8a5155c86080c506d575e4288cde4ba8530ca7f230c2afa63621878a8df0f23076a93c924e7d65
DIST llvm-gentoo-patchset-17.0.6.tar.xz 1792 BLAKE2B 21b34b436333c0b37522d4340cccc84a572701f6e267cf7c6adfa9be419913f5a6c9ee40a6be5c62d12fbd868912801d30381573c4459c05676e05785cccaefe SHA512 2d90b5e7fcbb950249ef7133fac1ed3dcb758a4d92732119049526cea0b291bd4e9738c4c0d806d70e7d769e1906f8ef3930066c206c00b6ec7d3509ed0fed19
DIST llvm-gentoo-patchset-18.1.8-r4.tar.xz 15912 BLAKE2B 7300128244aafe42fcf5863e3aad2beb0c96c3df527e6d35fe571369bad520ba4aa397a329287da17eb33dca902057da5cd5193ec560ea7f5767ba2d00a45818 SHA512 b32633db387d4adb3bb2d067f824ae4e8e8a24a25aaa4888520f6e61a4bb1f8f70ad5f44057fbc0892c6f93c803e360612b0fc02c4ec068470b546a55f246cba
@@ -21,25 +19,20 @@ DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e06541
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
-DIST llvm-project-19.1.0.src.tar.xz 141244872 BLAKE2B 972d028599006d528acdb0ff107b30af8bef247a0f174991646d07f0a47e7d237a5a1700ae668a9f4496295535d688eeeebe550669e78b0775aaab044f5b268e SHA512 396b34886f8442eeb5bc23152e8c2577e834d88f1d21a67829f9ca651b77c5ceb32df4e70c34dc1e6fea24abe45fa00f08502628de25fdbf32864f5b9066d23d
-DIST llvm-project-19.1.0.src.tar.xz.sig 438 BLAKE2B b044fcc6f331e75f9340e390ef8a95242a7f74e7c9835e67161fc4dd0ba0a8a5400e8ec4efd0fe50d2a9a9d950d0b37d5c0725868f450619b161a36ebded6a67 SHA512 d596d4942750818f489f114ff953a2b27e220abcf132d4d4ce0d910b73dfc283262507fc35cc0b61363c4af22cb9112dd7a662a89ea4b9667827fa1bde6785ed
DIST llvm-project-19.1.1.src.tar.xz 141244648 BLAKE2B 7c9250f99c8e5ae2097e89269ebf5bfdfb0fba8f67ab934377d24030c985013fe5475d0c9bd6d60a679e169772ad1723bc6e44ff9e4c7aed5627b9f1f1a2477a SHA512 84adab40ffb9ec236dbf203d86c08a0c2c651f98278a9d0936490c7901159eb26eabd3db9316013886b549426d4acb43b75d866f7dc670ab299bf93ba35b1891
DIST llvm-project-19.1.1.src.tar.xz.sig 438 BLAKE2B 6967194abf6939291abc716f862a46ea7c5e195b98eebc26928a57dbd5034f82a8ecb5b7cc1b7c2428168309308b19df1c7db828703e80d3f7bf578e3542874d SHA512 07bb7bffb2b035417d702ca47be9d5759250f1a2cd57606855027d458ceb972a293b45d3d93bcda195588986acbb5eace60524f4aecdc0da7aeb3a8414c37c31
-DIST llvm-project-41f1b467a29d2ca4e35df37c3aa79a0a8c04bc4f.tar.gz 218633363 BLAKE2B 9367923a4257e0ce01cf443eca790a567c6d9224126ebff15849c829f04dbac39aee60de1f28eab71ee4143341105c46466e1983e0f2a1a478e75fd5363a8d02 SHA512 eca094df135f184e2c3a42a3984ac353b7a8286446da80f042aef8047761f5f5cc6eeccb9bff6056ff0ddd1babe31a468e279b028b9618364f88ae9f26053c22
+DIST llvm-project-b837c9e289dab93c7f8a06876e3f70b6864f40ab.tar.gz 219631219 BLAKE2B d8a5d7de537ad91e94fc85dc0f624eba92f31cab2a345706250a66ad424fff151d5b86c430d993a35fd938095774411080cee4cab47a8258af348743dc145b56 SHA512 fe23f72b73553e3755af335a2a2a2225eafdcf2ed93191c9f4ac7bcf7b5b5391f73c2dccbb082279e0c7389a8f12b889a8d061389785cf9219ca861a8d4b41cc
DIST llvm-project-cde7b30268a85a3e7900a31534a97e7eb4de9236.tar.gz 219048549 BLAKE2B 53bdfea814b2cdf60bfdd27f6135b9f9d5156bdc78d22a361214399c5101b6fafaaefb9109377c1d977c67ebcb1feed69d6aaee0f2e38881480d68ac8be9b3d9 SHA512 0def6da5c2443753f37ba40a893b41dd5c7676b7be57102a5a6e820fe4fe235cad1da9a1c0eff1abc4c4ed5cc188522cae23afeddeee1876ea8ffde5c4f33b9f
EBUILD llvm-15.0.7-r3.ebuild 12592 BLAKE2B 81cd473990810203c4e8a47ceb0189ed399c869b85fab3181724dbd1429063cdaad1f6b6cb1ab5b392f531b0b4907cc61f266558b873b236f9a3ff439045aa37 SHA512 2321f9e6da93af22d5f074175a6a92b7dcd271e2b9b92128d268dd777a9c3bdd876010740153734e2593b90d26a58d4f784b2256a6b1e18160d13b3c10441fb3
-EBUILD llvm-15.0.7-r6.ebuild 12599 BLAKE2B e180c4c343c9ca4e0a69118676cbdfd0787ace210fd638db0cb6a115b05dd1e10142c6dfb088c2d195f340cc81c3b997542c5957bf784ff4df1e7e577d24f440 SHA512 3f3b5a67a2188ae5063a9080abfc9be468a0ced00d2ef865c9ccef9a363d39f781b2be45743bc676dfcb738a3d2894c7e307588ecc7768394d2e11574d82b167
EBUILD llvm-15.0.7-r7.ebuild 12599 BLAKE2B 1944e6a99f5eb6d303f3d05495378956c0022076b63507cbae1a546938e8e2c2ef71c32c6323469a2d7b69d2b269a72a408723198d03fbfff5f15bb3f654ed82 SHA512 ba608bfeceddefee6834b110a538b176ba1b31135a7be939fae86dadb2de51324e653ccb2f27bf5aa93223722c21f176586f2865fc85771ce35f9dc33b259a44
EBUILD llvm-16.0.6-r5.ebuild 12832 BLAKE2B c63736426def1e30266dc43dba9c6b2d47767fde332b0165f53beaec85bed33a2f3cf0cc8f213769bb3167060ea8f940f82a645dd7e2ead39e9c5efad2d59a17 SHA512 33003aa6e8e55a2696c2b0831b83a1bfe947ce25b9b5c6d9035d085f016c134e8f549a28c26a47854fb07e3735432848377f0a50d26654b4bef209e6e63b15f6
EBUILD llvm-16.0.6.ebuild 12822 BLAKE2B fe0a8bca0506827f09ea9edc18e8574443af644540cec84126fa3668ca8fa538a103c76315ee7c61b0af67a1391168ae7b04201e7825958a46fe8642a327e93b SHA512 a1a861d11791cb583dc33b9c71a86bd50690ffb8b743a6bccf8b4600976f48e96a2b4171cc9b449c17c8b0516ef440cee89df8cff97a3c691968b3431a149612
-EBUILD llvm-17.0.6-r2.ebuild 13303 BLAKE2B 292bff5aa3489c685c2a89ba55a6e4d0c06123cfcf6986c934494b1bc28a93f8768f8cac04f86eca44595167b6ce8b0c84548db45c4e810bdbbfb3f42660048a SHA512 2a7c8fb5a691acc9293c7bd39b2c7e0354420556ae7d9a02df35e550f2668063d690e9f8453da22f76cfe1e39132ba4af8e95112f4de8e8486521d8c5e81dfd6
EBUILD llvm-17.0.6-r3.ebuild 13303 BLAKE2B 82441400486b9478d70bdff84a96ba576d52fdfd36b4bdb74b0d7cbeb988a4916e17a0f4d0ad8d80d327809643328ed5c1664101061e7254bc4483ab2065b471 SHA512 ecd5c54763055f5bee2ac2c34258fbc3586f3193274312608a1108cbd2d8dc6f89a836ac2184107014840b7e9133814f3b500635a6f64697244400d444f7bd58
EBUILD llvm-17.0.6.ebuild 13293 BLAKE2B 50e4212c63f1561f4fc8397a831f83bd3ea370349fa3b6239dfe2f9212757f6e8d5bb1921b8714680fe94d0f02ca523d289447b1396124aa94f91b539aabb17a SHA512 5b2b1d2293cf00d0c547a06111a0af706b2cad1f7cb5f2cc421f54a129c165560adbba4342d9bea486d5b2474a1eed066f1ae955a89133cd94b61a62313980bb
EBUILD llvm-18.1.8-r1.ebuild 13372 BLAKE2B cb78f1c21e29ec1987c52edeebdc3d0200ec0b6f5d4b6443b2fd62eda6e3cafcc4bf849cd0bd1112f899904f3816970f5f4672f9c7a51f400bb39ce924d023d4 SHA512 9246e225b934b64e982c3d4399faea476871845616f979fa6d7eed832a75f879d611f85a29e04ca768bd6690945f24a3e7eebdbe8b81f156299b37965944ec91
EBUILD llvm-18.1.8-r4.ebuild 13382 BLAKE2B 2d52ad708ed578868b700b97cc581ea732147219b9b71d4ced6dbe2553054e2524ba0971e051934b610d5aaa4e6a164e14c56be9961637349b37d9bafa97916b SHA512 4e67d7e9ceb174d8b9135e330ff5371e385d0253f6d8f6c7058840de7dc7819a5711670fa6ca0b487d9f4985de20987c0d69ee1809e131fbea029029643da475
-EBUILD llvm-19.1.0.ebuild 13162 BLAKE2B 293856e63ed74df233a0e31d0d143ad7c950dfcdda8af786994352dc75448d3eeb5ef1b7d52e8abb4f2f7cc6864874eedd4e2d295bc5227b03a74429331d22be SHA512 7c21b5d6266b2c00cd194293ca863804de05b816d1e8391ace2beb09477781d63238c80ed303b921c16a26467a3b44a0acafe44c8cc8987da6ba932a1a019bb2
EBUILD llvm-19.1.1.ebuild 13162 BLAKE2B 293856e63ed74df233a0e31d0d143ad7c950dfcdda8af786994352dc75448d3eeb5ef1b7d52e8abb4f2f7cc6864874eedd4e2d295bc5227b03a74429331d22be SHA512 7c21b5d6266b2c00cd194293ca863804de05b816d1e8391ace2beb09477781d63238c80ed303b921c16a26467a3b44a0acafe44c8cc8987da6ba932a1a019bb2
EBUILD llvm-20.0.0.9999.ebuild 13152 BLAKE2B 8b157cde59f8cddf7393d5db87992e7154bb733eae7c13cfbd28a195ba0d40ccaa00b5264ba00d1c5d9be452e7d6251c74ecd38a97f49a2ac5b108392de1f2de SHA512 51b5728a89f5ff7d92af282e3b914276ddcd5e301a87d3c73f4504739cad16442271aa404c29b9cf6a0dffabf19ff0ef56c9617e5dfd333dec50118afdadce5c
-EBUILD llvm-20.0.0_pre20240917.ebuild 13152 BLAKE2B 8b157cde59f8cddf7393d5db87992e7154bb733eae7c13cfbd28a195ba0d40ccaa00b5264ba00d1c5d9be452e7d6251c74ecd38a97f49a2ac5b108392de1f2de SHA512 51b5728a89f5ff7d92af282e3b914276ddcd5e301a87d3c73f4504739cad16442271aa404c29b9cf6a0dffabf19ff0ef56c9617e5dfd333dec50118afdadce5c
EBUILD llvm-20.0.0_pre20240924.ebuild 13152 BLAKE2B 8b157cde59f8cddf7393d5db87992e7154bb733eae7c13cfbd28a195ba0d40ccaa00b5264ba00d1c5d9be452e7d6251c74ecd38a97f49a2ac5b108392de1f2de SHA512 51b5728a89f5ff7d92af282e3b914276ddcd5e301a87d3c73f4504739cad16442271aa404c29b9cf6a0dffabf19ff0ef56c9617e5dfd333dec50118afdadce5c
+EBUILD llvm-20.0.0_pre20241004.ebuild 13152 BLAKE2B 8b157cde59f8cddf7393d5db87992e7154bb733eae7c13cfbd28a195ba0d40ccaa00b5264ba00d1c5d9be452e7d6251c74ecd38a97f49a2ac5b108392de1f2de SHA512 51b5728a89f5ff7d92af282e3b914276ddcd5e301a87d3c73f4504739cad16442271aa404c29b9cf6a0dffabf19ff0ef56c9617e5dfd333dec50118afdadce5c
MISC metadata.xml 2835 BLAKE2B 07816d714509d62c0e0a443cc4af1f1f049497de75431f80a981f662b4f2281a16655be3e733a26099d0d814d5ce26d80cee13aa7a4e8d079168846a8e02670f SHA512 292ccb0a05a0239b5b00c6a84be11b4b385900d6467a6a139af03588c61aff9ac0e4bbcd23e89b2a7d7947f7d8cf8ba9323f2539a6c563a338b73f5ac6ffd00f
diff --git a/sys-devel/llvm/llvm-15.0.7-r6.ebuild b/sys-devel/llvm/llvm-15.0.7-r6.ebuild
deleted file mode 100644
index ba86207405ca..000000000000
--- a/sys-devel/llvm/llvm-15.0.7-r6.ebuild
+++ /dev/null
@@ -1,520 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-inherit cmake flag-o-matic llvm.org multilib-minimal pax-utils python-any-r1 \
- 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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- 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
- 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_PATCHSET=${PV/_/-}-r6
-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)
- ;;
- # 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
- )
-
- 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-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
- # Workaround for bug #880677
- append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
- fi
-
- # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
- # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
- # LLVM with LTO anyway (which is not necessarily its fault).
- tc-is-gcc && filter-lto
-
- 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_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZLIB=FORCE_ON
- -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if [[ $(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.
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="libcxx"
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
-
-# Note: go bindings have no CMake rules at the moment
-# but let's kill the check in case they are introduced
-# if ! multilib_is_native_abi || ! use go; then
- mycmakeargs+=(
- -DGO_EXECUTABLE=GO_EXECUTABLE-NOTFOUND
- )
-# fi
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${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
-
- if tc-is-cross-compiler; then
- local tblgen="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${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
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- tc-env_build cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${LLVM_MAJOR} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-17.0.6-r2.ebuild b/sys-devel/llvm/llvm-17.0.6-r2.ebuild
deleted file mode 100644
index d65897481029..000000000000
--- a/sys-devel/llvm/llvm-17.0.6-r2.ebuild
+++ /dev/null
@@ -1,542 +0,0 @@
-# Copyright 1999-2024 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.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="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-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
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- )
- 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_PATCHSET=${PV}-r2
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # testing libraries
- LLVMTestingAnnotations|LLVMTestingSupport)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
-
- # testing libraries
- llvm_gtest
- llvm_gtest_main
- LLVMTestingAnnotations
- LLVMTestingSupport
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfo-analyzer
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- use debuginfod && out+=(
- llvm-debuginfod
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
- # Workaround for bug #880677
- append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
- fi
-
- # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
- # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
- # LLVM with LTO anyway (which is not necessarily its fault).
- tc-is-gcc && filter-lto
-
- 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_ZLIB=FORCE_ON
- -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
- -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
-
- use kernel_Darwin && mycmakeargs+=(
- # On Macos prefix, Gentoo doesn't split sys-libs/ncurses to libtinfo and
- # libncurses, but llvm tries to use libtinfo before libncurses, and ends up
- # using libtinfo (actually, libncurses.dylib) from system instead of prefix
- -DTerminfo_LIBRARIES=-lncurses
- # Use our libtool instead of looking it up with xcrun
- -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
- )
-
- # 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)"
-}
diff --git a/sys-devel/llvm/llvm-19.1.0.ebuild b/sys-devel/llvm/llvm-19.1.0.ebuild
deleted file mode 100644
index 64c63c9517cb..000000000000
--- a/sys-devel/llvm/llvm-19.1.0.ebuild
+++ /dev/null
@@ -1,548 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..13} )
-
-inherit cmake flag-o-matic 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="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="
- +binutils-plugin debug debuginfod doc exegesis libedit +libffi
- test 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}] )
- 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
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- )
- 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
-
-[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" doc? ( "
-BDEPEND+="
- $(python_gen_any_dep '
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ')
-"
-[[ -n ${LLVM_MANPAGE_DIST} ]] && BDEPEND+=" ) "
-
-python_check_deps() {
- llvm_are_manpages_built || return 0
-
- python_has_version -b "dev-python/myst-parser[${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)
- ;;
- # used by lldb
- LLVMDebuginfod)
- ;;
- # 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
-
- if has_version ">=sys-libs/glibc-2.40"; then
- # https://github.com/llvm/llvm-project/issues/100791
- rm -r test/tools/llvm-exegesis/X86/latency || die
- fi
-}
-
-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+=(
- # library used by lldb
- LLVMDebuginfod
-
- # 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
- reduce-chunk-list
- 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() {
- if use ppc && tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
- # Workaround for bug #880677
- append-flags $(test-flags-CXX -fno-ipa-sra -fno-ipa-modref -fno-ipa-icf)
- fi
-
- # ODR violations (bug #917536, bug #926529). Just do it for GCC for now
- # to avoid people grumbling. GCC is, anecdotally, more likely to miscompile
- # LLVM with LTO anyway (which is not necessarily its fault).
- tc-is-gcc && filter-lto
-
- 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_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_ZLIB=FORCE_ON
- -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
- -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}"
-
- -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
-
- use kernel_Darwin && mycmakeargs+=(
- # Use our libtool instead of looking it up with xcrun
- -DCMAKE_LIBTOOL="${EPREFIX}/usr/bin/${CHOST}-libtool"
- )
-
- # 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)"
-}
diff --git a/sys-devel/llvm/llvm-20.0.0_pre20240917.ebuild b/sys-devel/llvm/llvm-20.0.0_pre20241004.ebuild
index d01575f39051..d01575f39051 100644
--- a/sys-devel/llvm/llvm-20.0.0_pre20240917.ebuild
+++ b/sys-devel/llvm/llvm-20.0.0_pre20241004.ebuild
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index cfdeb9bba320..a64a43080877 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -3,9 +3,11 @@ AUX mold-2.33.0-icf.patch 1618 BLAKE2B 3c1953a854874218b532fa6db91b20a0625bb71d4
DIST mold-2.1.0.tar.gz 9278811 BLAKE2B b31e13f92177553adf5069cf35c8c75c7bc28f0af4d1726cdc0c6abc1c9d3baaa5be512c3a8fb9bc3c3110096a79e1c6751c701171769595a2234fc1fa8c441a SHA512 f1c98d349b35b4042109d71f7db6eb8d7d089dc3241735bbd7b5402d513dcc85ca17904828779e5fc8234650fa9fb97f47c3a2f3e89cc2fb3cb9e9110439e5a2
DIST mold-2.32.1.tar.gz 10010384 BLAKE2B b020d57df25d91fac9b6ef994e9f7f73b6736d18a73be3caebe03a851a1db1986abe395b5481a1e30e01f38362c3705cb5903251b7201c0003c745dee37a5148 SHA512 d38b12faf81ba8015fc0cdb52944ac94366877c3033871a92610087e036d75b3d072baf9bbf107a9029495521e067fb36c0809b5138f90976492547b39c33085
DIST mold-2.33.0.tar.gz 10061838 BLAKE2B 65c460035f3bdbc101120a27e30b70982d549a4222cf4beb1b7228c0c961afd3eb8928cacde5be20734a80a80765eb60e6d961bd5cb001ecaef1aba1152730b9 SHA512 67c41ae33f8a229f32aabf32ffb8bcb261eff047dedd189b8751e5de43ef12a2dbd05f45632c8baeac2ceff99c40256256d7d5c790cc12e4fecf1dc3cfebeb11
+DIST mold-2.34.0.tar.gz 10056591 BLAKE2B 88ee86c7f78b05cc79d67152a2f5cad7c88e2155f47674f2fe5aca5ef66c7cad607154f4a52cbd97e720a24e1b25ecf8452a88e626e9cf1c4d3f76401df5644d SHA512 b252f873f6fd4aa2e63344017c57e0bcff3fda5db86e4db2587b29ac1e44ee34a1a36c3b96b08bf607909dc5e877fa59617c32f7399ebe09591f84dd833c5bb5
EBUILD mold-2.1.0.ebuild 2169 BLAKE2B b91dec8fb9890052e06cf40124f7647833a6ea786d95d44863848bfff17c0ba335f28aaac08d6971a619dbb845b9091d1134bae47f70bd811d2fde0f9ca11066 SHA512 5d27926e5003e6bd24ee3baf8258ab043aa660b7a36918500283bbec9d991ad8ea6971add52579ba6ee10a7eeeb97a6dff3a7e065c7292ced42d2f0043e33d1e
EBUILD mold-2.32.1.ebuild 2448 BLAKE2B 88d6d168b5de620f787abf540531759dcba0be4830a71ee43bf23beb011d465b2a98f036365583dad411772a6ba1332d8d7dae3632592b7d8cd22424934b2991 SHA512 a5485b242d40e43ffcd2dfff62df1f54ca31b154acb98df4b90f23135cc61ef23d9e0950da47983d3f2362ca7d4435d3108f2c8f54814ce4730bbdc008c64dd3
EBUILD mold-2.33.0-r1.ebuild 2520 BLAKE2B eaffd7dd7ebe40218d9749a2a0032d7d220cab021b6c45720971f7f5561d6d11fa8eb4234b0503c57e5b2fd3d6db178d780359f353dc6f488a4359b1e8c42e17 SHA512 534ccf4969ccadc73691f04e1c466f1048ce4c076dd9166f40b4e138ee68b0cfc766f488e35109ab35d39cf0e054fdfe5087ceb15cbcc5de0eaeb52629001dfb
EBUILD mold-2.33.0.ebuild 2409 BLAKE2B 770982e41dec11dd488e13a581c75744239897bacc5f8742491f19d4fefe6718971e54ef274ce61e6cff9f83df0b97320a15aac26a6d970c11f1d6953ecce4bf SHA512 7f8968d75136cf5c763e5127a5f26cd60ab4bce97dc5048292393053788de2b17858738b67c43fffe9920f28b9694a7f54fc17da95bc6efd30c477b5ae6260f6
-EBUILD mold-9999.ebuild 2453 BLAKE2B 4764d3061876d7c287d7114c3b259255b1250f82fb49d249b28af22f9d25acd0b4328d800464bb262893519bc0e577f36ab4abedf2c7710d249fa99ab05655ae SHA512 9b080e79c9fa25000747f3f12f3b147be137537335986919170f4e2eee1e66e5d4a2e99a8a198aba9e2b714f67c51c1acbf5fd929b68e5954fa018b80c2e8e2d
+EBUILD mold-2.34.0.ebuild 2550 BLAKE2B 3f43cd81dd5f9332926d3271c24bfc32f0851dd92dfe6e5424a69bd61d964f38adf2f4094538939b14ce392132ef44dff0c4d97e749b6cf1dcf1c7049a22c5ed SHA512 9e04c92b9a3f7bfb33006c90642abd30fad9b96b8dd8d493dfd0ab83375e2cfb7c7fc6c2b8d9b50ae0ba4294bad84672236ca043eceb98e3e6e676369418c86a
+EBUILD mold-9999.ebuild 2550 BLAKE2B 3f43cd81dd5f9332926d3271c24bfc32f0851dd92dfe6e5424a69bd61d964f38adf2f4094538939b14ce392132ef44dff0c4d97e749b6cf1dcf1c7049a22c5ed SHA512 9e04c92b9a3f7bfb33006c90642abd30fad9b96b8dd8d493dfd0ab83375e2cfb7c7fc6c2b8d9b50ae0ba4294bad84672236ca043eceb98e3e6e676369418c86a
MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
diff --git a/sys-devel/mold/mold-2.34.0.ebuild b/sys-devel/mold/mold-2.34.0.ebuild
new file mode 100644
index 000000000000..456f654912e4
--- /dev/null
+++ b/sys-devel/mold/mold-2.34.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="A Modern Linker"
+HOMEPAGE="https://github.com/rui314/mold"
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/rui314/mold.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ # -alpha: https://github.com/rui314/mold/commit/3711ddb95e23c12991f6b8c7bfeba4f1421d19d4
+ KEYWORDS="-alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+fi
+
+# mold (MIT)
+# - xxhash (BSD-2)
+# - siphash ( MIT CC0-1.0 )
+LICENSE="MIT BSD-2 CC0-1.0"
+SLOT="0"
+IUSE="debug"
+
+RDEPEND="
+ app-arch/zstd:=
+ >=dev-cpp/tbb-2021.7.0-r1:=
+ dev-libs/blake3:=
+ sys-libs/zlib
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+pkg_pretend() {
+ # Requires a c++20 compiler, see #831473
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
+ die "${PN} needs at least gcc 10"
+ elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
+ die "${PN} needs at least clang 12"
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Needs unpackaged dwarfdump
+ rm test/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/run.sh || die
+ sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+ test/mold-wrapper{,2}.sh || die
+
+ # static-pie tests require glibc built with static-pie support
+ if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
+ rm test/{,ifunc-}static-pie.sh || die
+ fi
+}
+
+src_configure() {
+ use debug || append-cppflags "-DNDEBUG"
+
+ local mycmakeargs=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=ON
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ dobin "${BUILD_DIR}"/${PN}
+
+ # https://bugs.gentoo.org/872773
+ insinto /usr/$(get_libdir)/mold
+ doins "${BUILD_DIR}"/${PN}-wrapper.so
+
+ dodoc docs/{design,execstack}.md
+ doman docs/${PN}.1
+
+ dosym ${PN} /usr/bin/ld.${PN}
+ dosym ${PN} /usr/bin/ld64.${PN}
+ dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
+}
+
+src_test() {
+ export TEST_CC="$(tc-getCC)" \
+ TEST_GCC="$(tc-getCC)" \
+ TEST_CXX="$(tc-getCXX)" \
+ TEST_GXX="$(tc-getCXX)"
+ cmake_src_test
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 53b3beaf330c..456f654912e4 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -12,7 +12,8 @@ if [[ ${PV} == 9999 ]] ; then
inherit git-r3
else
SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+ # -alpha: https://github.com/rui314/mold/commit/3711ddb95e23c12991f6b8c7bfeba4f1421d19d4
+ KEYWORDS="-alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
fi
# mold (MIT)