commit: 0df037f7d565c6d3bc05080614c25476bd1ecadb
Author: Maciej Barć <xgqt <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 31 01:17:09 2024 +0000
Commit: Maciej Barć <xgqt <AT> gentoo <DOT> org>
CommitDate: Tue Dec 31 01:18:30 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0df037f7
dev-dotnet/dotnet-sdk: fix setting clang version from SLOT
Signed-off-by: Maciej Barć <xgqt <AT> gentoo.org>
dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild | 25 ++++++++++++++++++++++++-
1 file changed, 24 insertions(+), 1 deletion(-)
diff --git a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild
b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild
index 90916c287cff..d5bce67a8124 100644
--- a/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild
+++ b/dev-dotnet/dotnet-sdk/dotnet-sdk-9.0.101.ebuild
@@ -85,6 +85,7 @@ BDEPEND="
dev-vcs/git
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}
+ llvm-core/lld:${LLVM_SLOT}
llvm-core/llvm:${LLVM_SLOT}
')
"
@@ -177,9 +178,13 @@ src_prepare() {
filter-flags -Wlto-type-mismatch
filter-lto
+ local llvm_prefix="$(get_llvm_prefix -b)"
+ export CC="${llvm_prefix}/bin/clang-${LLVM_SLOT}"
+ export CXX="${llvm_prefix}/bin/clang++-${LLVM_SLOT}"
+ export LD="${llvm_prefix}/bin/lld"
+
unset DOTNET_ROOT
unset NUGET_PACKAGES
-
unset CLR_ICU_VERSION_OVERRIDE
unset USER_CLR_ICU_VERSION_OVERRIDE
@@ -209,6 +214,20 @@ src_prepare() {
echo "$(makeopts_jobs)"
EOF
chmod +x "${fake_bin}/nproc" || die
+
+ # Overwrite "init-compiler" scripts.
+ # TODO: Consider - this probably overshadows CCache.
+ cat <<EOF > ./init-compiler.sh || die
+export CC="${CC}"
+export CXX="${CXX}"
+export LDFLAGS="${LDFLAGS} -fuse-ld=lld"
+export SCAN_BUILD_COMMAND="scan-build"
+EOF
+ local init_compiler=""
+ for init_compiler in diagnostics runtime ; do
+ mv
"./src/${init_compiler}/eng/common/native/init-compiler.sh"{,.orig} || die
+ cp ./init-compiler.sh
"./src/${init_compiler}/eng/common/native/" || die
+ done
}
src_compile() {
@@ -220,6 +239,10 @@ src_compile() {
ewarn "Failed to remove ${package_versions_path}, build
may fail!"
fi
+ local -x EXTRA_CFLAGS="${CFLAGS}"
+ local -x EXTRA_CXXFLAGS="${CXXFLAGS}"
+ local -x EXTRA_LDFLAGS="${LDFLAGS}"
+
# The "source_repository" should always be the same.
local source_repository="https://github.com/dotnet/dotnet"
local verbosity="${GENTOO_DOTNET_BUILD_VERBOSITY:-minimal}"