summaryrefslogtreecommitdiff
path: root/sys-devel/clang-common
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/clang-common')
-rw-r--r--sys-devel/clang-common/Manifest8
-rw-r--r--sys-devel/clang-common/clang-common-15.0.2.9999.ebuild74
-rw-r--r--sys-devel/clang-common/clang-common-16.0.0.9999.ebuild2
-rw-r--r--sys-devel/clang-common/clang-common-16.0.0_pre20220918.ebuild24
-rw-r--r--sys-devel/clang-common/clang-common-16.0.0_pre20220930.ebuild2
5 files changed, 79 insertions, 31 deletions
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 4e3db129d864..a289db376f76 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -3,13 +3,11 @@ DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf
DIST llvm-project-15.0.1.src.tar.xz 112068688 BLAKE2B 8fd6690445f7cbc8b47a7c1dd1f2c4fbc39f9a97f9d4a0015d466726454b090b0d1ff9b0d926eba7065e84782901687f74e6540a36dc6656a93f3c92c7bc7e06 SHA512 cef84bc173118a30db3ece5e5c6f874bf689c77afc40a4792fdcb7556555ac14a8e6de1dc811755405e5d162d63bc69abaecba30d220a42765160d69f0073fda
DIST llvm-project-15.0.1.src.tar.xz.sig 438 BLAKE2B d8f634adab531bb19178fb27bc83b3a90c856e9402dd5af700f9af43813f68d20c21b9112dd95e9f6f10609ee51ed5aaf77edb96ca16fb93136b8aea432affd3 SHA512 cbf2570840d8dc12f6436c495a23cf9d439ee195755c01a6d1d5bcc20133599dc956dc43a0f5016698e3c9a960826f5f3c2840a73f993467e275856a67999fda
DIST llvm-project-215c9fa4deac9ec6b4e504843830551f03b60620.tar.gz 168942763 BLAKE2B 545c7c372c38667b7d811753464e91134aae600060d9054979eab8735d535a72d6bbb33a6008dc81f3b14513f58791ca3b8c3068e62ff146ccb14f32abb41a32 SHA512 d0c244357650ef5d56bc7afd836cd747cc2cce92d5f7fb4ddec3414e5bafe4e611acb2a7ff42343c184caad14a30fa9a6ced7e493df3ceb06fe8f9445aeb5a9b
-DIST llvm-project-303526ef3aa211c1930be2885deae15eeeda3b18.tar.gz 167503164 BLAKE2B 143c72c58517b3e40ee74c1a0df47bfd0d0f9e71926bc8c39a007e674a08df95d0ffe05f523f97e4409b248349e13719cabbc7ac6938feebe702959e84a07243 SHA512 9aa5c86de6c6be1d26c085eb29ea283429e41330e937e5fdbd545bb3f5b996ac82cd6268701fcbbd202e89ee35f2b67e595fc595bb7383778e9ad5fd52ca10a0
DIST llvmorg-13.0.1.tar.gz 147290251 BLAKE2B 2a44b012a672501761d0c27c6b3a315b69bfef0cd13b078a7e7d2fccc4a9c8c0f2bee0f164c4271c9106b0a99cb06e8b64986f66253b613336719fb86b82541b SHA512 9a8cb5d11964ba88b7624f19ec861fb28701f23956ea3c92f6ac644332d5f41fde97bd8933dd3ee70ed378058c252fa3a3887c8d1af90d219970c2b27691166f
EBUILD clang-common-13.0.1.ebuild 593 BLAKE2B f7d78facc226d949240f31d10bb01f6a2bbe3c806d7f7c22a78d715d29de74723bedccdeefd029d309b090afe63821e10a1bd27662ff156640820fbca1896bab SHA512 48e5c5f3d4716c15018aa246cf61fbf898c4c459b1f04710da155084a8cf5b8a6df7697c300d297ac48ee1a8a8cff9bc9b4fca712455032f78cb26e9f77ef955
EBUILD clang-common-14.0.6.ebuild 541 BLAKE2B 87b158e874cf600e23591a8095e0edb4d30d4482600ef8fe38984e9ba9559e6e2226107cd482f355d950392a6a452e1a8ae79d297d5afc3951a7f1c8f6227b5f SHA512 1bd0481468c278f131ec9f87243927b60a59752f4229450559bf8016e9599155a52593810fcdc1cf0aecd4aa1529e8df300d95123a53de18eb326152caafbbef
EBUILD clang-common-15.0.1.ebuild 547 BLAKE2B bb30fa507d6383b92417c55f10a7233e0d48ab7a3ff07b811e135e5f828a2332eafdbee2ee738050a7536b6f956cf8285f0e6d8f40511891580278b2434414d6 SHA512 e70dbbf7bb64ef672de7349d423c41b9ef88471c22be0e3ae326ee1506f3c764f3ca0e695a9953273411c70e4f7ec903533749d030ec37c381819b1850679dd8
-EBUILD clang-common-15.0.2.9999.ebuild 463 BLAKE2B 78e3106b33b6a5b776a1ae91541ec295e08f284b9017684ea1481097be14084bea03013103163b9a1d059dcd261f85469e34f9e730b34cc957078fa645886f9a SHA512 94970664f46768b3373443c17a1cbdfccc6a75d5343f6effee228284931997129214bf0cc9ffcaa386878e7b405dfd7c876ca303bd1686e72197027ede6d37c8
-EBUILD clang-common-16.0.0.9999.ebuild 2609 BLAKE2B db9ad148967902fe5e7100ae33af7abffa52af9e2cc74572d3223a9daef3576289c8b77a982ba2256f2a8c783d77d59518931b9e422ac94fecac61fa8b35c9fb SHA512 98af3d3242124152abbceb1cfa7c8c8273edd2e2f4bce7540fcb7105bfeb633bcc6ddf87db74c5a1062c46e464b6f825979e78f6dcc63e7751c11a202582d772
-EBUILD clang-common-16.0.0_pre20220918.ebuild 463 BLAKE2B 78e3106b33b6a5b776a1ae91541ec295e08f284b9017684ea1481097be14084bea03013103163b9a1d059dcd261f85469e34f9e730b34cc957078fa645886f9a SHA512 94970664f46768b3373443c17a1cbdfccc6a75d5343f6effee228284931997129214bf0cc9ffcaa386878e7b405dfd7c876ca303bd1686e72197027ede6d37c8
-EBUILD clang-common-16.0.0_pre20220930.ebuild 2609 BLAKE2B db9ad148967902fe5e7100ae33af7abffa52af9e2cc74572d3223a9daef3576289c8b77a982ba2256f2a8c783d77d59518931b9e422ac94fecac61fa8b35c9fb SHA512 98af3d3242124152abbceb1cfa7c8c8273edd2e2f4bce7540fcb7105bfeb633bcc6ddf87db74c5a1062c46e464b6f825979e78f6dcc63e7751c11a202582d772
+EBUILD clang-common-15.0.2.9999.ebuild 2600 BLAKE2B 3451865716f9b09f9371679cfd0b398b2816d0d3e99c050cbe2390583853910d5b86afc324f8352d68a53c606c0f2ab475c44e31655fc41be2ccefddabc90fca SHA512 dfd705b4c37db8012090fb1c0c14f1b237a4e67b2b60089117fffbab8d97ca4dc25254ce7c1797ec644090ef02695d716ed7be954f36f4ca90f3bef736a74821
+EBUILD clang-common-16.0.0.9999.ebuild 2600 BLAKE2B 3451865716f9b09f9371679cfd0b398b2816d0d3e99c050cbe2390583853910d5b86afc324f8352d68a53c606c0f2ab475c44e31655fc41be2ccefddabc90fca SHA512 dfd705b4c37db8012090fb1c0c14f1b237a4e67b2b60089117fffbab8d97ca4dc25254ce7c1797ec644090ef02695d716ed7be954f36f4ca90f3bef736a74821
+EBUILD clang-common-16.0.0_pre20220930.ebuild 2600 BLAKE2B 3451865716f9b09f9371679cfd0b398b2816d0d3e99c050cbe2390583853910d5b86afc324f8352d68a53c606c0f2ab475c44e31655fc41be2ccefddabc90fca SHA512 dfd705b4c37db8012090fb1c0c14f1b237a4e67b2b60089117fffbab8d97ca4dc25254ce7c1797ec644090ef02695d716ed7be954f36f4ca90f3bef736a74821
MISC metadata.xml 608 BLAKE2B 5a93acbaeaf3144187e9814fd17e1e45d9e83ebd3930b0838b622b4d94c450d87529e1302cb228af5482b689c01e1c0eb066a82100ed96c9f324fc494f1f1905 SHA512 7f39ee901fb543ef1904a70108fd40d5ed0e719874327f8875eb6c7abb25c65026d9f691cf3d71f608ed2f1d9a5858b927ed2cd7732b419f61a22fd3d1c80908
diff --git a/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild b/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild
index 1285500128bb..db83638be497 100644
--- a/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-15.0.2.9999.ebuild
@@ -11,14 +11,88 @@ 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"
PDEPEND="
sys-devel/clang:*
+ default-compiler-rt? (
+ =sys-libs/compiler-rt-${PV%_*}*
+ llvm-libunwind? ( sys-libs/llvm-libunwind )
+ !llvm-libunwind? ( sys-libs/libunwind )
+ )
+ default-libcxx? ( >=sys-libs/libcxx-${PV} )
+ default-lld? ( sys-devel/lld )
"
LLVM_COMPONENTS=( clang/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
+}
+
+usec() {
+ usex "default-${1}" "" "# "
+}
+
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.
+
+ $(usec compiler-rt)-rtlib=compiler-rt
+ $(usec compiler-rt)-unwindlib=libunwind
+ $(usec libcxx)-stdlib=libc++
+ $(usec lld)-fuse-ld=lld
+ EOF
+
+ newins - gentoo-gcc-install.cfg <<-EOF
+ # This file is maintained by gcc-config.
+ # It is used to specify the selected GCC installation.
+ EOF
+
+ local tool
+ for tool in clang{,++,-cpp}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-runtimes.cfg
+ @gentoo-gcc-install.cfg
+ EOF
+ done
+}
+
+pkg_preinst() {
+ # TODO: move this to gcc-config and call it here?
+
+ 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
}
diff --git a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild
index 67012cf2b988..db83638be497 100644
--- a/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild
+++ b/sys-devel/clang-common/clang-common-16.0.0.9999.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 llvm.org
DESCRIPTION="Common files shared between multiple slots of clang"
HOMEPAGE="https://llvm.org/"
diff --git a/sys-devel/clang-common/clang-common-16.0.0_pre20220918.ebuild b/sys-devel/clang-common/clang-common-16.0.0_pre20220918.ebuild
deleted file mode 100644
index 1285500128bb..000000000000
--- a/sys-devel/clang-common/clang-common-16.0.0_pre20220918.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit bash-completion-r1 llvm.org
-
-DESCRIPTION="Common files shared between multiple slots of clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS=""
-
-PDEPEND="
- sys-devel/clang:*
-"
-
-LLVM_COMPONENTS=( clang/utils )
-llvm.org_set_globals
-
-src_install() {
- newbashcomp bash-autocomplete.sh clang
-}
diff --git a/sys-devel/clang-common/clang-common-16.0.0_pre20220930.ebuild b/sys-devel/clang-common/clang-common-16.0.0_pre20220930.ebuild
index 67012cf2b988..db83638be497 100644
--- a/sys-devel/clang-common/clang-common-16.0.0_pre20220930.ebuild
+++ b/sys-devel/clang-common/clang-common-16.0.0_pre20220930.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit bash-completion-r1 llvm.org multilib
+inherit bash-completion-r1 llvm.org
DESCRIPTION="Common files shared between multiple slots of clang"
HOMEPAGE="https://llvm.org/"