diff options
Diffstat (limited to 'pkgs/build-support/rust/default.nix')
-rw-r--r-- | pkgs/build-support/rust/default.nix | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 09802d56d34c..4634d32f6ace 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -44,8 +44,8 @@ let hostConfig = stdenv.hostPlatform.config; rustHostConfig = { - "x86_64-pc-mingw32" = "x86_64-pc-windows-gnu"; - }."${hostConfig}" or hostConfig; + x86_64-pc-mingw32 = "x86_64-pc-windows-gnu"; + }.${hostConfig} or hostConfig; ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; @@ -86,6 +86,10 @@ stdenv.mkDerivation (args // { ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' [target."${rustHostConfig}"] "linker" = "${ccForHost}" + ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633 + stdenv.lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) '' + "rustflags" = [ "-C", "target-feature=+crt-static", "-C", "link-arg=-lgcc" ] + ''} ''} EOF |