diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index 7130dde388bc..ad8488494e4c 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -89,7 +89,9 @@ in stdenv.mkDerivation (args // { buildPhase = with builtins; args.buildPhase or '' runHook preBuild - echo "Running cargo build --target ${stdenv.hostPlatform.config} --release ${concatStringsSep " " cargoBuildFlags}" + + ( + set -x env \ "CC_${stdenv.buildPlatform.config}"="${ccForBuild}" \ "CXX_${stdenv.buildPlatform.config}"="${cxxForBuild}" \ @@ -99,6 +101,15 @@ in stdenv.mkDerivation (args // { --release \ --target ${stdenv.hostPlatform.config} \ --frozen ${concatStringsSep " " cargoBuildFlags} + ) + + # rename the output dir to a architecture independent one + mapfile -t targets < <(find "$NIX_BUILD_TOP" -type d | grep '${releaseDir}$') + for target in "''${targets[@]}"; do + rm -rf "$target/../../release" + ln -srf "$target" "$target/../../" + done + runHook postBuild '';