diff options
author | Jörg Thalheim <Mic92@users.noreply.github.com> | 2019-11-01 15:46:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-01 15:46:47 +0000 |
commit | 56240d7f20a2cc4b931a89617c37403586dc5b74 (patch) | |
tree | e6ed3a95889bb58037d35525df1309aeaa3699ba /pkgs/build-support/rust | |
parent | a8ebd0b0c05bcca2d870d6172d9387fc6dd1638e (diff) | |
parent | bb7184d6a62f3eefdadb069091f8985871279b15 (diff) | |
download | nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar.gz nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar.bz2 nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar.lz nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar.xz nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.tar.zst nixpkgs-56240d7f20a2cc4b931a89617c37403586dc5b74.zip |
Merge pull request #71899 from decentriq/aslemmer/build-rust-package-add-target
build-support/rust: Add target option
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 8b41d992d1e..f0f949b2205 100644 --- a/pkgs/build-support/rust/default.nix +++ b/pkgs/build-support/rust/default.nix @@ -18,6 +18,7 @@ verifyCargoDeps ? false , buildType ? "release" , meta ? {} +, target ? null , cargoVendorDir ? null , ... } @ args: @@ -50,12 +51,13 @@ let rustHostConfig = { x86_64-pc-mingw32 = "x86_64-pc-windows-gnu"; }.${hostConfig} or hostConfig; + rustTarget = if target == null then rustHostConfig else target; ccForBuild="${buildPackages.stdenv.cc}/bin/${buildPackages.stdenv.cc.targetPrefix}cc"; 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/${rustHostConfig}/${buildType}"; + releaseDir = "target/${rustTarget}/${buildType}"; in stdenv.mkDerivation (args // { @@ -88,7 +90,7 @@ stdenv.mkDerivation (args // { [target."${stdenv.buildPlatform.config}"] "linker" = "${ccForBuild}" ${stdenv.lib.optionalString (stdenv.buildPlatform.config != stdenv.hostPlatform.config) '' - [target."${rustHostConfig}"] + [target."${rustTarget}"] "linker" = "${ccForHost}" ${# https://github.com/rust-lang/rust/issues/46651#issuecomment-433611633 stdenv.lib.optionalString (stdenv.hostPlatform.isMusl && stdenv.hostPlatform.isAarch64) '' @@ -133,7 +135,7 @@ stdenv.mkDerivation (args // { "CXX_${stdenv.hostPlatform.config}"="${cxxForHost}" \ cargo build \ ${stdenv.lib.optionalString (buildType == "release") "--release"} \ - --target ${rustHostConfig} \ + --target ${rustTarget} \ --frozen ${concatStringsSep " " cargoBuildFlags} ) |