dotnetCorePackages.dotnet_{8,9}: ensure build can find the Swift overlay (#346968)

This commit is contained in:
Emily
2024-10-11 01:41:04 +01:00
committed by GitHub
2 changed files with 10 additions and 0 deletions
@@ -85,6 +85,7 @@ writeShellScriptBin "patch-nupkgs" (
pushd "$x"
sed -i 's: -no_code_signature_warning::g' build/Microsoft.NETCore.Native.targets
sed -i 's:Include="-ld_classic"::g' build/Microsoft.NETCore.Native.Unix.targets
sed -i 's:-L/usr/lib/swift:-L$(SDKROOT)/usr/lib/swift:g' build/Microsoft.NETCore.Native.Unix.targets
touch .nix-patched-ilcompiler
popd
done
@@ -293,6 +293,15 @@ stdenv.mkDerivation rec {
-s \$prev -t elem -n SkipInstallerBuild -v true \
src/runtime/Directory.Build.props
# Make sure .NET uses the Swift overlay for the SDK active in the build environment.
substituteInPlace \
src/runtime/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Unix.targets \
--replace-fail '-L/usr/lib/swift' '-L$(SDKROOT)/usr/lib/swift'
substituteInPlace \
src/runtime/src/native/libs/System.Security.Cryptography.Native.Apple/extra_libs.cmake \
--replace-fail '-L/usr/lib/swift' '-L''${CMAKE_OSX_SYSROOT}/usr/lib/swift'
# stop passing -sdk without a path
# stop using xcrun
# add -module-cache-path to fix swift errors, see sandboxProfile