summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10636 -> 10633 bytes
-rw-r--r--sys-devel/clang-common/Manifest5
-rw-r--r--sys-devel/clang-common/clang-common-16.0.0-r1.ebuild180
-rw-r--r--sys-devel/clang-common/clang-common-17.0.0_pre20230314-r1.ebuild180
-rw-r--r--sys-devel/clang-runtime/Manifest2
-rw-r--r--sys-devel/clang-runtime/clang-runtime-16.0.0.ebuild40
-rw-r--r--sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230314.ebuild41
-rw-r--r--sys-devel/clang/Manifest6
-rw-r--r--sys-devel/clang/clang-16.0.0.ebuild481
-rw-r--r--sys-devel/clang/clang-17.0.0_pre20230314.ebuild480
-rw-r--r--sys-devel/gcc/Manifest1
-rw-r--r--sys-devel/gcc/gcc-13.0.1_pre20230409-r1.ebuild56
-rw-r--r--sys-devel/lld/Manifest5
-rw-r--r--sys-devel/lld/lld-16.0.0.ebuild90
-rw-r--r--sys-devel/lld/lld-17.0.0_pre20230314.ebuild89
-rw-r--r--sys-devel/llvm-common/Manifest5
-rw-r--r--sys-devel/llvm-common/llvm-common-16.0.0.ebuild28
-rw-r--r--sys-devel/llvm-common/llvm-common-17.0.0_pre20230314.ebuild28
-rw-r--r--sys-devel/llvm/Manifest6
-rw-r--r--sys-devel/llvm/llvm-16.0.0.ebuild517
-rw-r--r--sys-devel/llvm/llvm-17.0.0_pre20230314.ebuild526
21 files changed, 57 insertions, 2709 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 4dbfb68a7855..210f63571716 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 6e5dafb80cae..3241ff3374cb 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -3,17 +3,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
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.0.src.tar.xz 117933476 BLAKE2B fa09cd8f647ce0daf5a7eae9ac03b99594a9b3193b12065f43f9a6731875243f2f5b354136bcadcb31622b246054e94f880eec3dab0bcd6ae89973fa9dca845c SHA512 3f040abc1b03205693824aeff2ee6efb0cff25fe04bd5265141c093f294655a1f3fcda73cab9c57cbed7523c8f186a7e2484afce0792c55e90e3fb80450fabb7
-DIST llvm-project-16.0.0.src.tar.xz.sig 566 BLAKE2B daba130aa5662fbf7cc2e7aa8fa6b64f9cb355a72330f7a01a21b86389c6f2f85ae93de19ff08ba3f1cfe2834d9a2b7648bdf659caba3afdb2a0d13984774a54 SHA512 38e2449dce20cfbf813d1a9a68b36807722ac8ebb5ee07360fa215b2de8534d2329d3e41cfc3ed33e59e36714b94a6683a6d8077950bcf0037973492e0820fb3
DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-4bf004e07e2b9d6e04e3f33e1b02628c679de664.tar.gz 180304467 BLAKE2B 6750855453b575eb8fcc861d5b24b144497bba62df9b9292ac586cf340e04b2b58290fe9df6d89142f29b56aa37ddeb3bd11cc3337e4dc985a4487954d1e2ffa SHA512 d8a87064ba0f92967df019e9345222b87cda81852a9599902cedc4a49ec7d9e2175c972b7fa6d19920489c1d309822f9c31c23bdce0376a8d40c71d57bcd5068
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-16.0.0-r1.ebuild 5158 BLAKE2B 96869b1c5b4872174e17980aa070c364675a1c3a8b0560af17e6e7530f35b8fd97a8735d3947abc75e8cc245015e585ce44b3e1d9fa418a2a4787cd1f08ef1c9 SHA512 0507f8d775a17b4272e80ee6413df400f1ecbbb0954b1cee0d0cbe97c8793ebf2a90e3ce6bbe7a0e7376b1fb4a0d30b6bdee31f1e1722d81d70cc3b79d4f14c7
EBUILD clang-common-16.0.1.ebuild 5158 BLAKE2B 96869b1c5b4872174e17980aa070c364675a1c3a8b0560af17e6e7530f35b8fd97a8735d3947abc75e8cc245015e585ce44b3e1d9fa418a2a4787cd1f08ef1c9 SHA512 0507f8d775a17b4272e80ee6413df400f1ecbbb0954b1cee0d0cbe97c8793ebf2a90e3ce6bbe7a0e7376b1fb4a0d30b6bdee31f1e1722d81d70cc3b79d4f14c7
EBUILD clang-common-16.0.2.9999.ebuild 5067 BLAKE2B daae19bdc044695e3c2a7c6a16687011f499fdbb7a3c7c1dd62488ac17631ba06cc6d9e5f58aaca1c72bbdf3204d80c915094ed59d19a81320616f5f5426a35b SHA512 5a2336c686fe9d45bbc66014d8957f3b5fad926f0b7907b8665864b2932486defd9b2b53de9c0b661077d9efdbd830dd9bbbf388ab2e8f02311135e65c3ebc31
EBUILD clang-common-17.0.0.9999.ebuild 5067 BLAKE2B daae19bdc044695e3c2a7c6a16687011f499fdbb7a3c7c1dd62488ac17631ba06cc6d9e5f58aaca1c72bbdf3204d80c915094ed59d19a81320616f5f5426a35b SHA512 5a2336c686fe9d45bbc66014d8957f3b5fad926f0b7907b8665864b2932486defd9b2b53de9c0b661077d9efdbd830dd9bbbf388ab2e8f02311135e65c3ebc31
-EBUILD clang-common-17.0.0_pre20230314-r1.ebuild 5067 BLAKE2B daae19bdc044695e3c2a7c6a16687011f499fdbb7a3c7c1dd62488ac17631ba06cc6d9e5f58aaca1c72bbdf3204d80c915094ed59d19a81320616f5f5426a35b SHA512 5a2336c686fe9d45bbc66014d8957f3b5fad926f0b7907b8665864b2932486defd9b2b53de9c0b661077d9efdbd830dd9bbbf388ab2e8f02311135e65c3ebc31
EBUILD clang-common-17.0.0_pre20230325.ebuild 5067 BLAKE2B daae19bdc044695e3c2a7c6a16687011f499fdbb7a3c7c1dd62488ac17631ba06cc6d9e5f58aaca1c72bbdf3204d80c915094ed59d19a81320616f5f5426a35b SHA512 5a2336c686fe9d45bbc66014d8957f3b5fad926f0b7907b8665864b2932486defd9b2b53de9c0b661077d9efdbd830dd9bbbf388ab2e8f02311135e65c3ebc31
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-16.0.0-r1.ebuild b/sys-devel/clang-common/clang-common-16.0.0-r1.ebuild
deleted file mode 100644
index 4acd801b683d..000000000000
--- a/sys-devel/clang-common/clang-common-16.0.0-r1.ebuild
+++ /dev/null
@@ -1,180 +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 ~loong ~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)
- newins - gentoo-hardened.cfg <<-EOF
- # Some of these options are added unconditionally, regardless of
- # USE=hardened, for parity with sys-devel/gcc.
- -fstack-clash-protection
- -fstack-protector-strong
- -fPIE
- -include "${EPREFIX}/usr/include/gentoo/fortify.h"
- EOF
-
- dodir /usr/include/gentoo
-
- local fortify_level=$(usex hardened 3 2)
- # We have to do this because glibc's headers warn if F_S is set
- # without optimization and that would at the very least be very noisy
- # during builds and at worst trigger many -Werror builds.
- cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
- #ifdef __clang__
- # pragma clang system_header
- #endif
- #ifndef _FORTIFY_SOURCE
- # if defined(__has_feature)
- # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
- # else
- # define __GENTOO_HAS_FEATURE(x) 0
- # endif
- #
- # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
- # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
- # define _FORTIFY_SOURCE ${fortify_level}
- # endif
- # endif
- # undef __GENTOO_HAS_FEATURE
- #endif
- EOF
-
- if use hardened ; then
- cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -D_GLIBCXX_ASSERTIONS
-
- # Analogue to GLIBCXX_ASSERTIONS
- # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
- -D_LIBCPP_ENABLE_ASSERTIONS=1
- EOF
- fi
-
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
- local tool
- for tool in clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
-}
-
-pkg_preinst() {
- if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
- then
- local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
- if [[ -n ${gcc_path} ]]; then
- cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
- --gcc-install-dir="${gcc_path%%:*}"
- EOF
- fi
- fi
-}
diff --git a/sys-devel/clang-common/clang-common-17.0.0_pre20230314-r1.ebuild b/sys-devel/clang-common/clang-common-17.0.0_pre20230314-r1.ebuild
deleted file mode 100644
index 5b4a6647f3ca..000000000000
--- a/sys-devel/clang-common/clang-common-17.0.0_pre20230314-r1.ebuild
+++ /dev/null
@@ -1,180 +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=""
-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)
- newins - gentoo-hardened.cfg <<-EOF
- # Some of these options are added unconditionally, regardless of
- # USE=hardened, for parity with sys-devel/gcc.
- -fstack-clash-protection
- -fstack-protector-strong
- -fPIE
- -include "${EPREFIX}/usr/include/gentoo/fortify.h"
- EOF
-
- dodir /usr/include/gentoo
-
- local fortify_level=$(usex hardened 3 2)
- # We have to do this because glibc's headers warn if F_S is set
- # without optimization and that would at the very least be very noisy
- # during builds and at worst trigger many -Werror builds.
- cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
- #ifdef __clang__
- # pragma clang system_header
- #endif
- #ifndef _FORTIFY_SOURCE
- # if defined(__has_feature)
- # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
- # else
- # define __GENTOO_HAS_FEATURE(x) 0
- # endif
- #
- # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0
- # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
- # define _FORTIFY_SOURCE ${fortify_level}
- # endif
- # endif
- # undef __GENTOO_HAS_FEATURE
- #endif
- EOF
-
- if use hardened ; then
- cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
- # Options below are conditional on USE=hardened.
- -D_GLIBCXX_ASSERTIONS
-
- # Analogue to GLIBCXX_ASSERTIONS
- # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
- -D_LIBCPP_ENABLE_ASSERTIONS=1
- EOF
- fi
-
- if use stricter; then
- newins - gentoo-stricter.cfg <<-EOF
- # This file increases the strictness of older clang versions
- # to match the newest upstream version.
-
- # clang-16 defaults
- -Werror=implicit-function-declaration
- -Werror=implicit-int
- -Werror=incompatible-function-pointer-types
-
- # constructs banned by C2x
- -Werror=deprecated-non-prototype
-
- # deprecated but large blast radius
- #-Werror=strict-prototypes
- EOF
-
- cat >> "${ED}/etc/clang/gentoo-common.cfg" <<-EOF || die
- @gentoo-stricter.cfg
- EOF
- fi
-
- local tool
- for tool in clang{,++,-cpp}; do
- newins - "${tool}.cfg" <<-EOF
- # This configuration file is used by ${tool} driver.
- @gentoo-common.cfg
- EOF
- done
-}
-
-pkg_preinst() {
- if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
- then
- local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
- if [[ -n ${gcc_path} ]]; then
- cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
- --gcc-install-dir="${gcc_path%%:*}"
- EOF
- fi
- fi
-}
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index f2c8bd87aae2..3e0e379c9147 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.0.ebuild 1442 BLAKE2B ccd97064b84899371758ceab7640d2b9a3104e08dccbefc5523062437cec1358ab68773b96bbc8193d8cd52a2bac65e6687cb150127d953aa49ab7f8cb3dbcea SHA512 9b8639788a2bfab9fea6e717e684c4784ae6719ce8d6bb389d16d836df0b43d108be6c649b9aa17dfa60df7b3f490450d4d51e83dd80707467a844871b97535e
EBUILD clang-runtime-16.0.1.ebuild 1442 BLAKE2B ccd97064b84899371758ceab7640d2b9a3104e08dccbefc5523062437cec1358ab68773b96bbc8193d8cd52a2bac65e6687cb150127d953aa49ab7f8cb3dbcea SHA512 9b8639788a2bfab9fea6e717e684c4784ae6719ce8d6bb389d16d836df0b43d108be6c649b9aa17dfa60df7b3f490450d4d51e83dd80707467a844871b97535e
EBUILD clang-runtime-16.0.2.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
EBUILD clang-runtime-17.0.0.9999.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
-EBUILD clang-runtime-17.0.0_pre20230314.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
EBUILD clang-runtime-17.0.0_pre20230325.ebuild 1369 BLAKE2B f69af454137c9689bebc710a7a6988338bc715c68238367d55b5f01859244954b7ff8719ba285b64e76a578f063ab3f6325d5e9519ef5ebdb31592af1a276225 SHA512 436ecac7bb5ba46ca72ab48ea2bd8e30e2ee180218c0c3f14f41abd4e3b0445655ad033058bb78661b2095c5786ef644b538574d4ae2a9a8ee12fefc179f79db
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-16.0.0.ebuild b/sys-devel/clang-runtime/clang-runtime-16.0.0.ebuild
deleted file mode 100644
index 6483c7c0c78e..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-16.0.0.ebuild
+++ /dev/null
@@ -1,40 +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%%.*}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="+compiler-rt libcxx openmp +sanitize"
-REQUIRED_USE="sanitize? ( compiler-rt )"
-
-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-17.0.0_pre20230314.ebuild b/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230314.ebuild
deleted file mode 100644
index 67b42357665e..000000000000
--- a/sys-devel/clang-runtime/clang-runtime-17.0.0_pre20230314.ebuild
+++ /dev/null
@@ -1,41 +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%%.*}"
-KEYWORDS=""
-IUSE="+compiler-rt libcxx openmp +sanitize"
-REQUIRED_USE="sanitize? ( compiler-rt )"
-PROPERTIES="live"
-
-RDEPEND="
- compiler-rt? (
- ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
- sanitize? (
- ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
- )
- )
- libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
- openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )
-"
-
-pkg_pretend() {
- if tc-is-clang; then
- ewarn "You seem to be using clang as a system compiler. As of clang-16,"
- ewarn "upstream has turned a few warnings that commonly occur during"
- ewarn "configure script runs into errors by default. This causes some"
- ewarn "configure tests to start failing, sometimes resulting in silent"
- ewarn "breakage, missing functionality or runtime misbehavior. It is"
- ewarn "not yet clear whether the change will remain or be reverted."
- ewarn
- ewarn "For more information, please see:"
- ewarn "https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213"
- fi
-}
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index 51ad0776af54..9eb80fda1c26 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -1,6 +1,5 @@
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.0-manpages.tar.bz2 245787 BLAKE2B 362bd99a46cc61020d8c16bff8e438b6850229ee2b98d979c788e378ebe4a9fd369a87d5132e50a8802826b9e8bdff640fd19142a868b19b64b16bce78f85aff SHA512 fc9baffb1d92091ba6f556095797a0118013ee9265094459308d552c162f77651a07f5cd3752e457807a59238fcd1d0f7463c2fc7cde233bff64782ef47f041d
DIST llvm-16.0.1-manpages.tar.bz2 243292 BLAKE2B febf892d91f16f1b320083563ebecd0632e26823e316c62d608f4445979423c597534e75191522202168d76e7aa355bbccff0378e0152e7a0ac14cb95ba7baaf SHA512 0183a421167d8d20bd60306a43d3c4069f87e73615102a7430c2a4bd057c96e7941c91b8d92cfe7b29f2691d517c4a5406052a3a818fcaf1356e0392397c1676
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
@@ -9,17 +8,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
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.0.src.tar.xz 117933476 BLAKE2B fa09cd8f647ce0daf5a7eae9ac03b99594a9b3193b12065f43f9a6731875243f2f5b354136bcadcb31622b246054e94f880eec3dab0bcd6ae89973fa9dca845c SHA512 3f040abc1b03205693824aeff2ee6efb0cff25fe04bd5265141c093f294655a1f3fcda73cab9c57cbed7523c8f186a7e2484afce0792c55e90e3fb80450fabb7
-DIST llvm-project-16.0.0.src.tar.xz.sig 566 BLAKE2B daba130aa5662fbf7cc2e7aa8fa6b64f9cb355a72330f7a01a21b86389c6f2f85ae93de19ff08ba3f1cfe2834d9a2b7648bdf659caba3afdb2a0d13984774a54 SHA512 38e2449dce20cfbf813d1a9a68b36807722ac8ebb5ee07360fa215b2de8534d2329d3e41cfc3ed33e59e36714b94a6683a6d8077950bcf0037973492e0820fb3
DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-4bf004e07e2b9d6e04e3f33e1b02628c679de664.tar.gz 180304467 BLAKE2B 6750855453b575eb8fcc861d5b24b144497bba62df9b9292ac586cf340e04b2b58290fe9df6d89142f29b56aa37ddeb3bd11cc3337e4dc985a4487954d1e2ffa SHA512 d8a87064ba0f92967df019e9345222b87cda81852a9599902cedc4a49ec7d9e2175c972b7fa6d19920489c1d309822f9c31c23bdce0376a8d40c71d57bcd5068
EBUILD clang-14.0.6-r1.ebuild 12014 BLAKE2B 0f9eed7779a5b9aa8f92002f6f4d8e22e7baf3d3f6d1930e4716abf3aa00d866f68a682dc2a404655f53800e26c8b388da552184da6943287b2d91c5c1c2672b SHA512 c5e46f1044604f4e41cdb6c42d2079096c0bcdd396d99f8e95a6b5b66918e3519e4226741202f716fa5f53295188ec2bfcec66ae32480a8e10b4ab18bdb880ab
EBUILD clang-15.0.7-r1.ebuild 12409 BLAKE2B 8f8d642b676f0ad01700fca43d8158e54180010443f5456a3d3d270638dd280e8e399534c97d8fa8f7bcacd132d9f5735154cf4e12fd0fbc9a1e2b7f1e914ba9 SHA512 77139debe5214dd3047b44ab98bfd8a6eec2caa8635ba8cbfc14c94ed4d3d13febe08612e74f33db491cc98c30eadfcfead20a1c13a73466d7e49028222c93db
-EBUILD clang-16.0.0.ebuild 12418 BLAKE2B 57dfd115224aa564222e44debc492053f9e8f557f035d3d673b025f5108ec335c9671392979c543e3d6400b5c0bad3a673e71b1972f287f969fb7190f96db006 SHA512 ba3aa9433fd6b65cc32b84c586fdbc87107b5ec61863ce15ba8fe7446b981547a34be3316955aa30780af29a1d1b53bcb6567cf7dacb4b95b2f985843d6266e4
EBUILD clang-16.0.1.ebuild 12418 BLAKE2B 57dfd115224aa564222e44debc492053f9e8f557f035d3d673b025f5108ec335c9671392979c543e3d6400b5c0bad3a673e71b1972f287f969fb7190f96db006 SHA512 ba3aa9433fd6b65cc32b84c586fdbc87107b5ec61863ce15ba8fe7446b981547a34be3316955aa30780af29a1d1b53bcb6567cf7dacb4b95b2f985843d6266e4
EBUILD clang-16.0.2.9999.ebuild 12338 BLAKE2B 9f1989ffd52f28006e256a97836ac9623b3efff14516d05dc4c3cd69c97bd5955abc97142ed4b2099283ff2364ee7e4a32bf33282faf700643fee63e7bfc9be7 SHA512 e93e8f87344051c093d28b53fe0184444a2f34d05a1c95257c361ac097687d225cf9d6df218093887cdc07e23490f77a2399ed1e075c582aaa9710504687d31b
EBUILD clang-17.0.0.9999.ebuild 12352 BLAKE2B b2eb7a2fe9222bfe3b857844f65dc217b16a677e434efb70c8f576a154f95d4e47e55973d4954ae0924338a8d0cfc5453e9c163928bb297686926d2a13222933 SHA512 d1bb9920da99b036e2c1bf3dbd1c3f71249be6dc7e0a24c1c27acbfbca766c0bec4e1cae8e2f5aa0148ed1eefeb14202f97f80a9d508b772d781f37e5dd7380a
-EBUILD clang-17.0.0_pre20230314.ebuild 12338 BLAKE2B 869e9d4f63fa9a0dbd7b23ffea1f09060b1cf579d6d9c9a3f707f697bdfa20ba76f8da9b34986077fdcfb6877b04c3a03664592e612874b2991c69230fe5f7c7 SHA512 23fa3774f4fa649b1b927c700507ba29f3b41ab4f4385b9e4685648815f9f761c5a16864f37e5f809389c43456ac39db1f6b9a1d7dcbb9e2a7b226d16b824bd5
EBUILD clang-17.0.0_pre20230325.ebuild 12338 BLAKE2B 869e9d4f63fa9a0dbd7b23ffea1f09060b1cf579d6d9c9a3f707f697bdfa20ba76f8da9b34986077fdcfb6877b04c3a03664592e612874b2991c69230fe5f7c7 SHA512 23fa3774f4fa649b1b927c700507ba29f3b41ab4f4385b9e4685648815f9f761c5a16864f37e5f809389c43456ac39db1f6b9a1d7dcbb9e2a7b226d16b824bd5
MISC metadata.xml 1600 BLAKE2B 8e49e099132445cf695e904acad8a699f3d8c4c1e4cd6ba9d0b97180dfa5b67e9c30b00d1e4cb6cd2f61b27f022accc8d6ee889c6569fc58fbc058186ad216fc SHA512 96b7cf4988ff1fd923ec87311caed458b64888b5acaaf20cc1ad893f2a963158f7f59398f9fd4f9e65cab3df265c0d002048ff874f7a76b94f36377bf9e8f5f6
diff --git a/sys-devel/clang/clang-16.0.0.ebuild b/sys-devel/clang/clang-16.0.0.ebuild
deleted file mode 100644
index d2e8178b4e17..000000000000
--- a/sys-devel/clang/clang-16.0.0.ebuild
+++ /dev/null
@@ -1,481 +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}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x64-macos"
-IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
- >=sys-devel/clang-common-${PV}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- ~sys-devel/clang-runtime-${PV}
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/lib/Testing
- llvm/utils
- third-party
-)
-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-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() {
- 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_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
-
- -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
- # 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_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_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
-
- # 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
-
- # 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-17.0.0_pre20230314.ebuild b/sys-devel/clang/clang-17.0.0_pre20230314.ebuild
deleted file mode 100644
index 7b5d18fba497..000000000000
--- a/sys-devel/clang/clang-17.0.0_pre20230314.ebuild
+++ /dev/null
@@ -1,480 +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}"
-KEYWORDS=""
-IUSE="debug doc +extra ieee-long-double +pie +static-analyzer test xml"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
- static-analyzer? ( dev-lang/perl:* )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
-"
-
-RDEPEND="
- ${PYTHON_DEPS}
- ${DEPEND}
- >=sys-devel/clang-common-${PV}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-util/cmake-3.16
- doc? ( $(python_gen_cond_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- xml? ( virtual/pkgconfig )
-"
-PDEPEND="
- ~sys-devel/clang-runtime-${PV}
- sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=(
- clang clang-tools-extra cmake
- llvm/lib/Transforms/Hello
-)
-LLVM_MANPAGES=1
-LLVM_TEST_COMPONENTS=(
- llvm/utils
-)
-LLVM_USE_TARGETS=llvm
-llvm.org_set_globals
-
-# Multilib notes:
-# 1. ABI_* flags control ABIs libclang* is built for only.
-# 2. clang is always capable of compiling code for all ABIs for enabled
-# target. However, you will need appropriate crt* files (installed
-# e.g. by sys-devel/gcc and sys-libs/glibc).
-# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
-# in the current profile (i.e. alike supported by sys-devel/gcc).
-#
-# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
-# multilib clang* libraries (not runtime, not wrappers).
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- python-single-r1_pkg_setup
-}
-
-src_prepare() {
- # create extra parent dir for relative CLANG_RESOURCE_DIR access
- mkdir -p x/y || die
- BUILD_DIR=${WORKDIR}/x/y/clang
-
- llvm.org_src_prepare
-
- # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
- eprefixify \
- lib/Lex/InitHeaderSearch.cpp \
- lib/Driver/ToolChains/Darwin.cpp || die
-
- if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
- sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # meta-targets
- clang-libraries|distribution)
- continue
- ;;
- # tools
- clang|clangd|clang-*)
- ;;
- # static libraries
- clang*|findAllSymbols)
- continue
- ;;
- # conditional to USE=doc
- docs-clang-html|docs-clang-tools-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # common stuff
- clang-cmake-exports
- clang-headers
- clang-resource-headers
- libclang-headers
-
- aarch64-resource-headers
- arm-common-resource-headers
- arm-resource-headers
- core-resource-headers
- cuda-resource-headers
- hexagon-resource-headers
- hip-resource-headers
- hlsl-resource-headers
- mips-resource-headers
- opencl-resource-headers
- openmp-resource-headers
- ppc-htm-resource-headers
- ppc-resource-headers
- riscv-resource-headers
- systemz-resource-headers
- utility-resource-headers
- ve-resource-headers
- webassembly-resource-headers
- windows-resource-headers
- x86-resource-headers
-
- # libs
- clang-cpp
- libclang
- )
-
- if multilib_is_native_abi; then
- out+=(
- # common stuff
- bash-autocomplete
- libclang-python-bindings
-
- # tools
- amdgpu-arch
- c-index-test
- clang
- clang-format
- clang-linker-wrapper
- clang-offload-bundler
- clang-offload-packager
- clang-refactor
- clang-repl
- clang-rename
- clang-scan-deps
- diagtool
- hmaptool
- nvptx-arch
-
- # needed for cross-compiling Clang
- clang-tblgen
- )
-
- if use extra; then
- out+=(
- # extra tools
- clang-apply-replacements
- clang-change-namespace
- clang-doc
- clang-include-cleaner
- clang-include-fixer
- clang-move
- clang-pseudo
- clang-query
- clang-reorder-fields
- clang-tidy
- clang-tidy-headers
- clangd
- find-all-symbols
- modularize
- pp-trace
- )
- fi
-
- if llvm_are_manpages_built; then
- out+=( docs-clang-man )
- use extra && out+=( docs-clang-tools-man )
- fi
-
- if use doc; then
- out+=( docs-clang-html )
- use extra && out+=( docs-clang-tools-html )
- fi
-
- use static-analyzer && out+=(
- clang-check
- clang-extdef-mapping
- scan-build
- scan-build-py
- scan-view
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- 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_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
-
- -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_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_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_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
-
- # 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
-
- # 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/gcc/Manifest b/sys-devel/gcc/Manifest
index 761ff5c8f6ae..102b7adf6877 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -75,6 +75,7 @@ EBUILD gcc-13.0.1_pre20230326-r1.ebuild 1441 BLAKE2B cb7296081107856f2d0a9ead3a7
EBUILD gcc-13.0.1_pre20230326.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
EBUILD gcc-13.0.1_pre20230402-r1.ebuild 1411 BLAKE2B 6f7e2759d96267e81e30998c89882c8969cdce04eab729eef48c40228bf2c070a6279a2273f3d9091370b0ed7d2a976462f79b6da0d91d5f130dfc1080f4851d SHA512 ccab5f39490d7df22386f1e98dc55a4a8e666c680512f2f841cf0a03d283aa9d88ef4059d3322c2bbcb42b0d6317a914f51e26b4beb7aeebe91b8cd432797d3a
EBUILD gcc-13.0.1_pre20230402.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
+EBUILD gcc-13.0.1_pre20230409-r1.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
EBUILD gcc-13.0.1_pre20230409.ebuild 1354 BLAKE2B b1dcf92771940c65b4862f76107df49bdc811c279fa33205cc63d8ed74ceed786712e42a7c050e691a30494b3b55c7bcf62e14d7baa2550c392b7d0bac0007d0 SHA512 4e49f8ea0487bd4cf57a2518647e1dc1f82e1b891a200463f2c17f6285b67070abd1d732ef2c578389a927f142495b3f721a6017f211684b27a3f5ce903cd774
EBUILD gcc-8.5.0-r1.ebuild 498 BLAKE2B e24f62fdb50bf2e9957cbb85c72adc96d369938a7f552735772de964f7023b8b34bd11e7e544d268cc308e25272084a728bd061f37c568d42ea65d55bb2a2e93 SHA512 f35b353e9f54eb3e1c6f8e0ea262458b41da9bddb993793aff79f765c4d93811744979d34e50c6470a9b2cfb63b7006bd284d819b7a98e56a8b3a34ae570ae76
EBUILD gcc-9.5.0.ebuild 844 BLAKE2B 719c259a6f39c72f7d1748095a9e649d4ab3dde04b118125313ab9b915eb9cbd038592532185317080dbc46d73a8bd324b498462db73b12d23144cd58378dd9c SHA512 1ed19c79239d155be3b267fcad4d7230821406ba8fb2c11857168fc0e717c4edcd8d7fb0972bc6df0fbcfbd8a9f085aa023f452368278c0e7e0af014c1124d89
diff --git a/sys-devel/gcc/gcc-13.0.1_pre20230409-r1.ebuild b/sys-devel/gcc/gcc-13.0.1_pre20230409-r1.ebuild
new file mode 100644
index 000000000000..f476227f8198
--- /dev/null
+++ b/sys-devel/gcc/gcc-13.0.1_pre20230409-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_VER="9"
+PATCH_GCC_VER="13.1.0"
+MUSL_VER="1"
+MUSL_GCC_VER="13.1.0"
+
+if [[ $(ver_cut 3) == 9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=$(($(ver_cut 3) - 9998))
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$(($(ver_cut 2) - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+fi
+
+inherit toolchain
+# Needs to be after inherit (for now?), bug #830908
+EGIT_BRANCH=master
+
+# Don't keyword live ebuilds
+if ! tc_is_live && [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+# KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ KEYWORDS="~loong"
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index 3e532495603c..3ed6f19d0d46 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -3,17 +3,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
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.0.src.tar.xz 117933476 BLAKE2B fa09cd8f647ce0daf5a7eae9ac03b99594a9b3193b12065f43f9a6731875243f2f5b354136bcadcb31622b246054e94f880eec3dab0bcd6ae89973fa9dca845c SHA512 3f040abc1b03205693824aeff2ee6efb0cff25fe04bd5265141c093f294655a1f3fcda73cab9c57cbed7523c8f186a7e2484afce0792c55e90e3fb80450fabb7
-DIST llvm-project-16.0.0.src.tar.xz.sig 566 BLAKE2B daba130aa5662fbf7cc2e7aa8fa6b64f9cb355a72330f7a01a21b86389c6f2f85ae93de19ff08ba3f1cfe2834d9a2b7648bdf659caba3afdb2a0d13984774a54 SHA512 38e2449dce20cfbf813d1a9a68b36807722ac8ebb5ee07360fa215b2de8534d2329d3e41cfc3ed33e59e36714b94a6683a6d8077950bcf0037973492e0820fb3
DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-4bf004e07e2b9d6e04e3f33e1b02628c679de664.tar.gz 180304467 BLAKE2B 6750855453b575eb8fcc861d5b24b144497bba62df9b9292ac586cf340e04b2b58290fe9df6d89142f29b56aa37ddeb3bd11cc3337e4dc985a4487954d1e2ffa SHA512 d8a87064ba0f92967df019e9345222b87cda81852a9599902cedc4a49ec7d9e2175c972b7fa6d19920489c1d309822f9c31c23bdce0376a8d40c71d57bcd5068
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.0.ebuild 2239 BLAKE2B 33f554acd6e1db31f9aec3d75b2c43994a95240ba42bcdf7060090231ff6214e896b5fd051fcb513337161cef408014f64391e9ecfcf5269749fcfdb8a3771da SHA512 a06a9e4ff4f9109dd4eb3f3fdb2308b043beca30c016b184a3f77e7c4728161b3a1b4a662fccf102419c4a3aabab9e30db5a3c87448fb8b2a91237bc08e834ea
EBUILD lld-16.0.1.ebuild 2239 BLAKE2B 33f554acd6e1db31f9aec3d75b2c43994a95240ba42bcdf7060090231ff6214e896b5fd051fcb513337161cef408014f64391e9ecfcf5269749fcfdb8a3771da SHA512 a06a9e4ff4f9109dd4eb3f3fdb2308b043beca30c016b184a3f77e7c4728161b3a1b4a662fccf102419c4a3aabab9e30db5a3c87448fb8b2a91237bc08e834ea
EBUILD lld-16.0.2.9999.ebuild 2197 BLAKE2B 0f6db5db6fff4f572187749ab1704fce82e1859db1b7dd8b9de3652eed3e63ae781f7c48d16237576e9a186fe0680e349d160f15047cb5f54998fab7b8c0d60e SHA512 5de60e7ae08bade5028fb325e81ef82bf2aca38507d131e40505320587cbc43db5d74203d849cb057bee27b7f4e3820263f429db8454e4ca38bcc6f7e873bf9b
EBUILD lld-17.0.0.9999.ebuild 2149 BLAKE2B ee6280f1e83a7660c9ccd01ea2fbd6748996d8419d92ae8175af1616f6a86b267e15b90bf32d41585295b510457171ac071b82525828129f7484a40426aa009c SHA512 24e20f5ba77d2c79fe8db7836ed69879923c6f6f6a4c463776d5eada52073a668dfa5ce431bfe78f07a300519abb2c2bd1c6721bbfe89a2266fe339f7b80235f
-EBUILD lld-17.0.0_pre20230314.ebuild 2149 BLAKE2B ee6280f1e83a7660c9ccd01ea2fbd6748996d8419d92ae8175af1616f6a86b267e15b90bf32d41585295b510457171ac071b82525828129f7484a40426aa009c SHA512 24e20f5ba77d2c79fe8db7836ed69879923c6f6f6a4c463776d5eada52073a668dfa5ce431bfe78f07a300519abb2c2bd1c6721bbfe89a2266fe339f7b80235f
EBUILD lld-17.0.0_pre20230325.ebuild 2149 BLAKE2B ee6280f1e83a7660c9ccd01ea2fbd6748996d8419d92ae8175af1616f6a86b267e15b90bf32d41585295b510457171ac071b82525828129f7484a40426aa009c SHA512 24e20f5ba77d2c79fe8db7836ed69879923c6f6f6a4c463776d5eada52073a668dfa5ce431bfe78f07a300519abb2c2bd1c6721bbfe89a2266fe339f7b80235f
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-16.0.0.ebuild b/sys-devel/lld/lld-16.0.0.ebuild
deleted file mode 100644
index 7ddfd8f8a755..000000000000
--- a/sys-devel/lld/lld-16.0.0.ebuild
+++ /dev/null
@@ -1,90 +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 flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
-
-DESCRIPTION="The LLVM linker (link editor)"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-IUSE="debug test zstd"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}[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_TEST_COMPONENTS=( llvm/utils third-party )
-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-17.0.0_pre20230314.ebuild b/sys-devel/lld/lld-17.0.0_pre20230314.ebuild
deleted file mode 100644
index 6d188a8f63b6..000000000000
--- a/sys-devel/lld/lld-17.0.0_pre20230314.ebuild
+++ /dev/null
@@ -1,89 +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 flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
-
-DESCRIPTION="The LLVM linker (link editor)"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS=""
-IUSE="debug test zstd"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- ~sys-devel/llvm-${PV}[zstd=]
- sys-libs/zlib:=
- zstd? ( app-arch/zstd:= )
-"
-RDEPEND="
- ${DEPEND}
- !sys-devel/lld:0
-"
-BDEPEND="
- sys-devel/llvm:${LLVM_MAJOR}
- test? (
- >=dev-util/cmake-3.16
- $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
- )
-"
-PDEPEND="
- >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR}
-"
-
-LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
-llvm.org_set_globals
-
-python_check_deps() {
- python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
-}
-
-pkg_setup() {
- LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
- use test && python-any-r1_pkg_setup
-}
-
-src_unpack() {
- llvm.org_src_unpack
-
- # Directory ${WORKDIR}/llvm does not exist with USE="-test",
- # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
- # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
- # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
- # to existent directory ${WORKDIR}/libunwind/include.
- mkdir -p "${WORKDIR}/llvm" || die
-}
-
-src_configure() {
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
-
- use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
-
- local mycmakeargs=(
- -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
- -DBUILD_SHARED_LIBS=ON
- -DLLVM_INCLUDE_TESTS=$(usex test)
- )
-
- use test && mycmakeargs+=(
- -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- -DPython3_EXECUTABLE="${PYTHON}"
- )
-
- tc-is-cross-compiler && mycmakeargs+=(
- -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
- )
-
- cmake_src_configure
-}
-
-src_test() {
- local -x LIT_PRESERVES_TMP=1
- cmake_build check-lld
-}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 51ae568b89ac..ec60619543c0 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -3,17 +3,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
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.0.src.tar.xz 117933476 BLAKE2B fa09cd8f647ce0daf5a7eae9ac03b99594a9b3193b12065f43f9a6731875243f2f5b354136bcadcb31622b246054e94f880eec3dab0bcd6ae89973fa9dca845c SHA512 3f040abc1b03205693824aeff2ee6efb0cff25fe04bd5265141c093f294655a1f3fcda73cab9c57cbed7523c8f186a7e2484afce0792c55e90e3fb80450fabb7
-DIST llvm-project-16.0.0.src.tar.xz.sig 566 BLAKE2B daba130aa5662fbf7cc2e7aa8fa6b64f9cb355a72330f7a01a21b86389c6f2f85ae93de19ff08ba3f1cfe2834d9a2b7648bdf659caba3afdb2a0d13984774a54 SHA512 38e2449dce20cfbf813d1a9a68b36807722ac8ebb5ee07360fa215b2de8534d2329d3e41cfc3ed33e59e36714b94a6683a6d8077950bcf0037973492e0820fb3
DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-4bf004e07e2b9d6e04e3f33e1b02628c679de664.tar.gz 180304467 BLAKE2B 6750855453b575eb8fcc861d5b24b144497bba62df9b9292ac586cf340e04b2b58290fe9df6d89142f29b56aa37ddeb3bd11cc3337e4dc985a4487954d1e2ffa SHA512 d8a87064ba0f92967df019e9345222b87cda81852a9599902cedc4a49ec7d9e2175c972b7fa6d19920489c1d309822f9c31c23bdce0376a8d40c71d57bcd5068
EBUILD llvm-common-14.0.6.ebuild 602 BLAKE2B ef26d6ac2606e9a316ddcce442da1762f578ade0346ba2a947fdace5e2020e8841c63d173e42506d23abf6efc062a2edfac0be98a3eefe1f7a29c88702e9f1d5 SHA512 789dad6fdcf9a930ddc1046e7e98ebc1e05b2dd3713bb1ec5b8a5711690d779691c91d1000d9776720b21ed241d2f12c0ae9a8dba0e6a17d0ddf563cdfbe657f
EBUILD llvm-common-15.0.7.ebuild 601 BLAKE2B 3dd38d17640ed52ff0be26db026475a9d0e7e1acebe95043bc6e0e63e32ff4f03c5637a9dcce25987f673962447feb4aa015f8b5b5cb33553dc1a4f843b75399 SHA512 e8a93a72d06810cface48cce2d8f8a890cdf009939a96350a23fe407b064c05a3016c663d11a3866dc2dd0fd87599b5ac234895c8c42c902e9b0cdb37dba7b62
-EBUILD llvm-common-16.0.0.ebuild 615 BLAKE2B dddab327388341f3330d7374a76bc1ea144aa5cad62feea34140b5825daf13118ff7185a6c2cce07479c3ca13c3ba8ad7cac7ba71a8b49fdd25a979d899a5b0a SHA512 57e7d90e7fc4f5dd2daddd1c7e8ed7885112120aca2b13b21e2fc719cfe5a87bb640aa67c605827bcd60aa71300abeba937e158ae1a1a16559236ef9e6d18319
EBUILD llvm-common-16.0.1.ebuild 615 BLAKE2B dddab327388341f3330d7374a76bc1ea144aa5cad62feea34140b5825daf13118ff7185a6c2cce07479c3ca13c3ba8ad7cac7ba71a8b49fdd25a979d899a5b0a SHA512 57e7d90e7fc4f5dd2daddd1c7e8ed7885112120aca2b13b21e2fc719cfe5a87bb640aa67c605827bcd60aa71300abeba937e158ae1a1a16559236ef9e6d18319
EBUILD llvm-common-16.0.2.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
EBUILD llvm-common-17.0.0.9999.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
-EBUILD llvm-common-17.0.0_pre20230314.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
EBUILD llvm-common-17.0.0_pre20230325.ebuild 524 BLAKE2B 381b028d6ad33fa97d2ff250266bd896153222cb62647bc6c4a9f7493fc96c23faf788ce8a976d35333e8d40e63cad4c3f44322f6a41f1dbe53f9e772c3a40d9 SHA512 9661a9c544d8bf3edf6c24a307324a58652c8635703dcfa008cad96826e3404cbb05e5c95fe7df85ed6d2642e4f83cfff0c9a381b796cc78f560854aa071acbe
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-16.0.0.ebuild b/sys-devel/llvm-common/llvm-common-16.0.0.ebuild
deleted file mode 100644
index 4dd4fe395fe7..000000000000
--- a/sys-devel/llvm-common/llvm-common-16.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of LLVM"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-
-RDEPEND="
- !sys-devel/llvm:0
-"
-
-LLVM_COMPONENTS=( llvm/utils/vim )
-llvm.org_set_globals
-
-src_install() {
- insinto /usr/share/vim/vimfiles
- doins -r */
- # some users may find it useful
- newdoc README README.vim
- dodoc vimrc
-}
diff --git a/sys-devel/llvm-common/llvm-common-17.0.0_pre20230314.ebuild b/sys-devel/llvm-common/llvm-common-17.0.0_pre20230314.ebuild
deleted file mode 100644
index ce5f03ca34a5..000000000000
--- a/sys-devel/llvm-common/llvm-common-17.0.0_pre20230314.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of LLVM"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS=""
-
-RDEPEND="
- !sys-devel/llvm:0
-"
-
-LLVM_COMPONENTS=( llvm/utils/vim )
-llvm.org_set_globals
-
-src_install() {
- insinto /usr/share/vim/vimfiles
- doins -r */
- # some users may find it useful
- newdoc README README.vim
- dodoc vimrc
-}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 38bf5d3dd63f..0d5fbeeb73bd 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -1,6 +1,5 @@
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.0-manpages.tar.bz2 245787 BLAKE2B 362bd99a46cc61020d8c16bff8e438b6850229ee2b98d979c788e378ebe4a9fd369a87d5132e50a8802826b9e8bdff640fd19142a868b19b64b16bce78f85aff SHA512 fc9baffb1d92091ba6f556095797a0118013ee9265094459308d552c162f77651a07f5cd3752e457807a59238fcd1d0f7463c2fc7cde233bff64782ef47f041d
DIST llvm-16.0.1-manpages.tar.bz2 243292 BLAKE2B febf892d91f16f1b320083563ebecd0632e26823e316c62d608f4445979423c597534e75191522202168d76e7aa355bbccff0378e0152e7a0ac14cb95ba7baaf SHA512 0183a421167d8d20bd60306a43d3c4069f87e73615102a7430c2a4bd057c96e7941c91b8d92cfe7b29f2691d517c4a5406052a3a818fcaf1356e0392397c1676
DIST llvm-gentoo-patchset-14.0.6-r2.tar.xz 16120 BLAKE2B e12e522fdb7ba505693c679cb09cc8e00e6a954df195c86c2af4dbf1b68334a405b8dcc45f2e28b5e5e0b7e9d5eb7ba907337027927371b7a3b7784ff8aae7e0 SHA512 8a5ea71c30fc0727cc855dd812bbcb6d5f51c80c98eb3d5b80258d5c5eaab1310edc9d53ae63c2ca827abec68e2912c4b69ef0da351ff883fb30545a61e1d09c
DIST llvm-gentoo-patchset-15.0.7.tar.xz 19300 BLAKE2B b70e81d744c2eba5cd851e7b690ce8979b3064973f522be7c93bfb541860000a4bc8b17219f8788dfc8a527217dd13946cf7836640698ddd3d4b3fde493dfbf8 SHA512 daffff6ae4a0874aff1a423b4bb36701ecb5a35a36ae91d4ed7fda58b83e50ffcdc30498c84be4711fd3e1f227bf312dbe930019203e0a131944439af2aa94f7
@@ -9,17 +8,12 @@ DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f
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.0.src.tar.xz 117933476 BLAKE2B fa09cd8f647ce0daf5a7eae9ac03b99594a9b3193b12065f43f9a6731875243f2f5b354136bcadcb31622b246054e94f880eec3dab0bcd6ae89973fa9dca845c SHA512 3f040abc1b03205693824aeff2ee6efb0cff25fe04bd5265141c093f294655a1f3fcda73cab9c57cbed7523c8f186a7e2484afce0792c55e90e3fb80450fabb7
-DIST llvm-project-16.0.0.src.tar.xz.sig 566 BLAKE2B daba130aa5662fbf7cc2e7aa8fa6b64f9cb355a72330f7a01a21b86389c6f2f85ae93de19ff08ba3f1cfe2834d9a2b7648bdf659caba3afdb2a0d13984774a54 SHA512 38e2449dce20cfbf813d1a9a68b36807722ac8ebb5ee07360fa215b2de8534d2329d3e41cfc3ed33e59e36714b94a6683a6d8077950bcf0037973492e0820fb3
DIST llvm-project-16.0.1.src.tar.xz 117990772 BLAKE2B 298189ce6d7245711e5bd3e03fa74d603dda5a458463ca0cb261fe6949290c46a70abbd1ad1c556e08da3adc5df577305e267c1135214b900d78502e39b46bc5 SHA512 98fc11c0ad90d5e5a2cb123b497b89a1583fe7f91b3ff05c335037801ef66cbfab08f6d2eff539f0da238e9685d4bc7a9fb2578e28864fc9e9357b84129cefaa
DIST llvm-project-16.0.1.src.tar.xz.sig 566 BLAKE2B 06c03d789e63ab30bba4c56ba9ec91400d804448482d6a7fd395252b3b9166a5ee7a42a94c2074aa0d1809a3327f993d8932211f3fc05ad281db64c17b2a7094 SHA512 f42db28eb8280db06b1c78fa7a7aaea3a79499cecee1a64ce18c49b90c755b3a78fc93f01d1855887c7918ccc927c3b6147cfc916520f05d4cef65381ca6fe60
-DIST llvm-project-4bf004e07e2b9d6e04e3f33e1b02628c679de664.tar.gz 180304467 BLAKE2B 6750855453b575eb8fcc861d5b24b144497bba62df9b9292ac586cf340e04b2b58290fe9df6d89142f29b56aa37ddeb3bd11cc3337e4dc985a4487954d1e2ffa SHA512 d8a87064ba0f92967df019e9345222b87cda81852a9599902cedc4a49ec7d9e2175c972b7fa6d19920489c1d309822f9c31c23bdce0376a8d40c71d57bcd5068
EBUILD llvm-14.0.6-r2.ebuild 12389 BLAKE2B 549b4e1c7feceb40c7e5aaa624925ec08627c84236c460f85a044621dc388cfca248f8a311c657a3b3dadbd367472f3c820a635c14246f74fdac98dd2ddf6fd1 SHA512 8559954b641fc007c92d4b3e2fcc129bdd812f974dccf37d74f61cb9d7414e28cbb41d7088767356035b972c1e417561770a89169676841e762e62644c6d0323
EBUILD llvm-15.0.7.ebuild 12558 BLAKE2B 1f73f500a38ee4e96438a5e478781a562d48e10d550cd6c5beaf37a754ead1f0bedb121be78c6bee229f694cb085ee665f7b33a44eacba0d6eeaa42b545f6ca7 SHA512 92dd8f7f8554ee24978ef4e1409f5356a95455d2b5006da0a5dbf27cc277962916a0e93d2f7630a0eb3a9f3a1167eb9aeec0a319de3637c5762a7c391d3f5330
-EBUILD llvm-16.0.0.ebuild 12490 BLAKE2B 95b6ae05f64728668134ff348e5d084346285425e57c69a7345a44f85c832523b1219a76c3b2c6274e190b869569be3f91d9e5c0298e13167f3e6e0e8d676f66 SHA512 eec238ccb340ad901e130d984349ee4a9788bec4cd7def73a6c946becd1b86b74ee044e39cda48f892017a06e2a381a0424caaf44d073a51c64625c3b45411ba
EBUILD llvm-16.0.1.ebuild 12490 BLAKE2B 95b6ae05f64728668134ff348e5d084346285425e57c69a7345a44f85c832523b1219a76c3b2c6274e190b869569be3f91d9e5c0298e13167f3e6e0e8d676f66 SHA512 eec238ccb340ad901e130d984349ee4a9788bec4cd7def73a6c946becd1b86b74ee044e39cda48f892017a06e2a381a0424caaf44d073a51c64625c3b45411ba
EBUILD llvm-16.0.2.9999.ebuild 12399 BLAKE2B d18e5df615286b2e89b9b4c8eb8b79984c20cc5022545f713d92df70bf5f404edc380d5175dd767fcd7957653a5bd0ba5a3ed602c7d7f3c2dea0a06eda7f7a4e SHA512 c0af4a0925717b1d8783383b543425f558a249056d8424d71d441e365867c24d6a8b243632d4c4f9685242d4f1b671591448553c5dde5acea1563e02381aa3a5
EBUILD llvm-17.0.0.9999.ebuild 12757 BLAKE2B 0f9e50da2e9a963ad952b87b2194a6b47ee97fe75eb8a660cd1bc2e0d2c1ce6b780cac0778abb2095b86a575a4f432ecb8cf7a533f297514cfb13bb34a2b5856 SHA512 f55bebe64915822516013e30a5fb911b1be967ca96931373ea7cbaed5e6fcaf3e593016848803c5d57c89ac9aa58a2ca1ce6fef0ac9bb9d3dfc1a0028e64426a
-EBUILD llvm-17.0.0_pre20230314.ebuild 12572 BLAKE2B 8cb52862e845d3b05271be7a94d5c3a2d955959ccb5d4bda87ca152a37746ddc848060e1d69e79daa0a1a06d3da745baeda7301f6790aee39e66a9c92a01f1cb SHA512 d0b022959fcf70ca0ab5320b11ae55ababd302fa0e62afc13b3ba519620c26e12b922449008b5d8dd2d7dc397b9d39bc79787f5d10aa0bc55410db28c9a39a9c
EBUILD llvm-17.0.0_pre20230325.ebuild 12572 BLAKE2B 8cb52862e845d3b05271be7a94d5c3a2d955959ccb5d4bda87ca152a37746ddc848060e1d69e79daa0a1a06d3da745baeda7301f6790aee39e66a9c92a01f1cb SHA512 d0b022959fcf70ca0ab5320b11ae55ababd302fa0e62afc13b3ba519620c26e12b922449008b5d8dd2d7dc397b9d39bc79787f5d10aa0bc55410db28c9a39a9c
MISC metadata.xml 2782 BLAKE2B 4bd546287f630462c3f5d98cbd15a59a4cdef4023f86a5f4fe64fc5f10256cae7014d18823bd0909f4af4e42f299b6e7983c9c3c569cfab1ad38b0160f1eae40 SHA512 6bf1dc4f71f50e1eecc55cbb8366d8ed82a3dd328871acf1d808fc5e3ee4d203d623f81d9968bda45a87c72a2f20ed69b735b0a289b0052b048175cf6502e124
diff --git a/sys-devel/llvm/llvm-16.0.0.ebuild b/sys-devel/llvm/llvm-16.0.0.ebuild
deleted file mode 100644
index 164977c556dc..000000000000
--- a/sys-devel/llvm/llvm-16.0.0.ebuild
+++ /dev/null
@@ -1,517 +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 flag-o-matic
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
- binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
-"
-
-LLVM_COMPONENTS=( llvm cmake )
-LLVM_TEST_COMPONENTS=( third-party )
-LLVM_MANPAGES=1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfo-analyzer
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
-
- 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=$(usex test)
- -DLLVM_BUILD_TESTS=$(usex test)
-
- -DLLVM_ENABLE_FFI=$(usex libffi)
- -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
- -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
- -DLLVM_ENABLE_LIBXML2=$(usex xml)
- -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
- -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
- -DLLVM_ENABLE_EH=ON
- -DLLVM_ENABLE_RTTI=ON
- -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
- -DLLVM_ENABLE_ZSTD=$(usex zstd)
-
- -DLLVM_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- local suffix=
- if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
- # the ABI of the main branch is not stable, so let's include
- # the commit id in the SOVERSION to contain the breakage
- suffix+="git${EGIT_VERSION::8}"
- fi
- if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- suffix+="+libcxx"
- mycmakeargs+=(
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="${suffix}"
- )
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- tc-env_build cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${LLVM_MAJOR} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}
diff --git a/sys-devel/llvm/llvm-17.0.0_pre20230314.ebuild b/sys-devel/llvm/llvm-17.0.0_pre20230314.ebuild
deleted file mode 100644
index f7e501b7f98e..000000000000
--- a/sys-devel/llvm/llvm-17.0.0_pre20230314.ebuild
+++ /dev/null
@@ -1,526 +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 flag-o-matic
-
-DESCRIPTION="Low Level Virtual Machine"
-HOMEPAGE="https://llvm.org/"
-
-# Additional licenses:
-# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
-# 2. xxhash: BSD.
-# 3. MD5 code: public-domain.
-# 4. ConvertUTF.h: TODO.
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
-SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
-KEYWORDS=""
-IUSE="
- +binutils-plugin debug doc exegesis libedit +libffi ncurses test xar
- xml z3 zstd
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- sys-libs/zlib:0=[${MULTILIB_USEDEP}]
- exegesis? ( dev-libs/libpfm:= )
- libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
- libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
- ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
- xar? ( app-arch/xar )
- xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
- z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
- zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
-"
-DEPEND="
- ${RDEPEND}
- binutils-plugin? ( sys-libs/binutils-libs )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-lang/perl
- >=dev-util/cmake-3.16
- sys-devel/gnuconfig
- kernel_Darwin? (
- <sys-libs/libcxx-${LLVM_VERSION}.9999
- >=sys-devel/binutils-apple-5.1
- )
- doc? ( $(python_gen_any_dep '
- dev-python/recommonmark[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- ') )
- libffi? ( virtual/pkgconfig )
-"
-# There are no file collisions between these versions but having :0
-# installed means llvm-config there will take precedence.
-RDEPEND="
- ${RDEPEND}
- !sys-devel/llvm:0
-"
-PDEPEND="
- sys-devel/llvm-common
- sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
- binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
-"
-
-LLVM_COMPONENTS=( llvm cmake third-party )
-LLVM_MANPAGES=1
-LLVM_USE_TARGETS=provide
-llvm.org_set_globals
-
-python_check_deps() {
- use doc || return 0
-
- python_has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
-}
-
-check_uptodate() {
- local prod_targets=(
- $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
- | tail -n +2 | head -n -1)
- )
- local all_targets=(
- lib/Target/*/
- )
- all_targets=( "${all_targets[@]#lib/Target/}" )
- all_targets=( "${all_targets[@]%/}" )
-
- local exp_targets=() i
- for i in "${all_targets[@]}"; do
- has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
- done
-
- if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
- eqawarn "Expected: ${exp_targets[*]}"
- eqawarn
- fi
-
- if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
- eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
- eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
- eqawarn "Expected: ${prod_targets[*]}"
- fi
-}
-
-check_distribution_components() {
- if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
- local all_targets=() my_targets=() l
- cd "${BUILD_DIR}" || die
-
- while read -r l; do
- if [[ ${l} == install-*-stripped:* ]]; then
- l=${l#install-}
- l=${l%%-stripped*}
-
- case ${l} in
- # shared libs
- LLVM|LLVMgold)
- ;;
- # TableGen lib + deps
- LLVMDemangle|LLVMSupport|LLVMTableGen)
- ;;
- # testing libraries
- LLVMTestingAnnotations|LLVMTestingSupport)
- ;;
- # static libs
- LLVM*)
- continue
- ;;
- # meta-targets
- distribution|llvm-libraries)
- continue
- ;;
- # used only w/ USE=doc
- docs-llvm-html)
- use doc || continue
- ;;
- esac
-
- all_targets+=( "${l}" )
- fi
- done < <(${NINJA} -t targets all)
-
- while read -r l; do
- my_targets+=( "${l}" )
- done < <(get_distribution_components $"\n")
-
- local add=() remove=()
- for l in "${all_targets[@]}"; do
- if ! has "${l}" "${my_targets[@]}"; then
- add+=( "${l}" )
- fi
- done
- for l in "${my_targets[@]}"; do
- if ! has "${l}" "${all_targets[@]}"; then
- remove+=( "${l}" )
- fi
- done
-
- if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
- eqawarn "get_distribution_components() is outdated!"
- eqawarn " Add: ${add[*]}"
- eqawarn "Remove: ${remove[*]}"
- fi
- cd - >/dev/null || die
- fi
-}
-
-src_prepare() {
- # disable use of SDK on OSX, bug #568758
- sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
-
- # Update config.guess to support more systems
- cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
-
- # Verify that the ebuild is up-to-date
- check_uptodate
-
- llvm.org_src_prepare
-}
-
-get_distribution_components() {
- local sep=${1-;}
-
- local out=(
- # shared libs
- LLVM
- LTO
- Remarks
-
- # tools
- llvm-config
-
- # common stuff
- cmake-exports
- llvm-headers
-
- # libraries needed for clang-tblgen
- LLVMDemangle
- LLVMSupport
- LLVMTableGen
-
- # testing libraries
- llvm_gtest
- llvm_gtest_main
- LLVMTestingAnnotations
- LLVMTestingSupport
- )
-
- if multilib_is_native_abi; then
- out+=(
- # utilities
- llvm-tblgen
- FileCheck
- llvm-PerfectShuffle
- count
- not
- yaml-bench
- UnicodeNameMappingGenerator
-
- # tools
- bugpoint
- dsymutil
- llc
- lli
- lli-child-target
- llvm-addr2line
- llvm-ar
- llvm-as
- llvm-bcanalyzer
- llvm-bitcode-strip
- llvm-c-test
- llvm-cat
- llvm-cfi-verify
- llvm-config
- llvm-cov
- llvm-cvtres
- llvm-cxxdump
- llvm-cxxfilt
- llvm-cxxmap
- llvm-debuginfo-analyzer
- llvm-debuginfod
- llvm-debuginfod-find
- llvm-diff
- llvm-dis
- llvm-dlltool
- llvm-dwarfdump
- llvm-dwarfutil
- llvm-dwp
- llvm-exegesis
- llvm-extract
- llvm-gsymutil
- llvm-ifs
- llvm-install-name-tool
- llvm-jitlink
- llvm-jitlink-executor
- llvm-lib
- llvm-libtool-darwin
- llvm-link
- llvm-lipo
- llvm-lto
- llvm-lto2
- llvm-mc
- llvm-mca
- llvm-ml
- llvm-modextract
- llvm-mt
- llvm-nm
- llvm-objcopy
- llvm-objdump
- llvm-opt-report
- llvm-otool
- llvm-pdbutil
- llvm-profdata
- llvm-profgen
- llvm-ranlib
- llvm-rc
- llvm-readelf
- llvm-readobj
- llvm-reduce
- llvm-remark-size-diff
- llvm-remarkutil
- llvm-rtdyld
- llvm-sim
- llvm-size
- llvm-split
- llvm-stress
- llvm-strings
- llvm-strip
- llvm-symbolizer
- llvm-tapi-diff
- llvm-tli-checker
- llvm-undname
- llvm-windres
- llvm-xray
- obj2yaml
- opt
- sancov
- sanstats
- split-file
- verify-uselistorder
- yaml2obj
-
- # python modules
- opt-viewer
- )
-
- if llvm_are_manpages_built; then
- out+=(
- # manpages
- docs-dsymutil-man
- docs-llvm-dwarfdump-man
- docs-llvm-man
- )
- fi
- use doc && out+=(
- docs-llvm-html
- )
-
- use binutils-plugin && out+=(
- LLVMgold
- )
- fi
-
- printf "%s${sep}" "${out[@]}"
-}
-
-multilib_src_configure() {
- tc-is-gcc && filter-lto # GCC miscompiles LLVM, bug #873670
-
- 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_HOST_TRIPLE="${CHOST}"
-
- -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
- -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
- # used only for llvm-objdump tool
- -DLLVM_HAVE_LIBXAR=$(multilib_native_usex xar 1 0)
-
- -DPython3_EXECUTABLE="${PYTHON}"
-
- # disable OCaml bindings (now in dev-ml/llvm-ocaml)
- -DOCAMLFIND=NO
- )
-
- local suffix=
- if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
- # the ABI of the main branch is not stable, so let's include
- # the commit id in the SOVERSION to contain the breakage
- suffix+="git${EGIT_VERSION::8}"
- fi
- if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
- # Smart hack: alter version suffix -> SOVERSION when linking
- # against libc++. This way we won't end up mixing LLVM libc++
- # libraries with libstdc++ clang, and the other way around.
- suffix+="+libcxx"
- mycmakeargs+=(
- -DLLVM_ENABLE_LIBCXX=ON
- )
- fi
- mycmakeargs+=(
- -DLLVM_VERSION_SUFFIX="${suffix}"
- )
-
- use test && mycmakeargs+=(
- -DLLVM_LIT_ARGS="$(get_lit_flags)"
- )
-
- if multilib_is_native_abi; then
- local build_docs=OFF
- if llvm_are_manpages_built; then
- build_docs=ON
- mycmakeargs+=(
- -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
- -DSPHINX_WARNINGS_AS_ERRORS=OFF
- )
- fi
-
- mycmakeargs+=(
- -DLLVM_BUILD_DOCS=${build_docs}
- -DLLVM_ENABLE_OCAMLDOC=OFF
- -DLLVM_ENABLE_SPHINX=${build_docs}
- -DLLVM_ENABLE_DOXYGEN=OFF
- -DLLVM_INSTALL_UTILS=ON
- )
- use binutils-plugin && mycmakeargs+=(
- -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
- )
- fi
-
- # workaround BMI bug in gcc-7 (fixed in 7.4)
- # https://bugs.gentoo.org/649880
- # apply only to x86, https://bugs.gentoo.org/650506
- if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
- [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
- then
- local CFLAGS="${CFLAGS} -mno-bmi"
- local CXXFLAGS="${CXXFLAGS} -mno-bmi"
- fi
-
- # LLVM can have very high memory consumption while linking,
- # exhausting the limit on 32-bit linker executable
- use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
-
- # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
- use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
- cmake_src_configure
-
- grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
- CMakeCache.txt ||
- die "Incorrect version, did you update _LLVM_MASTER_MAJOR?"
- multilib_is_native_abi && check_distribution_components
-}
-
-multilib_src_compile() {
- tc-env_build cmake_build distribution
-
- pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
- pax-mark m "${BUILD_DIR}"/bin/lli
- pax-mark m "${BUILD_DIR}"/bin/lli-child-target
-
- if use test; then
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
- pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
- pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
- fi
-}
-
-multilib_src_test() {
- # respect TMPDIR!
- local -x LIT_PRESERVES_TMP=1
- cmake_build check
-}
-
-src_install() {
- local MULTILIB_CHOST_TOOLS=(
- /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
- )
-
- local MULTILIB_WRAPPED_HEADERS=(
- /usr/include/llvm/Config/llvm-config.h
- )
-
- local LLVM_LDPATHS=()
- multilib-minimal_src_install
-
- # move wrapped headers back
- mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
-}
-
-multilib_src_install() {
- DESTDIR=${D} cmake_build install-distribution
-
- # move headers to /usr/include for wrapping
- rm -rf "${ED}"/usr/include || die
- mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
-
- LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
-}
-
-multilib_src_install_all() {
- local revord=$(( 9999 - ${LLVM_MAJOR} ))
- newenvd - "60llvm-${revord}" <<-_EOF_
- PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- # we need to duplicate it in ROOTPATH for Portage to respect...
- ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
- MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
- _EOF_
-
- docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
- llvm_install_manpages
-}
-
-pkg_postinst() {
- elog "You can find additional opt-viewer utility scripts in:"
- elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
- elog "To use these scripts, you will need Python along with the following"
- elog "packages:"
- elog " dev-python/pygments (for opt-viewer)"
- elog " dev-python/pyyaml (for all of them)"
-}