diff options
author | Michael Eden <themichaeleden@gmail.com> | 2019-02-26 00:52:01 -0500 |
---|---|---|
committer | John Ericson <git@JohnEricson.me> | 2019-03-29 11:11:00 -0400 |
commit | bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3 (patch) | |
tree | 513fb3cfbc45b54f11ab1eea7a426265ee8a7cef /pkgs/build-support/rust | |
parent | 60761e65ba38280ce19e1d7e3c4ffd883212a96c (diff) | |
download | nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar.gz nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar.bz2 nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar.lz nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar.xz nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.tar.zst nixpkgs-bdd3c3fdcb11416d2e2ef459c2e28caa2235f0f3.zip |
rust: allow building in debug or release modes
Diffstat (limited to 'pkgs/build-support/rust')
-rw-r--r-- | pkgs/build-support/rust/default.nix | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix index ad8488494e4..028390640d1 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -13,11 +13,13 @@ , cargoUpdateHook ? "" , cargoDepsHook ? "" , cargoBuildFlags ? [] +, buildType ? "release" , cargoVendorDir ? null , ... } @ args: assert cargoVendorDir == null -> cargoSha256 != "unset"; +assert buildType == "release" || buildType == "debug"; let cargoDeps = if cargoVendorDir == null @@ -42,7 +44,7 @@ let cxxForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}c++"; ccForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}cc"; cxxForHost="${stdenv.cc}/bin/${stdenv.cc.targetPrefix}c++"; - releaseDir = "target/${stdenv.hostPlatform.config}/release"; + releaseDir = "target/${stdenv.hostPlatform.config}/${buildType}"; in stdenv.mkDerivation (args // { inherit cargoDeps; @@ -98,7 +100,7 @@ in stdenv.mkDerivation (args // { "CC_${stdenv.hostPlatform.config}"="${ccForHost}" \ "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \ cargo build \ - --release \ + --${buildType} \ --target ${stdenv.hostPlatform.config} \ --frozen ${concatStringsSep " " cargoBuildFlags} ) @@ -106,7 +108,7 @@ in stdenv.mkDerivation (args // { # 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" + rm -rf "$target/../../${buildType}" ln -srf "$target" "$target/../../" done |