summaryrefslogtreecommitdiff
path: root/dev-lang
diff options
context:
space:
mode:
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/Manifest.gzbin19351 -> 19344 bytes
-rw-r--r--dev-lang/boogie/Manifest2
-rw-r--r--dev-lang/boogie/boogie-2.15.8-r3.ebuild (renamed from dev-lang/boogie/boogie-2.15.8-r2.ebuild)5
-rw-r--r--dev-lang/julia-bin/Manifest5
-rw-r--r--dev-lang/julia-bin/julia-bin-1.8.2.ebuild56
-rw-r--r--dev-lang/rust/Manifest6
-rw-r--r--dev-lang/rust/rust-1.62.1.ebuild24
-rw-r--r--dev-lang/rust/rust-1.63.0-r1.ebuild24
-rw-r--r--dev-lang/rust/rust-1.64.0-r1.ebuild24
9 files changed, 110 insertions, 36 deletions
diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz
index 8dd315fe7080..d4f9776809a0 100644
--- a/dev-lang/Manifest.gz
+++ b/dev-lang/Manifest.gz
Binary files differ
diff --git a/dev-lang/boogie/Manifest b/dev-lang/boogie/Manifest
index 20bb477293fa..5b094bb61706 100644
--- a/dev-lang/boogie/Manifest
+++ b/dev-lang/boogie/Manifest
@@ -1,4 +1,4 @@
DIST boogie-2.15.8-deps.tar.xz 71100772 BLAKE2B 1249627710fe0cc08c640ac7fe5e518793d237291810dc2df5d26bae2a4fd0fec15f0529b6fb799231002881665c2b2cf66b3a6a88494c780e96e51d78086959 SHA512 ee8df5693264c6b6e925f966a85e312e2df80d121c6e81786e7672d1591cdab8a66601c7d740df9db9704330a82f5aa01982d758cc4d5f151838be41c4d0b76f
DIST boogie-2.15.8.tar.gz 1548233 BLAKE2B cd3d46b6702eb9c16cdb94ae9776ee52bb142be57e3b0dfd014e59c2f3a98aec84d891544cbd239d773c49ac6bc0b3e1eb5e1eb5cda1f1a0b9aa029f0ee674f2 SHA512 5e214a6451b0ac6a33088797957661cdb35e7fc99f880935f0f1d9329975c11a0849f5ba6244e90f528e6cc31dc2fc83636506130f59464889bf04ecf6130990
-EBUILD boogie-2.15.8-r2.ebuild 2139 BLAKE2B 6f7af923ecf912d82b86f992632dd0edca08ea4b32dfeb738dcfcc5f56272c95d800db7c2aa36dd8726bba2842b1ab52d4317c83be0cebbe63f70e1ade6a04d1 SHA512 7a55f3147d287eeadff1fc4c657648160e5ebf2cfcd66e6a7364c45359ebc087b67fbc0828861d6f7e7705bd08b9cdefb9cf65931640fe8e2e9cbfcf21019725
+EBUILD boogie-2.15.8-r3.ebuild 2179 BLAKE2B 5285abd06ce14d3d7caabecb6a6375bfa1f7b42d6e2df233edd14ec4fed00fc7b294bdb780b7869ea6d437ffcd12a76863cfab7371c5fcd99142f0ae3ed1f719 SHA512 3c495cf46b6a6c5bdae68390a155a1ee52c529e0ef9c7eca8e1307cee16c7758c5d86c73e811e6dd7630dabe78c9c6e1f268d4f9c1a11c5e5b57559a255a8756
MISC metadata.xml 1090 BLAKE2B 838630d17f9e2aa9d8d329f5f6da0e2f00636c3e01ceb02e10f06d3b53b722859818343c6a6936e1d2a495b9ec8d77b729f03dfbc0e017dace31116dccee4ff7 SHA512 e66f1077862a81efd0e311d6e2a2f0b4cd5fd650748c4232e3d70cbd982685bf03da616092929686589e115a4fe3ba2d52c420b416222ccae221469ca2d5face
diff --git a/dev-lang/boogie/boogie-2.15.8-r2.ebuild b/dev-lang/boogie/boogie-2.15.8-r3.ebuild
index 7324430f8146..1b6c0b18edd5 100644
--- a/dev-lang/boogie/boogie-2.15.8-r2.ebuild
+++ b/dev-lang/boogie/boogie-2.15.8-r3.ebuild
@@ -43,7 +43,7 @@ src_prepare() {
export DOTNET_NOLOGO=1
export DOTNET_CONFIGURATION=$(usex debug Debug Release)
export DOTNET_OUTPUT="${WORKDIR}"/${P}_net${DOTNET_COMPAT}_${DOTNET_CONFIGURATION}/${PN}
- export NUGET_PACKAGES="${S}"/nuget_packages
+ export NUGET_PACKAGES="${S}"/Source/nuget_packages
default
@@ -68,7 +68,8 @@ src_prepare() {
}
src_configure() {
- edob dotnet restore -p:TargetFramework=net${DOTNET_COMPAT} "${S}"/Source
+ edob dotnet restore "${S}"/Source \
+ --source "${NUGET_PACKAGES}" -p:TargetFramework=net${DOTNET_COMPAT}
}
src_compile() {
diff --git a/dev-lang/julia-bin/Manifest b/dev-lang/julia-bin/Manifest
index 821bba5f166d..e5162afb42c0 100644
--- a/dev-lang/julia-bin/Manifest
+++ b/dev-lang/julia-bin/Manifest
@@ -10,8 +10,13 @@ DIST julia-1.7.3-linux-aarch64.tar.gz 115662839 BLAKE2B 803498c37b2fd67c59b934e5
DIST julia-1.7.3-linux-i686.tar.gz 118413591 BLAKE2B db35cc70ff05f15081e9387aba1b5c8fff1c6ed183f4531f886dea92fe99e107694ff4bd58780b97b07175d97a8119aa5d82b7d54717af8b37409aca282db069 SHA512 c121969bb58239959ebc150c5d7da808bd33f8603cdc167b03028eb44932f83431fdcef3f2fed1492afc0b68305b33cab4bcea1ff9a11d687be8ff013956a360
DIST julia-1.7.3-linux-x86_64.tar.gz 123160673 BLAKE2B 953554230d8b716db4281386d4265c4c7346ddbfe9c47e48dc0f11641169768f2c786b6da0557da74ed9b29abac73d311d2a78debab46f8c6cee4b4d41e85474 SHA512 4affeea59e37e3c5c50ccadb2303329b8ad7187b7854e9f2b3ece2b03b43457ddb709fdc0ca23e8f88fa5c914570a2d2fa7650634ea1e8d62f6d78df5a0861a7
DIST julia-1.7.3-musl-x86_64.tar.gz 121889326 BLAKE2B 0f2a6ce5a2d636424472988d8f4061375f5ff7b354b4b4e396036726479a62139b4e60ceffbed17b9d5069e2dfd563c01b8fd3c150f8a15894685c212a0f8c8a SHA512 7a6b672d5dd5ffc97c5b96632e1b407b34958c6ad70a6bceba044af3dde11723aa9e7c19b8ca7d3302a26fdd146c07617dd613c6cb4c2fec2c388451025cb50b
+DIST julia-1.8.2-linux-aarch64.tar.gz 129177975 BLAKE2B 7afe344afcbd33535026fd80ad69d9e1a2ef7cde0e749016765969530b18e60d90d17d5105737a6611c3d7479c02f287a875e06ae2df518a6c6ea14d77caf79c SHA512 45db51f290e95973332490246a50dc4073d27c17ab4cf91114c2cbfe6a791b5c4c19b07f7add5de8022d342d21d0daedba74d3edf8617980028e843bb6bb595e
+DIST julia-1.8.2-linux-i686.tar.gz 132187263 BLAKE2B fac785902b53db99ea128430c75d4ee10ca8568911e36e174f08d0d7225fb7c38c8b6d845002545dd8696c3e774a7670fcece2695d4deb8e18fcda73ebc3ea92 SHA512 1608b8ae35b7e3aef2a7d12bdd77ea8496eacf55154c23c0de1d9e965aa5301ff998f93c50e9a12ef0210a9d4b96cf248c9717a347ddebefb29db85eb747c038
+DIST julia-1.8.2-linux-x86_64.tar.gz 135859273 BLAKE2B 00d970a26b521db2086a9128718dbf2143010b2807895c08de637ddc584ed2b3cb9ed48de0adbbbfb730c4c43cceea582cbaa608bbc7a9deef149774003b83ea SHA512 b0f745f9c0fe5b25173cd4eb1679582fe66d9bcc4a0e6cb05d5faad1d198211840bb0c5f0d3baf0f6048d4b1d0ddb36358f58488ad8ec54291df5227f27506b0
+DIST julia-1.8.2-musl-x86_64.tar.gz 137353680 BLAKE2B fb4c4c10dc15301f750457da6ed437cf05b6452568fbdacbb8bf6d94515ce61a07284b4491bc5b1f916960fbc4460713d9065f8273a05070f0e73f0e4bd2b970 SHA512 66817dcd1ccb88527fc1bdbad94e23e180deae1474cbc5f18f98ca9b6ac46c76382f6555b03c3e5ef22e4ba516e898e130950d5cb38923a64532c755eca3dfd4
EBUILD julia-bin-1.6.5.ebuild 1288 BLAKE2B bfcbf3f7d087c4b08f0bd1af3be29e19f767fb39a645bd8bc51710a4a33f0ba2b2b9b69f50d67f96118d3b71733a1fab0c0307356caf7270aa7954b2545b44c8 SHA512 9527a7a6af24e71d50b5ee34258f8d5a76cdf3bee9fefedcf2fc376eb1d82af3c2d3fcc3bab6d2a3c35db0ae19414989bb97d98e295e42e6321a77713d5c1c78
EBUILD julia-bin-1.7.1.ebuild 1295 BLAKE2B a96c49810dd270d38e82ca699b355a32080226f8e9f543bc6bd48b559a3955e6e745058b8406908007db39c8a2519855f932889898d3bd6e0bc3da4cdbd150b6 SHA512 20b606b6a656765efd065d68ab0f82c8e5348fd697fa944ea9021d588420b663d007f08d5b3cdfc45ea1d3a9cec40e172c4da453a3058ffd44a2a444b63831a8
EBUILD julia-bin-1.7.3.ebuild 1295 BLAKE2B a96c49810dd270d38e82ca699b355a32080226f8e9f543bc6bd48b559a3955e6e745058b8406908007db39c8a2519855f932889898d3bd6e0bc3da4cdbd150b6 SHA512 20b606b6a656765efd065d68ab0f82c8e5348fd697fa944ea9021d588420b663d007f08d5b3cdfc45ea1d3a9cec40e172c4da453a3058ffd44a2a444b63831a8
+EBUILD julia-bin-1.8.2.ebuild 1490 BLAKE2B 1264cd30528713c4f5a59fb780caf441d7c48a558a634e3bea8818e81406bf98881392fb324abfa83e7ef6cb99ea2553c9c214ab0cac8064c37e44e9a91bbd05 SHA512 e49c80470b3bd3154c39ca68100d5162e41b5481595f66e46734161334a1284d580fb36bf9dc95f2cb4a27b94696825572c93b57df7d0ac549719e335f9119d8
EBUILD julia-bin-9999.ebuild 1140 BLAKE2B a786dabb17873c4c83c87337f37ba103edc45bc4fbea7dbbbcac0cf6b4c8ee139d3a89a7cc8f35fb625958b1befb9e7095f6dd606a5719fb96c5290f520fd938 SHA512 9ee19cd076a13ad9cda3e4c4b807003b1878cfa0da2a4cfc3246c7eed9c1cbea54f71c3e5283de79494eeb47346e4e1b00ed27cc1df51d39b48b6ff213174ff7
MISC metadata.xml 1183 BLAKE2B 06fa4e15a89622a77691ffe2bacfd57e3902e091897f5bfa8bf43dda86fe15c3b4c35ad3e551553d94ba523d040107f251b07c29452a06ac79872e7d64ee79db SHA512 0782c75afd623f863add71870b5a6a4b643bd720797c3ab02e02ffe47133dd64f29958cdda5421bcb6d98ce2c5c7227ad1afcdb83c03ac84f30a989883226667
diff --git a/dev-lang/julia-bin/julia-bin-1.8.2.ebuild b/dev-lang/julia-bin/julia-bin-1.8.2.ebuild
new file mode 100644
index 000000000000..9c309a77622d
--- /dev/null
+++ b/dev-lang/julia-bin/julia-bin-1.8.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=${PN/-bin/}
+MY_P=${MY_PN}-${PV/_/-}
+MY_PV=$(ver_cut 1-2)
+BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
+
+DESCRIPTION="High-performance programming language for technical computing"
+HOMEPAGE="https://julialang.org/"
+SRC_URI="
+ x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
+ amd64? (
+ elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
+ elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
+ )
+ arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="MIT"
+SLOT="${MY_PV}"
+#KEYWORDS="-* ~amd64 ~arm64 ~x86"
+
+RESTRICT="strip"
+
+RDEPEND="app-arch/p7zip"
+DEPEND="${RDEPEND}"
+
+QA_PREBUILT="*"
+QA_SONAME="*"
+
+# the following libs require libblastrampoline.so, which is however generated
+# at runtime...
+QA_DT_NEEDED="*"
+
+src_install() {
+ insinto "/usr/$(get_libdir)/${MY_P}/"
+ doins -r ./etc
+ doins -r ./include
+ doins -r ./lib
+ doins -r ./share
+
+ exeinto "/usr/$(get_libdir)/${MY_P}/bin"
+ doexe "bin/${MY_PN}"
+ dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
+
+ local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
+ newenvd - 99${MY_PN}${revord} <<-EOF
+ PATH="${EPREFIX}/usr/$(get_libdir)/${MY_P}/bin"
+ EOF
+
+ elog "QA warnings about unresolved SONAME dependencies can be safely ignored."
+}
diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 7567221f1191..2e1bcae32fbe 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -106,7 +106,7 @@ DIST rustc-1.63.0-src.tar.xz 136597192 BLAKE2B 52eb64ee11e7d9724a4c2654f7eea1352
DIST rustc-1.63.0-src.tar.xz.asc 801 BLAKE2B b6c133768e368a7aeb0a4612a4c824d13f91ccdca6660feb5774ed6d79537084020780532c882ae3c9e4b6be3d36ceb0652eb134a580293ba8d8be74c4ba3c6e SHA512 f8807d46b9a3ca2a15a60f8062d63b3ee6e3210657cc752c948b3c7aa1626ec63cbd57529d010ad33f07ac47cf70dbf2cb50f200587338f77c631fc9e6786b17
DIST rustc-1.64.0-src.tar.xz 137841332 BLAKE2B 8acd9e0a4632ba2114018a5cd3f2d544324c601c246658f60a9e0be513c40375434d0a416f0bfd4d24493eae3fec7c9f5bb52d008c88cde14de503a3b6873dd1 SHA512 919f40acd8c6eaaef399aa3248503bea19feb96697ab221aaede9ee789ce340b47cb899d1e0e41a31e5d7756653968a10d2faaa4aee83294c9f1243949b43516
DIST rustc-1.64.0-src.tar.xz.asc 801 BLAKE2B 69f7bd7600d99794859c6fad4b44f0e98868e4e16041d6fe81d9d09a8435c75abac67a735adb0b81a2d9f85651841d404bc1ef4cd64fccd75e8a25d6d95729d0 SHA512 a831e3941849add1082c5b47b619ea87405b875d6eeb90a35f42742a511d124c29503debd17dcc8c6aa9e03a754ab51c3a15e99192bdd0dd1b8a59af9b6eb0b8
-EBUILD rust-1.62.1.ebuild 22297 BLAKE2B c01bf307e2e91fc7b8966b4da21cec63c3d8762342ad58338bfe3e45d0b054e9a850237292e900169425f4cae7e24b9bd3abb318cba7078a635481609f312356 SHA512 03e93974262ac1e94364a467df55b8dad2ee626e2379fb130c230b43df5c2759dc445fdf23b6a5a7c8a6f8d4b2fa3be171212c15b1a1ff5c92e2ac5fd03c0837
-EBUILD rust-1.63.0-r1.ebuild 23783 BLAKE2B 277bbdc095190e719a0f37190db09b7e9c320ec0a9a864445ba5399c23d647d850ac85cb487fbf46a8df724dbc4be2c56945bea7b07b844288ac495e1f44e1f5 SHA512 5d3a7371739a6182688b301cc4feb212363d72a9385ae37588df60742da449506bef4ad91e0522ca26173f3e5d0d08f6be31dd183df6c94f1de5db6a62c3fcb5
-EBUILD rust-1.64.0-r1.ebuild 24026 BLAKE2B 26a5dcec843cd49ac91dbb4fc630b550968bcf811946a6b76100b5b18506db64eff55f62c151de1bc45d236617d4b5c1e9ba97256d49befec07f5e423031c97f SHA512 8d64baed3890a4b4d7b5d279358d87a0ba9f92fce11a6ca497c0be88a1567a80eacbb3f1a07123bfa76394e74ce9a2ff7049b7e544986d073fbf93cc7275cbfd
+EBUILD rust-1.62.1.ebuild 22261 BLAKE2B 336769ca4c73378c9e63beb57da4b54991cb947717c60a4e8309e0ff2470361d52064ced2f8f74b0c70bd1a141b380973160348a1a76c2635c8a1ebaed275611 SHA512 66c21e8c986e79d9d05a892f2be39dd31d0a781272c4628d53a03e58dbb3eb465db1bc18120d961d0eab346d0c27ad5a91fbae6d9ca02532884eac4f7e9c2b31
+EBUILD rust-1.63.0-r1.ebuild 23747 BLAKE2B 70ba306a856c298fd3709d443f453916d7ca3f53baa3c6eaec416636d64ad88c3fd4fc2def30a06ba38ac336764680331790f372289d5cf91e030730c4caed30 SHA512 ab8713464a05af2f57b80652f3f54139ceb7beaf6a30f5259fab64bf4b51e858b1d85953e2bb731493c4e67ee05921ee38f7477c445b07fafc437794b3d46982
+EBUILD rust-1.64.0-r1.ebuild 23990 BLAKE2B ee972dc2a1cda173742649572d2bd125ede738b0c9f2b2a77d8473bfa0d1244502cace89563ea14002a6083bd3b6cdd91f681b20188ed990f2ea4a370991bd15 SHA512 a67c7db8f5460a864cb5ca44e700d0804784d5a697769feb72531248868c33495dccbe53ac41b26810ee9177feeb131549339518c50fb27131b172f06e20877b
MISC metadata.xml 1770 BLAKE2B d5881dc5ea39a5bfff7c74fa883dc1a6370db572568e10fce81467c2f2a17018de48123dfa7993d6d9644305bfc5ef5b0f445ef40362065fce943efb4af2e761 SHA512 c914e1a0cee95fa5cb332240f3eb6fbee73e5d8baabfa6bdcdc3e852c9480fea0686e435b969e14f45d8c791655edc6e6a7df2259ac99b6a6e63af65b09fa57e
diff --git a/dev-lang/rust/rust-1.62.1.ebuild b/dev-lang/rust/rust-1.62.1.ebuild
index b951a931e407..330a83219754 100644
--- a/dev-lang/rust/rust-1.62.1.ebuild
+++ b/dev-lang/rust/rust-1.62.1.ebuild
@@ -222,6 +222,17 @@ llvm_check_deps() {
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
}
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
pkg_pretend() {
pre_build_checks
}
@@ -258,7 +269,7 @@ src_prepare() {
src_configure() {
filter-flags '-flto*' # https://bugs.gentoo.org/862109
- local rust_target="" rust_targets="" arch_cflags use_libcxx="false"
+ local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
@@ -307,14 +318,6 @@ src_configure() {
rust_target="$(rust_abi)"
- # https://bugs.gentoo.org/732632
- if tc-is-clang; then
- local clang_slot="$(clang-major-version)"
- if { has_version "sys-devel/clang:${clang_slot}[default-libcxx(-)]" || has_version "sys-devel/clang-common:${clang_slot}[default-libcxx(-)]" || is-flagq -stdlib=libc++; }; then
- use_libcxx="true"
- fi
- fi
-
local cm_btype="$(usex debug DEBUG RELEASE)"
cat <<- _EOF_ > "${S}"/config.toml
changelog-seen = 2
@@ -327,7 +330,8 @@ src_configure() {
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
- $(if [[ ${use_libcxx} == true ]]; then
+ $(if is_libcxx_linked; then
+ # https://bugs.gentoo.org/732632
echo "use-libcxx = true"
echo "static-libstdcpp = false"
fi)
diff --git a/dev-lang/rust/rust-1.63.0-r1.ebuild b/dev-lang/rust/rust-1.63.0-r1.ebuild
index 8f553b1aaac0..d0595ed73590 100644
--- a/dev-lang/rust/rust-1.63.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.63.0-r1.ebuild
@@ -232,6 +232,17 @@ llvm_check_deps() {
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
}
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
pkg_pretend() {
pre_build_checks
}
@@ -288,7 +299,7 @@ src_prepare() {
src_configure() {
filter-flags '-flto*' # https://bugs.gentoo.org/862109
- local rust_target="" rust_targets="" arch_cflags use_libcxx="false"
+ local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
@@ -337,14 +348,6 @@ src_configure() {
rust_target="$(rust_abi)"
- # https://bugs.gentoo.org/732632
- if tc-is-clang; then
- local clang_slot="$(clang-major-version)"
- if { has_version "sys-devel/clang:${clang_slot}[default-libcxx(-)]" || has_version "sys-devel/clang-common:${clang_slot}[default-libcxx(-)]" || is-flagq -stdlib=libc++; }; then
- use_libcxx="true"
- fi
- fi
-
local cm_btype="$(usex debug DEBUG RELEASE)"
cat <<- _EOF_ > "${S}"/config.toml
changelog-seen = 2
@@ -357,7 +360,8 @@ src_configure() {
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
- $(if [[ ${use_libcxx} == true ]]; then
+ $(if is_libcxx_linked; then
+ # https://bugs.gentoo.org/732632
echo "use-libcxx = true"
echo "static-libstdcpp = false"
fi)
diff --git a/dev-lang/rust/rust-1.64.0-r1.ebuild b/dev-lang/rust/rust-1.64.0-r1.ebuild
index 436894d9af83..4ab6f6c152f0 100644
--- a/dev-lang/rust/rust-1.64.0-r1.ebuild
+++ b/dev-lang/rust/rust-1.64.0-r1.ebuild
@@ -231,6 +231,17 @@ llvm_check_deps() {
has_version -r "sys-devel/llvm:${LLVM_SLOT}[${LLVM_TARGET_USEDEPS// /,}]"
}
+# Is LLVM being linked against libc++?
+is_libcxx_linked() {
+ local code='#include <ciso646>
+#if defined(_LIBCPP_VERSION)
+ HAVE_LIBCXX
+#endif
+'
+ local out=$($(tc-getCXX) ${CXXFLAGS} ${CPPFLAGS} -x c++ -E -P - <<<"${code}") || return 1
+ [[ ${out} == *HAVE_LIBCXX* ]]
+}
+
pkg_pretend() {
pre_build_checks
}
@@ -297,7 +308,7 @@ src_prepare() {
src_configure() {
filter-flags '-flto*' # https://bugs.gentoo.org/862109 https://bugs.gentoo.org/866231
- local rust_target="" rust_targets="" arch_cflags use_libcxx="false"
+ local rust_target="" rust_targets="" arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
@@ -335,14 +346,6 @@ src_configure() {
rust_target="$(rust_abi)"
- # https://bugs.gentoo.org/732632
- if tc-is-clang; then
- local clang_slot="$(clang-major-version)"
- if { has_version "sys-devel/clang:${clang_slot}[default-libcxx(-)]" || has_version "sys-devel/clang-common:${clang_slot}[default-libcxx(-)]" || is-flagq -stdlib=libc++; }; then
- use_libcxx="true"
- fi
- fi
-
local cm_btype="$(usex debug DEBUG RELEASE)"
cat <<- _EOF_ > "${S}"/config.toml
changelog-seen = 2
@@ -355,7 +358,8 @@ src_configure() {
targets = "${LLVM_TARGETS// /;}"
experimental-targets = ""
link-shared = $(toml_usex system-llvm)
- $(if [[ ${use_libcxx} == true ]]; then
+ $(if is_libcxx_linked; then
+ # https://bugs.gentoo.org/732632
echo "use-libcxx = true"
echo "static-libstdcpp = false"
fi)