summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-12-22 19:52:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-12-22 19:52:05 +0000
commitb6a0f46f7d2e1e21df70fb32169f7d9de85445f7 (patch)
tree2f1b6f7c25e85d70d737cd66c68673ed58e1108e /sys-devel
parent9173f73d44f3cbc858477bd71e7680ede7d98e0d (diff)
gentoo auto-resync : 22:12:2023 - 19:52:05
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10990 -> 10984 bytes
-rw-r--r--sys-devel/clang-common/Manifest10
-rw-r--r--sys-devel/clang-common/clang-common-14.0.6.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-15.0.7-r5.ebuild175
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20231119.ebuild227
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20231222.ebuild (renamed from sys-devel/clang-common/clang-common-18.0.0_pre20231129.ebuild)0
-rw-r--r--sys-devel/clang-runtime/Manifest4
-rw-r--r--sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild26
-rw-r--r--sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231129.ebuild39
-rw-r--r--sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231222.ebuild (renamed from sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231119.ebuild)0
-rw-r--r--sys-devel/clang-toolchain-symlinks/Manifest1
-rw-r--r--sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild59
-rw-r--r--sys-devel/clang/Manifest17
-rw-r--r--sys-devel/clang/clang-14.0.6-r1.ebuild447
-rw-r--r--sys-devel/clang/clang-14.0.6-r4.ebuild445
-rw-r--r--sys-devel/clang/clang-15.0.7-r1.ebuild485
-rw-r--r--sys-devel/clang/clang-18.0.0_pre20231129.ebuild473
-rw-r--r--sys-devel/clang/clang-18.0.0_pre20231222.ebuild (renamed from sys-devel/clang/clang-18.0.0_pre20231119.ebuild)0
-rw-r--r--sys-devel/clang/metadata.xml3
-rw-r--r--sys-devel/lld-toolchain-symlinks/Manifest1
-rw-r--r--sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r2.ebuild38
-rw-r--r--sys-devel/lld/Manifest9
-rw-r--r--sys-devel/lld/lld-14.0.6-r1.ebuild80
-rw-r--r--sys-devel/lld/lld-18.0.0_pre20231129.ebuild88
-rw-r--r--sys-devel/lld/lld-18.0.0_pre20231222.ebuild (renamed from sys-devel/lld/lld-18.0.0_pre20231119.ebuild)0
-rw-r--r--sys-devel/llvm-common/Manifest9
-rw-r--r--sys-devel/llvm-common/llvm-common-14.0.6.ebuild54
-rw-r--r--sys-devel/llvm-common/llvm-common-18.0.0_pre20231129.ebuild53
-rw-r--r--sys-devel/llvm-common/llvm-common-18.0.0_pre20231222.ebuild (renamed from sys-devel/llvm-common/llvm-common-18.0.0_pre20231119.ebuild)0
-rw-r--r--sys-devel/llvm-toolchain-symlinks/Manifest1
-rw-r--r--sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-14-r1.ebuild47
-rw-r--r--sys-devel/llvm/Manifest11
-rw-r--r--sys-devel/llvm/llvm-14.0.6-r4.ebuild516
-rw-r--r--sys-devel/llvm/llvm-18.0.0_pre20231129.ebuild535
-rw-r--r--sys-devel/llvm/llvm-18.0.0_pre20231222.ebuild (renamed from sys-devel/llvm/llvm-18.0.0_pre20231119.ebuild)0
-rw-r--r--sys-devel/llvmgold/Manifest1
-rw-r--r--sys-devel/llvmgold/llvmgold-14.ebuild23
37 files changed, 12 insertions, 3889 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 4b662658a5ce..619aff37d850 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 d59f11b74665..026f929f2509 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -1,21 +1,15 @@
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
-EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef
-EBUILD clang-common-15.0.7-r5.ebuild 5090 BLAKE2B 39974630209630607d10903585223df68cd809fb390fc9eb2a80c4235ce70ae21120083f8eaf749c769a93f738c4e971e31e978dd637a0b87d07260281db4b83 SHA512 6cb37a7eb373d300d165e851e3643fd35e11d78a6a88617b4a8c0063b83558d10d307c32861e9ba2d0ac902c1cd2069ece6bd1446e309a6753f13adf8cd8fa2c
EBUILD clang-common-15.0.7-r7.ebuild 5462 BLAKE2B 098697c65115e672a1e878167997d820c93cad6a71c5a1dc17c731a031d37f20e50ef41e2f1d3238bc91065ba23bab5db4ab48e8274be9db3cb086ec6cdf7868 SHA512 7500bf0c4fde82b90aac68d09b95a49c241fae8b0d2340f7780e9baed1c85d855e45c4296a7daaa0b831a07f442e0be4faf6510a335fa5c979b3061e28fdb99d
EBUILD clang-common-16.0.6-r2.ebuild 4972 BLAKE2B 7ce71ef4c5ca19ef5847c90a23662b30e028d97fba045ec64976a3093c94e65bc8b5b04535d2ecf9ec51526fedc6b2b264135162acedcfb6df88cf426ce36357 SHA512 490b4afdc3ebbac15152d8da7cb86b3f2030e7ea1c70b09542f8bfd839d0194b97ee979fffcfb19fba8cca97ecfe565a5e77968b9afd618851772d7ccf444624
EBUILD clang-common-17.0.6-r1.ebuild 7636 BLAKE2B 93b061d1a20fef63437ce3385c32b5a5c1dac613154b02e266e0763385d5553ac46ca972b8ebb8e84dafcc76e37084f0d60b8e910ec6599e2c798656d61b065a SHA512 88458c8325b9a60eda9e031d1773f1a5dbeabe4da39d3a306bdfab0908143759d1db64b46231089f2b4c4a5da337542c3c250b9c937d82df54058e04560e891a
EBUILD clang-common-18.0.0.9999.ebuild 7536 BLAKE2B c0e8010200824a7b6bd2c63682ae1a8ef3bfbc95a6188b6c585e74cdf4013c3082adb640ef2a9d6fe22caca6e685709e38ebfe7089e79a88996b123717089cee SHA512 d85cb3ef7d366b9dcc3163002fd4ccbe59dd03cdc80e2baeb5b1f13bce78204799236e9ddbde4fc0698ab016fb9d287fa174ad068c29eed09e40377eaf898646
-EBUILD clang-common-18.0.0_pre20231119.ebuild 6752 BLAKE2B 2284a2924d3a95030282729976e2b501b4965534a3401dbce2dae1ea95a10a82a927dad62426be98805d9c1b6aff67af6eac079d0e402c509e66766ca339a84f SHA512 d4ade666fc2dac27ed30099565b3defcd69457d29e9156d9e4034b6fa51ce9a6229e767cb319b18f5ec3c18df4905efa75f98c56f242341094aeffbe53547b9c
-EBUILD clang-common-18.0.0_pre20231129.ebuild 7536 BLAKE2B c0e8010200824a7b6bd2c63682ae1a8ef3bfbc95a6188b6c585e74cdf4013c3082adb640ef2a9d6fe22caca6e685709e38ebfe7089e79a88996b123717089cee SHA512 d85cb3ef7d366b9dcc3163002fd4ccbe59dd03cdc80e2baeb5b1f13bce78204799236e9ddbde4fc0698ab016fb9d287fa174ad068c29eed09e40377eaf898646
EBUILD clang-common-18.0.0_pre20231215.ebuild 7536 BLAKE2B c0e8010200824a7b6bd2c63682ae1a8ef3bfbc95a6188b6c585e74cdf4013c3082adb640ef2a9d6fe22caca6e685709e38ebfe7089e79a88996b123717089cee SHA512 d85cb3ef7d366b9dcc3163002fd4ccbe59dd03cdc80e2baeb5b1f13bce78204799236e9ddbde4fc0698ab016fb9d287fa174ad068c29eed09e40377eaf898646
+EBUILD clang-common-18.0.0_pre20231222.ebuild 7536 BLAKE2B c0e8010200824a7b6bd2c63682ae1a8ef3bfbc95a6188b6c585e74cdf4013c3082adb640ef2a9d6fe22caca6e685709e38ebfe7089e79a88996b123717089cee SHA512 d85cb3ef7d366b9dcc3163002fd4ccbe59dd03cdc80e2baeb5b1f13bce78204799236e9ddbde4fc0698ab016fb9d287fa174ad068c29eed09e40377eaf898646
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-14.0.6.ebuild b/sys-devel/clang-common/clang-common-14.0.6.ebuild
deleted file mode 100644
index 38e08a5dea81..000000000000
--- a/sys-devel/clang-common/clang-common-14.0.6.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-
-PDEPEND="
- sys-devel/clang:*
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-src_install() {
- newbashcomp bash-autocomplete.sh clang
-}
diff --git a/sys-devel/clang-common/clang-common-15.0.7-r5.ebuild b/sys-devel/clang-common/clang-common-15.0.7-r5.ebuild
deleted file mode 100644
index 8d526d297a03..000000000000
--- a/sys-devel/clang-common/clang-common-15.0.7-r5.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="
- default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened stricter
-"
-
-PDEPEND="
- sys-devel/clang:*
- default-compiler-rt? (
- sys-devel/clang-runtime[compiler-rt]
- llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] )
- !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
- )
- !default-compiler-rt? ( sys-devel/gcc )
- default-libcxx? ( >=sys-libs/libcxx-${PV} )
- !default-libcxx? ( sys-devel/gcc )
- default-lld? ( sys-devel/lld )
- !default-lld? ( sys-devel/binutils )
-"
-IDEPEND="
- !default-compiler-rt? ( sys-devel/gcc-config )
- !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
- [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
- local flag missing_flags=()
- for flag in default-{compiler-rt,libcxx,lld}; do
- if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then
- missing_flags+=( "${flag}" )
- fi
- done
-
- if [[ ${missing_flags[@]} ]]; then
- eerror "It seems that you have the following flags set on sys-devel/clang:"
- eerror
- eerror " ${missing_flags[*]}"
- eerror
- eerror "The default runtimes are now set via flags on sys-devel/clang-common."
- eerror "The build is being aborted to prevent breakage. Please either set"
- eerror "the respective flags on this ebuild, e.g.:"
- eerror
- eerror " sys-devel/clang-common ${missing_flags[*]}"
- eerror
- eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
- die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common"
- fi
-}
-
-src_install() {
- newbashcomp bash-autocomplete.sh clang
-
- insinto /etc/clang
- newins - gentoo-runtimes.cfg <<-EOF
- # This file is initially generated by sys-devel/clang-runtime.
- # It is used to control the default runtimes using by clang.
-
- --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
- --unwindlib=$(usex default-compiler-rt libunwind libgcc)
- --stdlib=$(usex default-libcxx libc++ libstdc++)
- -fuse-ld=$(usex default-lld lld bfd)
- EOF
-
- newins - gentoo-gcc-install.cfg <<-EOF
- # This file is maintained by gcc-config.
- # It is used to specify the selected GCC installation.
- EOF
-
- newins - gentoo-common.cfg <<-EOF
- # This file contains flags common to clang, clang++ and clang-cpp.
- @gentoo-runtimes.cfg
- @gentoo-gcc-install.cfg
- @gentoo-hardened.cfg
- EOF
-
- # Baseline hardening (bug #851111)
- # (-fstack-clash-protection is omitted because of a possible Clang bug,
- # see bug #892537 and bug #865339.)
- newins - gentoo-hardened.cfg <<-EOF
- # Some of these options are added unconditionally, regardless of
- # USE=hardened, for parity with sys-devel/gcc.
- -fstack-protector-strong
- -fPIE
- -include "${EPREFIX}/usr/include/gentoo/fortify.h"
- EOF
-
- dodir /usr/include/gentoo
-
- local fortify_level=$(usex hardened 3 2)
- # We have to do this because glibc's headers warn if F_S is set
- # without optimization and that would at the very least be very noisy
- # during builds and at worst trigger many -Werror builds.
- cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
- #ifdef __clang__
- # pragma clang system_header
- #endif
- #ifndef _FORTIFY_SOURCE
- # if defined(__has_feature)
- # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
- # else
- # define __GENTOO_HAS_FEATURE(x) 0
- # endif
- #
- # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
- # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
- # define _FORTIFY_SOURCE ${fortify_level}
- # endif
- # endif
- # undef __GENTOO_HAS_FEATURE
- #endif
- EOF
-
- if use hardened ; then
- cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -D_GLIBCXX_ASSERTIONS
-
- # Analogue to GLIBCXX_ASSERTIONS
- # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
- -D_LIBCPP_ENABLE_ASSERTIONS=1
- EOF
- fi
-
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
- local tool
- for tool in clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
-}
-
-pkg_preinst() {
- if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
- then
- local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
- if [[ -n ${gcc_path} ]]; then
- cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
- --gcc-install-dir="${gcc_path%%:*}"
- EOF
- fi
- fi
-}
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20231119.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20231119.ebuild
deleted file mode 100644
index b58ed6b486c2..000000000000
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20231119.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2023 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"
-IUSE="
- default-compiler-rt default-libcxx default-lld llvm-libunwind
- hardened
-"
-
-PDEPEND="
- sys-devel/clang:*
- default-compiler-rt? (
- sys-devel/clang-runtime[compiler-rt]
- llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] )
- !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
- )
- !default-compiler-rt? ( sys-devel/gcc )
- default-libcxx? ( >=sys-libs/libcxx-${PV}[static-libs] )
- !default-libcxx? ( sys-devel/gcc )
- default-lld? ( sys-devel/lld )
- !default-lld? ( sys-devel/binutils )
-"
-IDEPEND="
- !default-compiler-rt? ( sys-devel/gcc-config )
- !default-libcxx? ( sys-devel/gcc-config )
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-pkg_pretend() {
- [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
-
- local flag missing_flags=()
- for flag in default-{compiler-rt,libcxx,lld}; do
- if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then
- missing_flags+=( "${flag}" )
- fi
- done
-
- if [[ ${missing_flags[@]} ]]; then
- eerror "It seems that you have the following flags set on sys-devel/clang:"
- eerror
- eerror " ${missing_flags[*]}"
- eerror
- eerror "The default runtimes are now set via flags on sys-devel/clang-common."
- eerror "The build is being aborted to prevent breakage. Please either set"
- eerror "the respective flags on this ebuild, e.g.:"
- eerror
- eerror " sys-devel/clang-common ${missing_flags[*]}"
- eerror
- eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
- die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common"
- fi
-}
-
-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
- done
-
- newins - "${triple}-clang-cpp.cfg" <<-EOF
- # This configuration file is used by the ${triple}-clang-cpp driver.
- @gentoo-common.cfg
- EOF
-
- # 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
-}
-
-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.
- -fstack-clash-protection
- -fstack-protector-strong
- -fPIE
- -include "${EPREFIX}/usr/include/gentoo/fortify.h"
- EOF
-
- 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
- EOF
-
- dodir /usr/include/gentoo
-
- cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
- /* __has_include is an extension, but it's fine, because this is only
- for Clang anyway. */
- #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__)
- # include <stdc-predef.h>
- #endif
- EOF
-
- local fortify_level=$(usex hardened 3 2)
- # We have to do this because glibc's headers warn if F_S is set
- # without optimization and that would at the very least be very noisy
- # during builds and at worst trigger many -Werror builds.
- cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
- #ifdef __clang__
- # pragma clang system_header
- #endif
- #ifndef _FORTIFY_SOURCE
- # if defined(__has_feature)
- # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
- # else
- # define __GENTOO_HAS_FEATURE(x) 0
- # endif
- #
- # if defined(__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
-
- if use hardened ; then
- cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -D_GLIBCXX_ASSERTIONS
-
- # Analogue to GLIBCXX_ASSERTIONS
- # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
- # https://libcxx.llvm.org/Hardening.html#using-hardened-mode
- -D_LIBCPP_ENABLE_HARDENED_MODE=1
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -Wl,-z,now
- 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.
- doclang_cfg "${CHOST}"
-
- # 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
-}
-
-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-18.0.0_pre20231129.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20231222.ebuild
index c70a4d8bd045..c70a4d8bd045 100644
--- a/sys-devel/clang-common/clang-common-18.0.0_pre20231129.ebuild
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index 6ae7dfda2803..0c0e8600f72d 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -1,9 +1,7 @@
-EBUILD clang-runtime-14.0.6.ebuild 760 BLAKE2B 0f6cfb8536569ffe2a09305e71056309690ad1c8e92543e64025bd5e009eac35018ec22b2c0f80c12f3a527cc7e0bfe4ec1bfcb2dd9dea54106abf46b13e5592 SHA512 580efee12fe0e53447f5644fad248ebded8ae6cd8cb5871cb38bb3148091886b6fb9a57ac712d3158d5c3fc38c043b0bfbf62fc550a609752a42c23e605b0ded
EBUILD clang-runtime-15.0.7.ebuild 759 BLAKE2B d7b481faffc4da0a6dc1b4e708322cd17cd497dc75363bdb89e7fbb1ecb2aecd9cbf91bdf816505476c7aca2ec7b6fb9ef178705e6b77361d21a7a270404a70a SHA512 8128acfc92b1601e93ffca1fd4233456f8a28fbc4cc65a1782da25df48abd3af82d0128b31f12b966ca02ab1eafcd28016c4443d9c7f1d28bc3f951cfff5e07f
EBUILD clang-runtime-16.0.6.ebuild 1435 BLAKE2B dfbb6047c0541de72f3447fa61f00d96c2b7c4b96454fa82796f59bd2884ecdbb01539bf08741d3b5ed866b18f4003bca6878cac549b6ef46aa5c6a15bc56c85 SHA512 d63983cb60299866a743ff6b71279b433a10f011fc51e53f3d3d6d6b99dffc080ef0110e21b4dd6b8a54bceb47035d28bf670e6e81fd0939630b593912d77eb5
EBUILD clang-runtime-17.0.6.ebuild 1442 BLAKE2B ccd97064b84899371758ceab7640d2b9a3104e08dccbefc5523062437cec1358ab68773b96bbc8193d8cd52a2bac65e6687cb150127d953aa49ab7f8cb3dbcea SHA512 9b8639788a2bfab9fea6e717e684c4784ae6719ce8d6bb389d16d836df0b43d108be6c649b9aa17dfa60df7b3f490450d4d51e83dd80707467a844871b97535e
EBUILD clang-runtime-18.0.0.9999.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
-EBUILD clang-runtime-18.0.0_pre20231119.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
-EBUILD clang-runtime-18.0.0_pre20231129.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
EBUILD clang-runtime-18.0.0_pre20231215.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
+EBUILD clang-runtime-18.0.0_pre20231222.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild b/sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild
deleted file mode 100644
index 9837077e6c50..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-14.0.6.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-build
-
-DESCRIPTION="Meta-ebuild for clang runtime libraries"
-HOMEPAGE="https://clang.llvm.org/"
-
-LICENSE="metapackage"
-SLOT="$(ver_cut 1-3)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~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}] )
-"
diff --git a/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231129.ebuild b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231129.ebuild
deleted file mode 100644
index 1ce7130b4264..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib-build toolchain-funcs
-
-DESCRIPTION="Meta-ebuild for clang runtime libraries"
-HOMEPAGE="https://clang.llvm.org/"
-
-LICENSE="metapackage"
-SLOT="${PV%%.*}"
-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-18.0.0_pre20231119.ebuild b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231222.ebuild
index 1ce7130b4264..1ce7130b4264 100644
--- a/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231119.ebuild
+++ b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/clang-toolchain-symlinks/Manifest b/sys-devel/clang-toolchain-symlinks/Manifest
index 4cb1ef03ad40..b87171504e9b 100644
--- a/sys-devel/clang-toolchain-symlinks/Manifest
+++ b/sys-devel/clang-toolchain-symlinks/Manifest
@@ -1,4 +1,3 @@
-EBUILD clang-toolchain-symlinks-14-r2.ebuild 1148 BLAKE2B 8b5d73156c339aa1ce15ded8774f3d2aa9b02d9d410d2f92586cfe42278e53e81234b3f99d52d51c56bc57dac9d9fc295a83bf5e4fea84b9d15f39cf60bb01f2 SHA512 0b9cd3586734912c148f81154d19e46041f61aa92d62ab33a968ed1d2b81381a6f5b73e2716ca3d65ad3bc3ccc6f60b1b6c951901788b3c1cd72e4ffd0e81eb5
EBUILD clang-toolchain-symlinks-15-r2.ebuild 1141 BLAKE2B 21117f19b6d2aa9ff91a447578b3efc99eb5d940ef052e7b65bac90233176c5cb6b5696a939d839bb9c077613ff5f2d1ba0a479d56745252485e4fa0a3534528 SHA512 ff598c5572e2d003707e83302dd2b701cc9b7de7b1193d9e4527ea0631c7e19e9cc2aa6403bac32988a1b2421707c4dd0061ff01cc1e6ab125556fcf331e915e
EBUILD clang-toolchain-symlinks-16-r2.ebuild 1148 BLAKE2B 0dc5db3a5c817cb04fdc32a201cc4257f3df1e82a7086b275a1209ea7ef6a172f45a318743ffdc2099262028a369c2c657d07565aaf16dc8f0d991e2d73109ca SHA512 612bdab9aefe89fae98bfba5962bae334cf8b4c1c60e7e0f44137de012dc6f1728a10355395b30c7acf88ac1088e82a193120d2d9a34988102a1e383f71abec6
EBUILD clang-toolchain-symlinks-17.ebuild 1155 BLAKE2B 422014ec09d0b594c7c331cc930222ee328115c91e68f85a04e7f3f69cee1c46115f6b466516a9009d2159648cfb449fffb07716fd90e41d18753070f8d6fbc5 SHA512 92af73c9a3d098dd6336c79988d2eeef97ce08bcb7d2554196342d4719be8ea8e232776ed31c806cebd1b836b71b3e929d6e0b55a5d60735711522a1028d0323
diff --git a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild b/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild
deleted file mode 100644
index c53a8788368a..000000000000
--- a/sys-devel/clang-toolchain-symlinks/clang-toolchain-symlinks-14-r2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib
-
-DESCRIPTION="Symlinks to use Clang on GCC-free system"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-S=${WORKDIR}
-
-LICENSE="public-domain"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
-IUSE="gcc-symlinks multilib-symlinks +native-symlinks"
-
-# Blocker for bug #872416
-RDEPEND="
- !<sys-devel/gcc-config-2.6
- sys-devel/clang:${SLOT}
-"
-
-src_install() {
- local tools=()
-
- if use native-symlinks; then
- tools+=(
- cc:clang
- cpp:clang-cpp
- c++:clang++
- )
- fi
- if use gcc-symlinks; then
- tools+=(
- gcc:clang
- g++:clang++
- )
- fi
-
- 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 "${t#*:}" "${dest}/${t%:*}"
- done
- for chost in "${chosts[@]}"; do
- for t in "${tools[@]}"; do
- dosym "${t#*:}" "${dest}/${chost}-${t%:*}"
- done
- done
-}
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index 82e73f3969dd..07507eefde66 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -1,31 +1,20 @@
-DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-15.0.7-manpages.tar.bz2 228425 BLAKE2B 573b030a32407cfe241fb2c8c62bed8e7c54f9daf4b8cffdd2d4e5ca2e40b5ec5ed3724475aedf77119be1a4d9de847a989e933d315e6d94908e407a19c98047 SHA512 86d5eeea2757b0a627c8d2d6e70a3265fc0207085f4e473cdd6e8b624c719625dead23fd1737742a1bea27b1c4631ef3e8e3041a1122a85fcb49859e5bfbee49
DIST llvm-16.0.4-manpages.tar.bz2 243154 BLAKE2B 69308e3ec19d750e7249b7c8cd79224c466b879c67dd900e201339486fa7fa4dd6ef9ef5b033b2443b32c3530cc76564fe2856a76f9b466fdab2b5c64148f089 SHA512 2d2b711adbd20a233d0611f81393faa29a2f32f0e64799a9a48185876045023ca1320becd2da110fbcbfce019a38df0d7c13fcaea3770b4fc23aa732eb11321b
DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b53f11a37a23effea41a12322f6908bbe702dc1a97bfd10293061f01f1dbff8693e9324ab3dce2551e78eab128dbd7fea30 SHA512 963ff1b7aa0cb01ed0c0356a0adc3a315d94e78035e928dc81464f553e722633a17596e421c248968e87e22ae66f1ab9cccda5fd3388d1a6d34b5e9c6140ebcb
-DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
-DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd9d921196b8f93248b731083e79455d4609a05dd15b6847fc227359624abce683ecdaadaefea71dc9b65b7edd1fc3912123fa55054 SHA512 9ac57abc87a63cf31ecd021e6dd44f5f11cd6136fa3b92e89c52a6d13e0ed471f88e6e96160baeac4615eedff7943048a35a98c8d37387894c9c2d1f5df277ce
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
-DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
-EBUILD clang-14.0.6-r1.ebuild 12014 BLAKE2B 0f9eed7779a5b9aa8f92002f6f4d8e22e7baf3d3f6d1930e4716abf3aa00d866f68a682dc2a404655f53800e26c8b388da552184da6943287b2d91c5c1c2672b SHA512 c5e46f1044604f4e41cdb6c42d2079096c0bcdd396d99f8e95a6b5b66918e3519e4226741202f716fa5f53295188ec2bfcec66ae32480a8e10b4ab18bdb880ab
-EBUILD clang-14.0.6-r4.ebuild 11939 BLAKE2B c51ff82c0ab846a0b7e5f74460e000b0bab1ce165fbdf33a82da812a1b6adcb0e0a1dc5dcb6a4ff648f401a8507e6a2d6060d601a0620ce42a161b40571ed5ee SHA512 3ac82347c5c97c4ef2103611c4870664bb8f0a00f4d41683dfb165aa15d772941d9bace8157171fd2469e116e5b561549d0db63714ba53c1a440cde878c68588
-EBUILD clang-15.0.7-r1.ebuild 12617 BLAKE2B 780db8dc3c92efab35280d32f6b7d4ffcea912d7839b995a18aa603d0cf59df1199eabd53eb5a475e67da7a45e10fdd08e9879b871a25672f135dbdb001a5f46 SHA512 f6302415c9a4fb8571613ff5ebea4096f1318333ba4bc0f3c0b63b04eb0d10755c4555f55186875db0d34bb5d2c0b245b758aff387b97033bc643a1a291d1195
EBUILD clang-15.0.7-r3.ebuild 12545 BLAKE2B 5fa553863fb4932189fe38a3bf261b7dc8cce8897d186ca914ba56968b466fc4bbf2cdf05f9f0e92eebdf5fe6d956667399d03efde68192c116a277920d52b32 SHA512 429b0374e9cffda1b964159e8efa2476554395c2a11d584b46e23f9a8c5da6c3f107b2dd4b0c0fe49e7a34fcff001d3164f1971744a1049e984b175c0cae557a
EBUILD clang-16.0.6.ebuild 12462 BLAKE2B 532fbc03f98a4135371238de3f3d933ac321d4ecccb1e1ce2511563a6529a7bd55444dcdfa4b46140b4b592e1174d534be82e9b29fb1161522253e25c86f75fe SHA512 6e2dc62b7281caf5aa2378eb19f8c24023b62814be4f82e678ee8b98f92cc032de64d5feef0f29c7512aadb34a16b8f50e05a8eadc3bf6663f71504045ad3822
EBUILD clang-17.0.6.ebuild 12145 BLAKE2B 6470f6623bba6514bc91dd71435414f8e337ac83242c3542fee07848a8e4f95c8c5b16922d2a617855068d970687f84c043da7e7c92164da17833717bf08f3fe SHA512 5853c832b8588ab2a0013dfb4060896eaad5a6d21d7516124d18f6b47ce635a998d3306f0b3ff5f6dcec2aaf27699a142dff6ecb6dfe04790ea10a054b84ac36
EBUILD clang-18.0.0.9999.ebuild 12053 BLAKE2B 82acbf1a0b5b6e40a1541cfc5ebdcfe1f2dc38d4927cb0ada69da41c80c2364477366f5cdaf2c37e9117f3000ab566bd3f47c8fee5b37f26abb1b1c3d535c911 SHA512 0aac9f780dea68b0369fa87ed8537d181dc09d2d40b6e7254bfbf8330f775c1d81c78397bf249a975d80bb50ce23346da3e5b6f6152b29cf548f1ceacf5165be
-EBUILD clang-18.0.0_pre20231119.ebuild 12053 BLAKE2B 82acbf1a0b5b6e40a1541cfc5ebdcfe1f2dc38d4927cb0ada69da41c80c2364477366f5cdaf2c37e9117f3000ab566bd3f47c8fee5b37f26abb1b1c3d535c911 SHA512 0aac9f780dea68b0369fa87ed8537d181dc09d2d40b6e7254bfbf8330f775c1d81c78397bf249a975d80bb50ce23346da3e5b6f6152b29cf548f1ceacf5165be
-EBUILD clang-18.0.0_pre20231129.ebuild 12053 BLAKE2B 82acbf1a0b5b6e40a1541cfc5ebdcfe1f2dc38d4927cb0ada69da41c80c2364477366f5cdaf2c37e9117f3000ab566bd3f47c8fee5b37f26abb1b1c3d535c911 SHA512 0aac9f780dea68b0369fa87ed8537d181dc09d2d40b6e7254bfbf8330f775c1d81c78397bf249a975d80bb50ce23346da3e5b6f6152b29cf548f1ceacf5165be
EBUILD clang-18.0.0_pre20231215.ebuild 12053 BLAKE2B 82acbf1a0b5b6e40a1541cfc5ebdcfe1f2dc38d4927cb0ada69da41c80c2364477366f5cdaf2c37e9117f3000ab566bd3f47c8fee5b37f26abb1b1c3d535c911 SHA512 0aac9f780dea68b0369fa87ed8537d181dc09d2d40b6e7254bfbf8330f775c1d81c78397bf249a975d80bb50ce23346da3e5b6f6152b29cf548f1ceacf5165be
-MISC metadata.xml 1600 BLAKE2B 8e49e099132445cf695e904acad8a699f3d8c4c1e4cd6ba9d0b97180dfa5b67e9c30b00d1e4cb6cd2f61b27f022accc8d6ee889c6569fc58fbc058186ad216fc SHA512 96b7cf4988ff1fd923ec87311caed458b64888b5acaaf20cc1ad893f2a963158f7f59398f9fd4f9e65cab3df265c0d002048ff874f7a76b94f36377bf9e8f5f6
+EBUILD clang-18.0.0_pre20231222.ebuild 12053 BLAKE2B 82acbf1a0b5b6e40a1541cfc5ebdcfe1f2dc38d4927cb0ada69da41c80c2364477366f5cdaf2c37e9117f3000ab566bd3f47c8fee5b37f26abb1b1c3d535c911 SHA512 0aac9f780dea68b0369fa87ed8537d181dc09d2d40b6e7254bfbf8330f775c1d81c78397bf249a975d80bb50ce23346da3e5b6f6152b29cf548f1ceacf5165be
+MISC metadata.xml 1318 BLAKE2B 704c1a64297b25da1b2e0eec23cbdf4791273da1babf23292160b6163d43438e62fe214df7afa09232893599951918440954c17a9bfa0c6f829a7d706f564192 SHA512 4677ad146739dd41e025a2335eec353a3d35ac8db7482948fee611566d84b41c4e6bdd75bc3d78f8933d4d9818a36bf222e1aa89e52f945501ff918479fea3b6
diff --git a/sys-devel/clang/clang-14.0.6-r1.ebuild b/sys-devel/clang/clang-14.0.6-r1.ebuild
deleted file mode 100644
index cab7a426dbeb..000000000000
--- a/sys-devel/clang/clang-14.0.6-r1.ebuild
+++ /dev/null
@@ -1,447 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit cmake llvm llvm.org multilib multilib-minimal \
- prefix python-single-r1 toolchain-funcs flag-o-matic
-
-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="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x64-macos"
-IUSE="
- debug default-compiler-rt default-libcxx default-lld doc
- llvm-libunwind +pie +static-analyzer test xml
-"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- sys-devel/clang-common
- ~sys-devel/clang-runtime-${PV}
- default-compiler-rt? (
- =sys-libs/compiler-rt-${PV%_*}*
- llvm-libunwind? ( sys-libs/llvm-libunwind )
- !llvm-libunwind? ( sys-libs/libunwind )
- )
- default-libcxx? ( >=sys-libs/libcxx-${PV} )
- default-lld? ( sys-devel/lld )
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/lib/Testing/Support
- llvm/utils/{lit,llvm-lit,unittest}
- llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
-)
-LLVM_PATCHSET=${PV}-r2
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-# target. However, you will need appropriate crt* files (installed
-# e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-# in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
- LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # create extra parent dir for relative CLANG_RESOURCE_DIR access
- mkdir -p x/y || die
- BUILD_DIR=${WORKDIR}/x/y/clang
-
- llvm.org_src_prepare
-
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
- eprefixify \
- lib/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
-
- # libs
- clang-cpp
- libclang
- )
-
- if multilib_is_native_abi; then
- out+=(
- # common stuff
- bash-autocomplete
- libclang-python-bindings
-
- # tools
- c-index-test
- clang
- clang-format
- clang-offload-bundler
- clang-offload-wrapper
- clang-refactor
- clang-repl
- clang-rename
- clang-scan-deps
- diagtool
- hmaptool
-
- # extra tools
- clang-apply-replacements
- clang-change-namespace
- clang-doc
- clang-include-fixer
- clang-move
- clang-query
- clang-reorder-fields
- clang-tidy
- clang-tidy-headers
- clangd
- find-all-symbols
- modularize
- pp-trace
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-clang-man
- docs-clang-tools-man
- )
- fi
-
- use doc && out+=(
- docs-clang-html
- docs-clang-tools-html
- )
-
- use static-analyzer && out+=(
- clang-check
- clang-extdef-mapping
- scan-build
- scan-build-py
- scan-view
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
-
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
- local mycmakeargs=(
- -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
- -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- # relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
-
- -DBUILD_SHARED_LIBS=OFF
- -DCLANG_LINK_CLANG_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- # these are not propagated reliably, so redefine them
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # disable using CUDA to autodetect GPU, just build for all
- -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-
- # override default stdlib and rtlib
- -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
- -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
- -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
- -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
- -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
-
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
-
- -DPython3_EXECUTABLE="${PYTHON}"
- )
- use test && mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
- -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
- mycmakeargs+=(
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
- -DCLANG_INCLUDE_DOCS=${build_docs}
- -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
- )
- else
- mycmakeargs+=(
- -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
-
- if [[ -n ${EPREFIX} ]]; then
- mycmakeargs+=(
- -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- # provide a symlink for tests
- if [[ ! -L ${WORKDIR}/lib/clang ]]; then
- mkdir -p "${WORKDIR}"/lib || die
- ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check-clang
- multilib_is_native_abi &&
- cmake_build check-clang-tools check-clangd
-}
-
-src_install() {
- MULTILIB_WRAPPED_HEADERS=(
- /usr/include/clang/Config/config.h
- )
-
- multilib-minimal_src_install
-
- # Move runtime headers to /usr/lib/clang, where they belong
- mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
- # move (remaining) wrapped headers back
- mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-
- # Apply CHOST and version suffix to clang tools
- # note: we use two version components here (vs 3 in runtime path)
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1 "${llvm_version}")
- local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
- local clang_tools=( clang clang++ clang-cl clang-cpp )
- local abi i
-
- # cmake gives us:
- # - clang-X
- # - clang -> clang-X
- # - clang++, clang-cl, clang-cpp -> clang
- # we want to have:
- # - clang-X
- # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X
- # also in CHOST variant
- for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
- done
-
- # now create target symlinks for all supported ABIs
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
- done
- done
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping & ABI mismatch checks
- # (also drop the version suffix from runtime headers)
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
- if multilib_is_native_abi; 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/${SLOT}/share/scan-view
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
- # match 'html' non-compression
- use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
- # +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow update all
- fi
-
- elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
- elog "Some of them are vim integration scripts (with instructions inside)."
- elog "The run-clang-tidy.py script requires the following additional package:"
- elog " dev-python/pyyaml"
-}
-
-pkg_postrm() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow clean all
- fi
-}
diff --git a/sys-devel/clang/clang-14.0.6-r4.ebuild b/sys-devel/clang/clang-14.0.6-r4.ebuild
deleted file mode 100644
index de4a1a3e8263..000000000000
--- a/sys-devel/clang/clang-14.0.6-r4.ebuild
+++ /dev/null
@@ -1,445 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit cmake llvm llvm.org multilib multilib-minimal \
- 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="$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x64-macos"
-IUSE="
- debug default-compiler-rt default-libcxx default-lld doc
- llvm-libunwind +pie +static-analyzer test xml
-"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${SLOT}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- sys-devel/clang-common
- ~sys-devel/clang-runtime-${PV}
- default-compiler-rt? (
- =sys-libs/compiler-rt-${PV%_*}*
- llvm-libunwind? ( sys-libs/llvm-libunwind )
- !llvm-libunwind? ( sys-libs/libunwind )
- )
- default-libcxx? ( >=sys-libs/libcxx-${PV} )
- default-lld? ( sys-devel/lld )
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/lib/Testing/Support
- llvm/utils/{lit,llvm-lit,unittest}
- llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
-)
-LLVM_PATCHSET=${PV}-r4
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-# target. However, you will need appropriate crt* files (installed
-# e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-# in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
- LLVM_MAX_SLOT=${SLOT} llvm_pkg_setup
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # create extra parent dir for relative CLANG_RESOURCE_DIR access
- mkdir -p x/y || die
- BUILD_DIR=${WORKDIR}/x/y/clang
-
- llvm.org_src_prepare
-
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
- eprefixify \
- lib/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
-
- # libs
- clang-cpp
- libclang
- )
-
- if multilib_is_native_abi; then
- out+=(
- # common stuff
- bash-autocomplete
- libclang-python-bindings
-
- # tools
- c-index-test
- clang
- clang-format
- clang-offload-bundler
- clang-offload-wrapper
- clang-refactor
- clang-repl
- clang-rename
- clang-scan-deps
- diagtool
- hmaptool
-
- # extra tools
- clang-apply-replacements
- clang-change-namespace
- clang-doc
- clang-include-fixer
- clang-move
- clang-query
- clang-reorder-fields
- clang-tidy
- clang-tidy-headers
- clangd
- find-all-symbols
- modularize
- pp-trace
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-clang-man
- docs-clang-tools-man
- )
- fi
-
- use doc && out+=(
- docs-clang-html
- docs-clang-tools-html
- )
-
- use static-analyzer && out+=(
- clang-check
- clang-extdef-mapping
- scan-build
- scan-build-py
- scan-view
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1-3 "${llvm_version}")
-
- local mycmakeargs=(
- -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
- -DLLVM_CMAKE_PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)/cmake/llvm"
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- # relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${clang_version}"
-
- -DBUILD_SHARED_LIBS=OFF
- -DCLANG_LINK_CLANG_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- # these are not propagated reliably, so redefine them
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # disable using CUDA to autodetect GPU, just build for all
- -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-
- # override default stdlib and rtlib
- -DCLANG_DEFAULT_CXX_STDLIB=$(usex default-libcxx libc++ "")
- -DCLANG_DEFAULT_RTLIB=$(usex default-compiler-rt compiler-rt "")
- -DCLANG_DEFAULT_LINKER=$(usex default-lld lld "")
- -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
- -DCLANG_DEFAULT_UNWINDLIB=$(usex default-compiler-rt libunwind "")
-
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
-
- -DPython3_EXECUTABLE="${PYTHON}"
- )
- use test && mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
- -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
- mycmakeargs+=(
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
- -DCLANG_INCLUDE_DOCS=${build_docs}
- -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
- )
- else
- mycmakeargs+=(
- -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
-
- if [[ -n ${EPREFIX} ]]; then
- mycmakeargs+=(
- -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- fi
-
- if tc-is-cross-compiler; then
- [[ -x "/usr/bin/clang-tblgen" ]] \
- || die "/usr/bin/clang-tblgen not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DCLANG_TABLEGEN=/usr/bin/clang-tblgen
- )
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- # provide a symlink for tests
- if [[ ! -L ${WORKDIR}/lib/clang ]]; then
- mkdir -p "${WORKDIR}"/lib || die
- ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check-clang
- multilib_is_native_abi &&
- cmake_build check-clang-tools check-clangd
-}
-
-src_install() {
- MULTILIB_WRAPPED_HEADERS=(
- /usr/include/clang/Config/config.h
- )
-
- multilib-minimal_src_install
-
- # Move runtime headers to /usr/lib/clang, where they belong
- mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
- # move (remaining) wrapped headers back
- mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-
- # Apply CHOST and version suffix to clang tools
- # note: we use two version components here (vs 3 in runtime path)
- local llvm_version=$(llvm-config --version) || die
- local clang_version=$(ver_cut 1 "${llvm_version}")
- local clang_full_version=$(ver_cut 1-3 "${llvm_version}")
- local clang_tools=( clang clang++ clang-cl clang-cpp )
- local abi i
-
- # cmake gives us:
- # - clang-X
- # - clang -> clang-X
- # - clang++, clang-cl, clang-cpp -> clang
- # we want to have:
- # - clang-X
- # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X
- # also in CHOST variant
- for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${SLOT}/bin/${i}" || die
- dosym "clang-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}-${clang_version}"
- dosym "${i}-${clang_version}" "/usr/lib/llvm/${SLOT}/bin/${i}"
- done
-
- # now create target symlinks for all supported ABIs
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- for i in "${clang_tools[@]}"; do
- dosym "${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}-${clang_version}"
- dosym "${abi_chost}-${i}-${clang_version}" \
- "/usr/lib/llvm/${SLOT}/bin/${abi_chost}-${i}"
- done
- done
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping & ABI mismatch checks
- # (also drop the version suffix from runtime headers)
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/$(get_libdir)/clang "${ED}"/usr/include/clangrt || die
- if multilib_is_native_abi; 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/${SLOT}/share/scan-view
- fi
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
- # match 'html' non-compression
- use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
- # +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${SLOT}/share/man/man1/scan-build.1"
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow update all
- fi
-
- elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/clang"
- elog "Some of them are vim integration scripts (with instructions inside)."
- elog "The run-clang-tidy.py script requires the following additional package:"
- elog " dev-python/pyyaml"
-}
-
-pkg_postrm() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow clean all
- fi
-}
diff --git a/sys-devel/clang/clang-15.0.7-r1.ebuild b/sys-devel/clang/clang-15.0.7-r1.ebuild
deleted file mode 100644
index 7141f0e0a887..000000000000
--- a/sys-devel/clang/clang-15.0.7-r1.ebuild
+++ /dev/null
@@ -1,485 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake llvm llvm.org multilib multilib-minimal \
- prefix python-single-r1 toolchain-funcs flag-o-matic
-
-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}g1"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x64-macos"
-IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
- >=sys-devel/clang-common-${PV}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
- ~sys-devel/clang-runtime-${PV}
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/lib/Testing/Support
- llvm/utils/{lit,llvm-lit,unittest}
- llvm/utils/{UpdateTestChecks,update_cc_test_checks.py}
-)
-LLVM_PATCHSET=${PV/_/-}
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-# target. However, you will need appropriate crt* files (installed
-# e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-# in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # create extra parent dir for relative CLANG_RESOURCE_DIR access
- mkdir -p x/y || die
- BUILD_DIR=${WORKDIR}/x/y/clang
-
- llvm.org_src_prepare
-
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
- eprefixify \
- lib/Lex/InitHeaderSearch.cpp \
- lib/Driver/ToolChains/Darwin.cpp || die
-
- if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
- sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # meta-targets
- clang-libraries|distribution)
- continue
- ;;
- # tools
- clang|clangd|clang-*)
- ;;
- # static libraries
- clang*|findAllSymbols)
- continue
- ;;
- # conditional to USE=doc
- docs-clang-html|docs-clang-tools-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # common stuff
- clang-cmake-exports
- clang-headers
- clang-resource-headers
- libclang-headers
-
- aarch64-resource-headers
- arm-common-resource-headers
- arm-resource-headers
- core-resource-headers
- cuda-resource-headers
- hexagon-resource-headers
- hip-resource-headers
- hlsl-resource-headers
- mips-resource-headers
- opencl-resource-headers
- openmp-resource-headers
- ppc-htm-resource-headers
- ppc-resource-headers
- riscv-resource-headers
- systemz-resource-headers
- utility-resource-headers
- ve-resource-headers
- webassembly-resource-headers
- windows-resource-headers
- x86-resource-headers
-
- # libs
- clang-cpp
- libclang
- )
-
- if multilib_is_native_abi; then
- out+=(
- # common stuff
- bash-autocomplete
- libclang-python-bindings
-
- # tools
- c-index-test
- clang
- clang-format
- clang-offload-bundler
- clang-offload-packager
- clang-offload-wrapper
- clang-refactor
- clang-repl
- clang-rename
- clang-scan-deps
- diagtool
- hmaptool
-
- # needed for cross-compiling Clang
- clang-tblgen
- )
-
- if use extra; then
- out+=(
- # extra tools
- clang-apply-replacements
- clang-change-namespace
- clang-doc
- 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() {
- tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
-
- 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_VERSION}"
-
- -DBUILD_SHARED_LIBS=OFF
- -DCLANG_LINK_CLANG_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- # these are not propagated reliably, so redefine them
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=$(usex !xml)
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # disable using CUDA to autodetect GPU, just build for all
- -DCMAKE_DISABLE_FIND_PACKAGE_CUDA=ON
-
- -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
-
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
-
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- if ! use elibc_musl; then
- mycmakeargs+=(
- -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double)
- )
- fi
-
- use test && mycmakeargs+=(
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
- -DLLVM_EXTERNAL_LIT="${BUILD_DIR}/bin/llvm-lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- if use extra; then
- mycmakeargs+=(
- -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
- )
- fi
- fi
- mycmakeargs+=(
- -DCLANG_INCLUDE_DOCS=${build_docs}
- )
- fi
- if multilib_native_use extra; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
- -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
- )
- else
- mycmakeargs+=(
- -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
-
- if [[ -n ${EPREFIX} ]]; then
- mycmakeargs+=(
- -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- fi
-
- if tc-is-cross-compiler; then
- has_version -b sys-devel/clang:${LLVM_MAJOR} ||
- die "sys-devel/clang:${LLVM_MAJOR} is required on the build host."
- local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin
- mycmakeargs+=(
- -DLLVM_TOOLS_BINARY_DIR="${tools_bin}"
- -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen
- )
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- # provide a symlink for tests
- if [[ ! -L ${WORKDIR}/lib/clang ]]; then
- mkdir -p "${WORKDIR}"/lib || die
- ln -s "${BUILD_DIR}/$(get_libdir)/clang" "${WORKDIR}"/lib/clang || die
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- 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
-
- if multilib_is_native_abi; then
- # install clang-*-wrapper tools
- # https://bugs.gentoo.org/904143
- exeinto "/usr/lib/llvm/${LLVM_MAJOR}/bin"
- doexe "${BUILD_DIR}"/bin/clang-{linker,nvlink}-wrapper
- fi
-
- # 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/llvm/${LLVM_MAJOR}/$(get_libdir)/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-18.0.0_pre20231129.ebuild b/sys-devel/clang/clang-18.0.0_pre20231129.ebuild
deleted file mode 100644
index d99da1e592c9..000000000000
--- a/sys-devel/clang/clang-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,473 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake llvm llvm.org multilib multilib-minimal
-inherit prefix python-single-r1 toolchain-funcs
-
-DESCRIPTION="C language family frontend for LLVM"
-HOMEPAGE="https://llvm.org/"
-
-# MSVCSetupApi.h: MIT
-# sorttable.js: MIT
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-IUSE="+debug doc +extra ieee-long-double +pie +static-analyzer test xml"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
- >=sys-devel/clang-common-${PV}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- ~sys-devel/clang-runtime-${PV}
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/utils
-)
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-# target. However, you will need appropriate crt* files (installed
-# e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-# in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # create extra parent dir for relative CLANG_RESOURCE_DIR access
- mkdir -p x/y || die
- BUILD_DIR=${WORKDIR}/x/y/clang
-
- llvm.org_src_prepare
-
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
- eprefixify \
- lib/Lex/InitHeaderSearch.cpp \
- lib/Driver/ToolChains/Darwin.cpp || die
-
- if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
- sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # meta-targets
- clang-libraries|distribution)
- continue
- ;;
- # tools
- clang|clangd|clang-*)
- ;;
- # static libraries
- clang*|findAllSymbols)
- continue
- ;;
- # conditional to USE=doc
- docs-clang-html|docs-clang-tools-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # common stuff
- clang-cmake-exports
- clang-headers
- clang-resource-headers
- libclang-headers
-
- aarch64-resource-headers
- arm-common-resource-headers
- arm-resource-headers
- core-resource-headers
- cuda-resource-headers
- hexagon-resource-headers
- hip-resource-headers
- hlsl-resource-headers
- mips-resource-headers
- opencl-resource-headers
- openmp-resource-headers
- ppc-htm-resource-headers
- ppc-resource-headers
- riscv-resource-headers
- systemz-resource-headers
- utility-resource-headers
- ve-resource-headers
- webassembly-resource-headers
- windows-resource-headers
- x86-resource-headers
-
- # libs
- clang-cpp
- libclang
- )
-
- if multilib_is_native_abi; then
- out+=(
- # common stuff
- bash-autocomplete
- libclang-python-bindings
-
- # tools
- amdgpu-arch
- c-index-test
- clang
- clang-format
- clang-linker-wrapper
- clang-offload-bundler
- clang-offload-packager
- clang-refactor
- clang-repl
- clang-rename
- clang-scan-deps
- diagtool
- hmaptool
- nvptx-arch
-
- # needed for cross-compiling Clang
- clang-tblgen
- )
-
- if use extra; then
- out+=(
- # extra tools
- clang-apply-replacements
- clang-change-namespace
- clang-doc
- clang-include-cleaner
- clang-include-fixer
- clang-move
- clang-pseudo
- clang-query
- clang-reorder-fields
- clang-tidy
- clang-tidy-headers
- clangd
- find-all-symbols
- modularize
- pp-trace
- )
- fi
-
- if llvm_are_manpages_built; then
- out+=( docs-clang-man )
- use extra && out+=( docs-clang-tools-man )
- fi
-
- if use doc; then
- out+=( docs-clang-html )
- use extra && out+=( docs-clang-tools-html )
- fi
-
- use static-analyzer && out+=(
- clang-check
- clang-extdef-mapping
- scan-build
- scan-build-py
- scan-view
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
- # relative to bindir
- -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}"
-
- -DBUILD_SHARED_LIBS=OFF
- -DCLANG_LINK_CLANG_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
- -DCLANG_INCLUDE_TESTS=$(usex test)
-
- -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
-
- # these are not propagated reliably, so redefine them
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
-
- # libgomp support fails to find headers without explicit -I
- # furthermore, it provides only syntax checking
- -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
-
- # disable using CUDA to autodetect GPU, just build for all
- -DCMAKE_DISABLE_FIND_PACKAGE_CUDAToolkit=ON
- # disable linking to HSA to avoid automagic dep,
- # load it dynamically instead
- -DCMAKE_DISABLE_FIND_PACKAGE_hsa-runtime64=ON
-
- -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
-
- -DCLANG_ENABLE_LIBXML2=$(usex xml)
- -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
- -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
- # TODO: CLANG_ENABLE_HLSL?
-
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- if ! use elibc_musl; then
- mycmakeargs+=(
- -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double)
- )
- fi
-
- use test && mycmakeargs+=(
- -DLLVM_BUILD_TESTS=ON
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=ON
- -DLLVM_ENABLE_SPHINX=ON
- -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- if use extra; then
- mycmakeargs+=(
- -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
- )
- fi
- fi
- mycmakeargs+=(
- -DCLANG_INCLUDE_DOCS=${build_docs}
- )
- fi
- if multilib_native_use extra; then
- mycmakeargs+=(
- -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
- -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
- )
- else
- mycmakeargs+=(
- -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
- )
- fi
-
- if [[ -n ${EPREFIX} ]]; then
- mycmakeargs+=(
- -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
- )
- fi
-
- if tc-is-cross-compiler; then
- has_version -b sys-devel/clang:${LLVM_MAJOR} ||
- die "sys-devel/clang:${LLVM_MAJOR} is required on the build host."
- local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin
- mycmakeargs+=(
- -DLLVM_TOOLS_BINARY_DIR="${tools_bin}"
- -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen
- )
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- local test_targets=( check-clang )
- if multilib_native_use extra; then
- test_targets+=(
- check-clang-tools
- check-clangd
- )
- fi
- cmake_build "${test_targets[@]}"
-}
-
-src_install() {
- MULTILIB_WRAPPED_HEADERS=(
- /usr/include/clang/Config/config.h
- )
-
- multilib-minimal_src_install
-
- # Move runtime headers to /usr/lib/clang, where they belong
- mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
- # move (remaining) wrapped headers back
- if use extra; then
- mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
- fi
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-
- # Apply CHOST and version suffix to clang tools
- local clang_tools=( clang clang++ clang-cl clang-cpp )
- local abi i
-
- # cmake gives us:
- # - clang-X
- # - clang -> clang-X
- # - clang++, clang-cl, clang-cpp -> clang
- # we want to have:
- # - clang-X
- # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
- # - clang, clang++, clang-cl, clang-cpp -> clang*-X
- # also in CHOST variant
- for i in "${clang_tools[@]:1}"; do
- rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
- dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
- dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
- done
-
- # now create target symlinks for all supported ABIs
- for abi in $(get_all_abis); do
- local abi_chost=$(get_abi_CHOST "${abi}")
- for i in "${clang_tools[@]}"; do
- dosym "${i}-${LLVM_MAJOR}" \
- "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
- dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
- "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
- done
- done
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping & ABI mismatch checks
- # (also drop the version suffix from runtime headers)
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die
- if multilib_native_use extra; then
- # don't wrap clang-tidy headers, the list is too long
- # (they're fine for non-native ABI but enabling the targets is problematic)
- mv "${ED}"/usr/include/clang-tidy "${T}/" || die
- fi
-}
-
-multilib_src_install_all() {
- python_fix_shebang "${ED}"
- if use static-analyzer; then
- python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
- fi
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
- # match 'html' non-compression
- use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
- # +x for some reason; TODO: investigate
- use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow update all
- fi
-
- elog "You can find additional utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
- if use extra; then
- elog "Some of them are vim integration scripts (with instructions inside)."
- elog "The run-clang-tidy.py script requires the following additional package:"
- elog " dev-python/pyyaml"
- fi
-}
-
-pkg_postrm() {
- if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
- eselect compiler-shadow clean all
- fi
-}
diff --git a/sys-devel/clang/clang-18.0.0_pre20231119.ebuild b/sys-devel/clang/clang-18.0.0_pre20231222.ebuild
index d99da1e592c9..d99da1e592c9 100644
--- a/sys-devel/clang/clang-18.0.0_pre20231119.ebuild
+++ b/sys-devel/clang/clang-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/clang/metadata.xml b/sys-devel/clang/metadata.xml
index 2dfafd05460d..07d06647c9a6 100644
--- a/sys-devel/clang/metadata.xml
+++ b/sys-devel/clang/metadata.xml
@@ -27,9 +27,6 @@ A simple and hackable code base
A single unified parser for C, Objective C, C++, and Objective C++
Conformance with C/C++/ObjC and their variants</longdescription>
<use>
- <flag name="default-compiler-rt">Use compiler-rt instead of libgcc as the default rtlib for clang</flag>
- <flag name="default-libcxx">Use libc++ instead of libstdc++ as the default stdlib for clang</flag>
- <flag name="default-lld">Use lld as the default linker for clang</flag>
<flag name="extra">Build extra tools (clangd, clang-tidy and a few more)</flag>
<flag name="ieee-long-double">Use accelerated 128-bit IEEE long double ABI (ppc64le only)</flag>
<flag name="static-analyzer">Install the Clang static analyzer</flag>
diff --git a/sys-devel/lld-toolchain-symlinks/Manifest b/sys-devel/lld-toolchain-symlinks/Manifest
index cf2b73a22ce3..34e7c6ad68cd 100644
--- a/sys-devel/lld-toolchain-symlinks/Manifest
+++ b/sys-devel/lld-toolchain-symlinks/Manifest
@@ -1,4 +1,3 @@
-EBUILD lld-toolchain-symlinks-14-r2.ebuild 795 BLAKE2B 0c8e8563cb7d032fd2d49757753acb6833c902babf55d5692661ffca7c380ecd26f08e9ed133dd67e6b4f3ad6e6fcc330b09c95bb86dabbb42d28ea1c2c05385 SHA512 c3160ddff275e15201927911466a839e7a9f06bdc82143207242d88e6e2079d2a8329e70b8a5b6bb905270ba1ab3e5efaf4b2d076bb458b76b3229083db7b4bd
EBUILD lld-toolchain-symlinks-15-r2.ebuild 790 BLAKE2B be95621853ffc4825c59f7375450fc5e563da475a151c3333224b420a21dc774af6626b9f7e910e07b3ea489721f2c3a95954633882be4b4e9efbec7e24cedbe SHA512 c062c61a96046490b9664d0257ffd94c8b031bb37f461a1e1e16cab6870c34ced5d2d775fd446e5d539d27b6e61ecf9c4b2f8cc6cadf11d27f1a72ccf84a0b3e
EBUILD lld-toolchain-symlinks-16-r2.ebuild 790 BLAKE2B be95621853ffc4825c59f7375450fc5e563da475a151c3333224b420a21dc774af6626b9f7e910e07b3ea489721f2c3a95954633882be4b4e9efbec7e24cedbe SHA512 c062c61a96046490b9664d0257ffd94c8b031bb37f461a1e1e16cab6870c34ced5d2d775fd446e5d539d27b6e61ecf9c4b2f8cc6cadf11d27f1a72ccf84a0b3e
EBUILD lld-toolchain-symlinks-17.ebuild 802 BLAKE2B 76b35a04513c84efab2404372155248e04bcd41ab2737509587e728d70e5c36d3d13187c4bcb09758d527705c03c905a743e35c95270b2abfe738f24d7fbd8be SHA512 ec676f446f1bd09d11cdb73362b588b4433ae4aa0afbc98381bc3f28e9145876efbf23f608fd2127a4eb257f533963f1038214d6634eb0668d0fb63854aa9488
diff --git a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r2.ebuild b/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r2.ebuild
deleted file mode 100644
index 833ce1b77e81..000000000000
--- a/sys-devel/lld-toolchain-symlinks/lld-toolchain-symlinks-14-r2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit multilib
-
-DESCRIPTION="Symlinks to use LLD on binutils-free system"
-HOMEPAGE="https://wiki.gentoo.org/wiki/Project:LLVM"
-S=${WORKDIR}
-
-LICENSE="public-domain"
-SLOT="${PV}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="multilib-symlinks +native-symlinks"
-
-RDEPEND="
- sys-devel/lld:${SLOT}
-"
-
-src_install() {
- use native-symlinks || return
-
- 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 dest=/usr/lib/llvm/${SLOT}/bin
- dodir "${dest}"
- dosym ld.lld "${dest}/ld"
- for chost in "${chosts[@]}"; do
- dosym ld.lld "${dest}/${chost}-ld"
- done
-}
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 1bb0cdb4ba2a..564388950550 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -1,21 +1,16 @@
DIST llvm-gentoo-patchset-16.0.6-r1.tar.xz 17780 BLAKE2B e7c97916df463ff6d3d6374290bad86b3f2a7189fd9da3c6c808cb84160f904f4de1dffa7e98b32d7cacf904beea2df74116384960b0619ff30b7125839fc950 SHA512 74f86aa11614dd86a4af0cba514e98006d6df8ff15effc0c3598c291c7c6139f9310dc2e3ee25e8a3fa960e8a51986a4c48412a8e7269064197102fd9bbeac7c
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
-EBUILD lld-14.0.6-r1.ebuild 2009 BLAKE2B 4db1dfc9b1997d31cc68240ae0b05afeae5a6b1cb24a0eb2012bc28b2ac8c0da4b532d270d070db5fd401717320a74b006628c19a12c787e2f9ba2dc24eb25b1 SHA512 73b2f0e7b27497ce9037cd10503b328378ff9a2e32cd36e6e264f5423cd05732da4ea2ef97b637fc344a4f3d5d3597c60dda29dba7eb509391c176d32d53a427
EBUILD lld-15.0.7.ebuild 2262 BLAKE2B 8882ba45692d54840d8a5933910ade614427733f3da2e344cf4df2806c125a783ff3c6ad4a2f76fd577cb4787fe07495c93e981c03f116fa7f383575d59936f7 SHA512 9b08495f068a01e991d200363549d29e9146e8687b297fa06beda90da1da9a793b1ebf512c3dad9bb985518a8fd9d1d13049a90dd8f06d4bc3de97779ff8e6ed
EBUILD lld-16.0.6.ebuild 2257 BLAKE2B 2e373b90d8ae4ed4131b05eaea51c909705e1132acdab1e21ad2152e66fb18b3caaaa83e9bb64b47f34fdd1ddacc7df622c6e5397c38765d9a2535db59071eba SHA512 a3d75597522d6790257b04fedf41512ab5193f78303efce2d74f03d91910ecb56d60142baa42f27e42759f7e5756c2bfaf394b79c563eb2757b6b23705b9d791
EBUILD lld-17.0.6.ebuild 2206 BLAKE2B 6eb2452e36c55a5b5224981b85a4788a05a14821279399c466673b530ebd34b52dab499dd631be8813d9f6f67538a248335709b6ac3ca1a49acc970db253b39c SHA512 340f6b4fee7d077fb47618fe0047a47453cb521752a35d1ea801fc0f3bb88bdc79c0b6fe02393874ba3ae3b69a9c8a468ad2b2713f3f4648d47f598403b67349
EBUILD lld-18.0.0.9999.ebuild 2146 BLAKE2B df574f3c72fcfaa28051e3ba25a12b614f327bace8ae6828888fa94fdb973a3af3bf537bc5db45107fd52554a45d925292109a7dc9977df1a289dfdeb0ad4ac3 SHA512 8755b02d8f28f24efdadeea29ce97e5e3a71b62e04316f2389767eb0743b33b649206a58586b5f7cdde675cff6323829c7aaca5987f8d573bd353964b4ac10c5
-EBUILD lld-18.0.0_pre20231119.ebuild 2146 BLAKE2B df574f3c72fcfaa28051e3ba25a12b614f327bace8ae6828888fa94fdb973a3af3bf537bc5db45107fd52554a45d925292109a7dc9977df1a289dfdeb0ad4ac3 SHA512 8755b02d8f28f24efdadeea29ce97e5e3a71b62e04316f2389767eb0743b33b649206a58586b5f7cdde675cff6323829c7aaca5987f8d573bd353964b4ac10c5
-EBUILD lld-18.0.0_pre20231129.ebuild 2146 BLAKE2B df574f3c72fcfaa28051e3ba25a12b614f327bace8ae6828888fa94fdb973a3af3bf537bc5db45107fd52554a45d925292109a7dc9977df1a289dfdeb0ad4ac3 SHA512 8755b02d8f28f24efdadeea29ce97e5e3a71b62e04316f2389767eb0743b33b649206a58586b5f7cdde675cff6323829c7aaca5987f8d573bd353964b4ac10c5
EBUILD lld-18.0.0_pre20231215.ebuild 2146 BLAKE2B df574f3c72fcfaa28051e3ba25a12b614f327bace8ae6828888fa94fdb973a3af3bf537bc5db45107fd52554a45d925292109a7dc9977df1a289dfdeb0ad4ac3 SHA512 8755b02d8f28f24efdadeea29ce97e5e3a71b62e04316f2389767eb0743b33b649206a58586b5f7cdde675cff6323829c7aaca5987f8d573bd353964b4ac10c5
+EBUILD lld-18.0.0_pre20231222.ebuild 2146 BLAKE2B df574f3c72fcfaa28051e3ba25a12b614f327bace8ae6828888fa94fdb973a3af3bf537bc5db45107fd52554a45d925292109a7dc9977df1a289dfdeb0ad4ac3 SHA512 8755b02d8f28f24efdadeea29ce97e5e3a71b62e04316f2389767eb0743b33b649206a58586b5f7cdde675cff6323829c7aaca5987f8d573bd353964b4ac10c5
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-14.0.6-r1.ebuild b/sys-devel/lld/lld-14.0.6-r1.ebuild
deleted file mode 100644
index c1885a85845f..000000000000
--- a/sys-devel/lld/lld-14.0.6-r1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit cmake flag-o-matic llvm llvm.org python-any-r1
-
-DESCRIPTION="The LLVM linker (link editor)"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
-IUSE="debug test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}
-"
-RDEPEND="
- ${DEPEND}
- !sys-devel/lld:0
-"
-BDEPEND="
- test? (
- >=dev-util/cmake-3.16
- $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
- )
-"
-
-LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
-LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
-llvm.org_set_globals
-
-python_check_deps() {
- python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- # Directory ${WORKDIR}/llvm does not exist with USE="-test",
- # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
- # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
- # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
- # to existent directory ${WORKDIR}/libunwind/include.
- mkdir -p "${WORKDIR}/llvm" || die
-}
-
-src_configure() {
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_INCLUDE_TESTS=$(usex test)
- -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
- )
- use test && mycmakeargs+=(
- -DLLVM_BUILD_TESTS=ON
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- -DPython3_EXECUTABLE="${PYTHON}"
- )
- cmake_src_configure
-}
-
-src_test() {
- local -x LIT_PRESERVES_TMP=1
- cmake_build check-lld
-}
diff --git a/sys-devel/lld/lld-18.0.0_pre20231129.ebuild b/sys-devel/lld/lld-18.0.0_pre20231129.ebuild
deleted file mode 100644
index c99759356a66..000000000000
--- a/sys-devel/lld/lld-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
-
-DESCRIPTION="The LLVM linker (link editor)"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-IUSE="+debug test zstd"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}[debug=,zstd=]
- sys-libs/zlib:=
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="
- ${DEPEND}
- !sys-devel/lld:0
-"
-BDEPEND="
- sys-devel/llvm:${LLVM_MAJOR}
- test? (
- >=dev-util/cmake-3.16
- $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
- )
-"
-PDEPEND="
- >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
-llvm.org_set_globals
-
-python_check_deps() {
- python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- # Directory ${WORKDIR}/llvm does not exist with USE="-test",
- # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
- # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
- # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
- # to existent directory ${WORKDIR}/libunwind/include.
- mkdir -p "${WORKDIR}/llvm" || die
-}
-
-src_configure() {
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_INCLUDE_TESTS=$(usex test)
- )
-
- use test && mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- tc-is-cross-compiler && mycmakeargs+=(
- -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
- )
-
- cmake_src_configure
-}
-
-src_test() {
- local -x LIT_PRESERVES_TMP=1
- cmake_build check-lld
-}
diff --git a/sys-devel/lld/lld-18.0.0_pre20231119.ebuild b/sys-devel/lld/lld-18.0.0_pre20231222.ebuild
index c99759356a66..c99759356a66 100644
--- a/sys-devel/lld/lld-18.0.0_pre20231119.ebuild
+++ b/sys-devel/lld/lld-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 327b38a75dfc..5d62028016dd 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -1,20 +1,15 @@
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
-EBUILD llvm-common-14.0.6.ebuild 1015 BLAKE2B b7d52fa0ab83b5c9bf23d397074f4db30926ad3d13bdf0d2082a23f384c3889a7c356ba220b78970d117a8b46793e3d175d0a794859bb6148c4d6e1bc1c9e82e SHA512 b89e5a11a04a66cf2929354ce65d80c201d85ee1aaa55c197b3671904e126ec941ad7110277734563b376ebc7fecec463c270f8cad8609664f025916d3f39bac
EBUILD llvm-common-15.0.7.ebuild 1014 BLAKE2B da3b7ec6cd3c1e57758312fb9ea25e693305e1ef72b350eea85fbde5a1e636269d84bd491b6f528aee8a9cb8229f6304b371f99e6ac416c661c6519706b83b61 SHA512 68b9d672372fe71e39f2b8f9d80eb1dcb5138b8b9b961f56a4eeb81b3fc4054448a51a46b3a62547ebb6262425512f39bc146e5f2c3703de10ab520f1594e7a4
EBUILD llvm-common-16.0.6.ebuild 1021 BLAKE2B 635a5e329ec238346e1bfe715ed088484a33f517a294dd86f822dbc7d225a296f61d72b73be28767c6629516c6237cf1b377320a38c2092796e6d292ece12977 SHA512 64df7235d2bbf73792c6169931b3f5cb90feac9012590bb391b3d2aed67fbe518d08f46fffaf706f478e528b5837178f2e440557b906d6cce832ecaea021dbba
EBUILD llvm-common-17.0.6.ebuild 1028 BLAKE2B 17b090a472e770e1f63129c30b736d37f1020e7ce498345919724a412b1221fb6512cd6b88261d6760fde413f391264ac903df6a1e45a5a48cf0bdd5371b370c SHA512 472d118c870970130a42a7c632a968406c44fc1161be1a7a0ef76f5344d98c08e56dac7b20fa2972dc162b5e094b22df9e58a74aac355d3e7d034c2aaef64a4b
EBUILD llvm-common-18.0.0.9999.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
-EBUILD llvm-common-18.0.0_pre20231119.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
-EBUILD llvm-common-18.0.0_pre20231129.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
EBUILD llvm-common-18.0.0_pre20231215.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
+EBUILD llvm-common-18.0.0_pre20231222.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-14.0.6.ebuild b/sys-devel/llvm-common/llvm-common-14.0.6.ebuild
deleted file mode 100644
index c8fdea852737..000000000000
--- a/sys-devel/llvm-common/llvm-common-14.0.6.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux ~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-18.0.0_pre20231129.ebuild b/sys-devel/llvm-common/llvm-common-18.0.0_pre20231129.ebuild
deleted file mode 100644
index 007885b7ac81..000000000000
--- a/sys-devel/llvm-common/llvm-common-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 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"
-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-18.0.0_pre20231119.ebuild b/sys-devel/llvm-common/llvm-common-18.0.0_pre20231222.ebuild
index 007885b7ac81..007885b7ac81 100644
--- a/sys-devel/llvm-common/llvm-common-18.0.0_pre20231119.ebuild
+++ b/sys-devel/llvm-common/llvm-common-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/llvm-toolchain-symlinks/Manifest b/sys-devel/llvm-toolchain-symlinks/Manifest
index 4da4b53c3b40..2aff6a6540f3 100644
--- a/sys-devel/llvm-toolchain-symlinks/Manifest
+++ b/sys-devel/llvm-toolchain-symlinks/Manifest
@@ -1,4 +1,3 @@
-EBUILD llvm-toolchain-symlinks-14-r1.ebuild 1044 BLAKE2B 2a32391553acb3a7c61ed02043a97415221ee1e64504fdfaa55199778782d93399469584c6241686a6cce915e120c843a0dc5cd613ee2cade3ae028eb085a403 SHA512 72cf11431660900fd2d44d441da9dd8d1eaa40ee4d537520d91adddb1b622a4a4e9fce9bb4901c3ec49a42719d37b465a3d80af657130af4e3717d3c93605699
EBUILD llvm-toolchain-symlinks-15-r1.ebuild 1037 BLAKE2B a91128b9fb9ee30983645e1d8487e4734a355695e5628dc785fff79c4597a5fc70e2458e5b756e177c86015e078789dfb7960dca078577015b0f9ea4b8369a5c SHA512 0e8e60edd8c226b9c511842c934ac349e6ebe9f425b064cdfe4c582638bbe9b8c860f73964fb922fe5926876f84b9514999e686de48860621ed4541c8c2c5791
EBUILD llvm-toolchain-symlinks-16-r1.ebuild 1044 BLAKE2B 0809ec50dcf6e7dea682fb3261709552ad3ef5738e57725c94be80ef93f67bb421d7efd89e1d98a13383c809eb4a9b51c48d152e0a86f1a8cb74ff889eecde5b SHA512 325e8c03fd70f2da1388d21ab869bea6de30497c10d5b84125228f7e3a2a10d1f23ac0bc62ba42f441196841b7ef886b60bc914a70c8736c0e0b3c8668c31e39
EBUILD llvm-toolchain-symlinks-17.ebuild 1051 BLAKE2B 82c500afffa0388a1cdba2e25e889fa1238293eefd3b8639f275e84532f74db7df7a39074fb81b8565be9371f6268b93fd42da8ab196d6c909f137a5f6f25ec0 SHA512 6e4d01097dca8fd752b8e0adae9a6d9d76cccaf4432d849350697aca0a7c2e87eab403cb9bfbf0ab951ce86a76d84f9b7d4a2e38d16b8207685af063dfe93f39
diff --git a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-14-r1.ebuild b/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-14-r1.ebuild
deleted file mode 100644
index 444095748cf9..000000000000
--- a/sys-devel/llvm-toolchain-symlinks/llvm-toolchain-symlinks-14-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022-2023 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 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~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 0496bcd1deab..f0465daf0faf 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,28 +1,21 @@
-DIST llvm-14.0.6-manpages.tar.bz2 218186 BLAKE2B 4491296e490936a2d7b518e19a0ff6312b89abeef3fbe5da5d0b93bb2add1088ddf64a0b00ec8846062d19b1ad31e53eadee7ce03c9034aab554e183d1baccf6 SHA512 f8328dc2ec1e8d941d47e583ee31fae7bdcebb3f854b5c8a4a84bd19a79bf5427ad204012c81349bc05a291e41cf48e5129b4578bbd5d4490dd01e1c0b5823bf
DIST llvm-15.0.7-manpages.tar.bz2 228425 BLAKE2B 573b030a32407cfe241fb2c8c62bed8e7c54f9daf4b8cffdd2d4e5ca2e40b5ec5ed3724475aedf77119be1a4d9de847a989e933d315e6d94908e407a19c98047 SHA512 86d5eeea2757b0a627c8d2d6e70a3265fc0207085f4e473cdd6e8b624c719625dead23fd1737742a1bea27b1c4631ef3e8e3041a1122a85fcb49859e5bfbee49
DIST llvm-16.0.4-manpages.tar.bz2 243154 BLAKE2B 69308e3ec19d750e7249b7c8cd79224c466b879c67dd900e201339486fa7fa4dd6ef9ef5b033b2443b32c3530cc76564fe2856a76f9b466fdab2b5c64148f089 SHA512 2d2b711adbd20a233d0611f81393faa29a2f32f0e64799a9a48185876045023ca1320becd2da110fbcbfce019a38df0d7c13fcaea3770b4fc23aa732eb11321b
DIST llvm-17.0.1-manpages.tar.bz2 263148 BLAKE2B 6485a261e356eacc4a274f9b8d329b53f11a37a23effea41a12322f6908bbe702dc1a97bfd10293061f01f1dbff8693e9324ab3dce2551e78eab128dbd7fea30 SHA512 963ff1b7aa0cb01ed0c0356a0adc3a315d94e78035e928dc81464f553e722633a17596e421c248968e87e22ae66f1ab9cccda5fd3388d1a6d34b5e9c6140ebcb
-DIST llvm-gentoo-patchset-14.0.6-r4.tar.xz 19360 BLAKE2B 814dd617d237b0bd9c80bdd9d921196b8f93248b731083e79455d4609a05dd15b6847fc227359624abce683ecdaadaefea71dc9b65b7edd1fc3912123fa55054 SHA512 9ac57abc87a63cf31ecd021e6dd44f5f11cd6136fa3b92e89c52a6d13e0ed471f88e6e96160baeac4615eedff7943048a35a98c8d37387894c9c2d1f5df277ce
DIST llvm-gentoo-patchset-15.0.7-r3.tar.xz 24268 BLAKE2B 6531ae385ecea87bc26dba8ce19b4cde8ff224c80fd81f04c6ded131e305ecfdeb8d29ebd3b68a641d240805dc83eb0ebc7cc85124f02ad0ee66e0f201b91d7e SHA512 66cb33f8b423736b990fb75d4f2d1e5f14c0b03308f403297204dd1a352d72f85f34220fd66d3de5d6df328cdf2ffce03c2a111cb0bb57791cf68a88069ac7df
DIST llvm-gentoo-patchset-16.0.6.tar.xz 17340 BLAKE2B 37cdf4b38367b4256d4f7a25d1b4f41758e5f81be8e20a1c94a10d6c5e36642e9672121b455e73a0bac2eb40467ef2db4b43789b2912a6790593d97b8b5c27e3 SHA512 2c02b9d8a4c5af9fddcd26c95dc66fffae32cb5b7f85c65a1aa4ed00dd8cd5b01cc1975a711aee63c0b8b11e9dc20f2bc05ea753904eb516892b820f02aff825
DIST llvm-gentoo-patchset-17.0.6.tar.xz 1792 BLAKE2B 21b34b436333c0b37522d4340cccc84a572701f6e267cf7c6adfa9be419913f5a6c9ee40a6be5c62d12fbd868912801d30381573c4459c05676e05785cccaefe SHA512 2d90b5e7fcbb950249ef7133fac1ed3dcb758a4d92732119049526cea0b291bd4e9738c4c0d806d70e7d769e1906f8ef3930066c206c00b6ec7d3509ed0fed19
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-17858ce6f3d24f994f6ad8c899bfa4eed39f739d.tar.gz 204267841 BLAKE2B 05232178574de9f7e6d4c2e5eb59cabc70670d14b5f92010a42aa3ab6087abd992672044857e6f8d21cd9d2c3d8129b47420f5e3ec746b50e82a3cac5352e824 SHA512 e7836fc56d7121d762cd714a4cd5e28c8b068ff375928d3b5cd32d7e4488b5cf59b21e16250b4f12a973ada3f73ce246af2cc3cd83efca17dc9c3da5b458196d
DIST llvm-project-d37ced88809cb4d2df57ec80887b3f8801ca719b.tar.gz 203826420 BLAKE2B 58448df837f2119720a36b837d0e4f2b2fc00da5658706b193b9d2d180cf0f6c5eb79a9cc0fa9d94310996a95210115a5a46371bd8537f16e105adea14a72399 SHA512 1348e5bf736acaeebf0ae0f613973e6c2d439d360c2272bb4ab112e579b12c297970bb765fd774c768aa55a922c93048b1d8ae6bfd636b241fa86f9427cc2069
-EBUILD llvm-14.0.6-r4.ebuild 12313 BLAKE2B fc192cd5a0ce4392b3aae13e068522dcac0925cd67afae7c230b150e8ddab3a302dd3dbf5b9eb9ea0092ca8d5464e43f4a37d6e615998fc8259a2fbd669deb44 SHA512 839388316772e70d13ac1b6f72d93171dc698659a79766057a7dc16b191f5f417c919398c9ff09430fb128654452a01fa1dcfce27c60ac29aa11edb5eed3be0b
EBUILD llvm-15.0.7-r3.ebuild 12486 BLAKE2B 1c62b4a9f7493b3cf9bd2ca388d9c09da2077a5be4b19dba2628352e0524e37df1e3481cc3e0658d3ce8eeb81fe7b4e379be7d5ba9e20a60376616e5a38f6264 SHA512 d6eea0d3330e29a4a27bb758cb5abec08b35f5b0d6a9bacfeddcaf031b0c125ba9454d4eb77a65fe6dd5b379654dd895d603e0a01008b57476502be82ffb392c
EBUILD llvm-16.0.6.ebuild 12812 BLAKE2B 1063af92819795e6867db4ef9c7f31826df93560b99a56fdc33f315319cc916dde824f2282c74b54430da11a5a9e5428de6552ee57ef0f4bdd4b3c69d3ee230f SHA512 d23327496b4a9d58aa8bae415d85fda284bfc499c3552a272b160bb6f6f85d1300f0e5d536d24c97e58def556e1743ebeae9dc7d718bf6a0a994a63e07054969
EBUILD llvm-17.0.6.ebuild 13100 BLAKE2B 054b13ea90105c70a9b40cef1cdee3157515bca2350b5fcf69ea8d81a45fb259c523f70e2306f101b6078e367143c1798acc3d7c5e5391a9c6e15c5053f11768 SHA512 6a1973ec5a0045c65e45e53c8f18230098831c5ba4893c908cdf22f4747f03702e19627cabe1d1c7407ab988d52c74ee83a287f96dccaf1e6af8caaa45585d68
EBUILD llvm-18.0.0.9999.ebuild 12834 BLAKE2B ac3482d8d907e8416d87ece1c2e34dac0427daab18dcfc5b475fb3ec59713d725495740e3a0bfd9c37cef006993d4add504c29ee0118879c30cb9a0479cbcfa5 SHA512 eac78f66e7b2781c7b15817186e6ac7b2cee696974e7a4946260cb14281f2655cf119f73f3ab30e77e2a324ddc0dae50d028d14311cb02f2dc4fd39b28a4f91f
-EBUILD llvm-18.0.0_pre20231119.ebuild 12834 BLAKE2B ac3482d8d907e8416d87ece1c2e34dac0427daab18dcfc5b475fb3ec59713d725495740e3a0bfd9c37cef006993d4add504c29ee0118879c30cb9a0479cbcfa5 SHA512 eac78f66e7b2781c7b15817186e6ac7b2cee696974e7a4946260cb14281f2655cf119f73f3ab30e77e2a324ddc0dae50d028d14311cb02f2dc4fd39b28a4f91f
-EBUILD llvm-18.0.0_pre20231129.ebuild 12834 BLAKE2B ac3482d8d907e8416d87ece1c2e34dac0427daab18dcfc5b475fb3ec59713d725495740e3a0bfd9c37cef006993d4add504c29ee0118879c30cb9a0479cbcfa5 SHA512 eac78f66e7b2781c7b15817186e6ac7b2cee696974e7a4946260cb14281f2655cf119f73f3ab30e77e2a324ddc0dae50d028d14311cb02f2dc4fd39b28a4f91f
EBUILD llvm-18.0.0_pre20231215.ebuild 12834 BLAKE2B ac3482d8d907e8416d87ece1c2e34dac0427daab18dcfc5b475fb3ec59713d725495740e3a0bfd9c37cef006993d4add504c29ee0118879c30cb9a0479cbcfa5 SHA512 eac78f66e7b2781c7b15817186e6ac7b2cee696974e7a4946260cb14281f2655cf119f73f3ab30e77e2a324ddc0dae50d028d14311cb02f2dc4fd39b28a4f91f
+EBUILD llvm-18.0.0_pre20231222.ebuild 12834 BLAKE2B ac3482d8d907e8416d87ece1c2e34dac0427daab18dcfc5b475fb3ec59713d725495740e3a0bfd9c37cef006993d4add504c29ee0118879c30cb9a0479cbcfa5 SHA512 eac78f66e7b2781c7b15817186e6ac7b2cee696974e7a4946260cb14281f2655cf119f73f3ab30e77e2a324ddc0dae50d028d14311cb02f2dc4fd39b28a4f91f
MISC metadata.xml 2835 BLAKE2B 07816d714509d62c0e0a443cc4af1f1f049497de75431f80a981f662b4f2281a16655be3e733a26099d0d814d5ce26d80cee13aa7a4e8d079168846a8e02670f SHA512 292ccb0a05a0239b5b00c6a84be11b4b385900d6467a6a139af03588c61aff9ac0e4bbcd23e89b2a7d7947f7d8cf8ba9323f2539a6c563a338b73f5ac6ffd00f
diff --git a/sys-devel/llvm/llvm-14.0.6-r4.ebuild b/sys-devel/llvm/llvm-14.0.6-r4.ebuild
deleted file mode 100644
index 27a21c6774e1..000000000000
--- a/sys-devel/llvm/llvm-14.0.6-r4.ebuild
+++ /dev/null
@@ -1,516 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake 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="$(ver_cut 1)"
-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"
-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}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-$(ver_cut 1-3).9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
- test? (
- sys-apps/which
- )
-"
-# 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
- binutils-plugin? ( >=sys-devel/llvmgold-${SLOT} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_PATCHSET=${PV}-r4
-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
-
- # remove regressing test
- # https://github.com/llvm/llvm-project/issues/55761
- rm test/Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll || die
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-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() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${SLOT}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- if [[ $(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/${SLOT}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- if tc-is-cross-compiler; then
- local tblgen="${BROOT}/usr/lib/llvm/${SLOT}/bin/llvm-tblgen"
- [[ -x "${tblgen}" ]] \
- || die "${tblgen} not found or usable"
- mycmakeargs+=(
- -DCMAKE_CROSSCOMPILING=ON
- -DLLVM_TABLEGEN="${tblgen}"
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=$(ver_cut 1)$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${SLOT}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${SLOT}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${SLOT}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${SLOT}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${SLOT} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${SLOT}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${SLOT}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${SLOT}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-18.0.0_pre20231129.ebuild b/sys-devel/llvm/llvm-18.0.0_pre20231129.ebuild
deleted file mode 100644
index 0fe2c5be8d56..000000000000
--- a/sys-devel/llvm/llvm-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,535 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake llvm.org multilib-minimal pax-utils python-any-r1
-inherit toolchain-funcs
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-IUSE="
- +binutils-plugin +debug debuginfod doc exegesis libedit +libffi
- ncurses 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}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3: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
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
- binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/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)
- ;;
- # testing libraries
- LLVMTestingAnnotations|LLVMTestingSupport)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
-
- # testing libraries
- llvm_gtest
- llvm_gtest_main
- LLVMTestingAnnotations
- LLVMTestingSupport
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfo-analyzer
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-readtapi
- llvm-reduce
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- use debuginfod && out+=(
- llvm-debuginfod
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- local ffi_cflags ffi_ldflags
- if use libffi; then
- ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
- ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
- fi
-
- local libdir=$(get_libdir)
- local mycmakeargs=(
- # disable appending VCS revision to the version to improve
- # direct cache hit ratio
- -DLLVM_APPEND_VC_REV=OFF
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
-
- -DBUILD_SHARED_LIBS=OFF
- -DLLVM_BUILD_LLVM_DYLIB=ON
- -DLLVM_LINK_LLVM_DYLIB=ON
- -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
-
- # cheap hack: LLVM combines both anyway, and the only difference
- # is that the former list is explicitly verified at cmake time
- -DLLVM_TARGETS_TO_BUILD=""
- -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
- -DLLVM_INCLUDE_BENCHMARKS=OFF
- -DLLVM_INCLUDE_TESTS=ON
- -DLLVM_BUILD_TESTS=$(usex test)
- -DLLVM_INSTALL_GTEST=ON
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
- -DLLVM_ENABLE_CURL=$(usex debuginfod)
- -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
-
- -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
-
- # 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
- use kernel_Darwin && mycmakeargs+=(
- -DTerminfo_LIBRARIES=-lncurses
- )
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MAIN_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- tc-env_build cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${LLVM_MAJOR} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-18.0.0_pre20231119.ebuild b/sys-devel/llvm/llvm-18.0.0_pre20231222.ebuild
index 0fe2c5be8d56..0fe2c5be8d56 100644
--- a/sys-devel/llvm/llvm-18.0.0_pre20231119.ebuild
+++ b/sys-devel/llvm/llvm-18.0.0_pre20231222.ebuild
diff --git a/sys-devel/llvmgold/Manifest b/sys-devel/llvmgold/Manifest
index 910be0bcd695..6900e7633d22 100644
--- a/sys-devel/llvmgold/Manifest
+++ b/sys-devel/llvmgold/Manifest
@@ -1,4 +1,3 @@
-EBUILD llvmgold-14.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3
EBUILD llvmgold-15.ebuild 576 BLAKE2B c9493f322fa0e387411df160c28078a514510e684f01c415a035c93868dd5a16ae718f10af0debe2e1a4112ea0864890a81a89ebf3fefc55ffdc89adc743524f SHA512 7cdb73379b9f6db22abde1f01043e28b8bfd797f3123f77d31ab3166e2c8d72747aad0963e8f6a41a0a01a19ea29eb468d869b5dbc7a35eb016a4a89c57715c3
EBUILD llvmgold-16.ebuild 583 BLAKE2B b4c4b79a88e671db744f646cf645788aadbf1a76c86ce3f2d76bb850a5cedb21b0ed92feb1f647188176a6d218adf0b3d0f21da16390188cf91ade0a495fb32e SHA512 39d956efdd7685b0b99e274badd0a42b2a088eb9d8d065670743c93cb24ad617bc1e7f6e92112e67f00393c1d68fe1397b36222546b24ecc58be2eb11d47bd21
EBUILD llvmgold-17.ebuild 589 BLAKE2B dc0432379234e24032fe1c2a9ba90c6e3ad325951ba00b7e4d8b600d03cf52a1f4045fa5ff6bde6c392ec7f014b1596e9ce7c467fc0237bf2981c07cda4e6d8b SHA512 a897e7a9612e0edf11bead9d33aae4a076cb6c6ba3599bc0e2bbe12913d740a569594a7dcef3af2dc49a481bf0f1ba5bdcf3659d7741e1b5951bd62efe7dc466
diff --git a/sys-devel/llvmgold/llvmgold-14.ebuild b/sys-devel/llvmgold/llvmgold-14.ebuild
deleted file mode 100644
index 484ce44cf3f7..000000000000
--- a/sys-devel/llvmgold/llvmgold-14.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="LLVMgold plugin symlink for autoloading"
-HOMEPAGE="https://llvm.org/"
-S=${WORKDIR}
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86 ~amd64-linux"
-
-RDEPEND="
- sys-devel/llvm:${PV}[binutils-plugin]
- !sys-devel/llvm:0
-"
-
-src_install() {
- dodir "/usr/${CHOST}/binutils-bin/lib/bfd-plugins"
- dosym "../../../../lib/llvm/${PV}/$(get_libdir)/LLVMgold.so" \
- "/usr/${CHOST}/binutils-bin/lib/bfd-plugins/LLVMgold.so"
-}