diff --git a/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh b/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh index 79f0546403f7..0a2961bbe46e 100644 --- a/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh +++ b/pkgs/build-support/bintools-wrapper/add-darwin-ldflags-before.sh @@ -89,3 +89,9 @@ DEVELOPER_DIR=${DEVELOPER_DIR_@suffixSalt@:-@fallback_sdk@} # Darwin looks for frameworks in the SDK located at `DEVELOPER_DIR`. extraBefore+=("-F$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks") extraBefore+=("-L$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib") + +# While the Swift wrapper should take care of this, anything that needs to link Swift auto-linked frameworks +# also needs these paths. Note: Test and conditionally add it because the path may not exist in older SDKs. +if [ -d "$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/swift" ]; then + extraBefore+=("-L$DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/swift") +fi diff --git a/pkgs/development/compilers/dotnet/patch-nupkgs.nix b/pkgs/development/compilers/dotnet/patch-nupkgs.nix index 09fd8342368a..6885d8df71f3 100644 --- a/pkgs/development/compilers/dotnet/patch-nupkgs.nix +++ b/pkgs/development/compilers/dotnet/patch-nupkgs.nix @@ -85,7 +85,6 @@ 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 diff --git a/pkgs/development/compilers/dotnet/vmr.nix b/pkgs/development/compilers/dotnet/vmr.nix index d1385b4c3cac..2c95d7d6ee6b 100644 --- a/pkgs/development/compilers/dotnet/vmr.nix +++ b/pkgs/development/compilers/dotnet/vmr.nix @@ -293,15 +293,6 @@ 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