about summary refs log tree commit diff
path: root/nixpkgs/pkgs/build-support/rust
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2020-09-29 01:15:06 -0400
committerAlyssa Ross <hi@alyssa.is>2020-11-27 13:29:15 +0000
commit454813293521972c721b0e476f85ff2f2e9500ec (patch)
tree3f6a8b45cf37d710d0650128c77550a99fe63c78 /nixpkgs/pkgs/build-support/rust
parent51da610320fbb39fa9fca2ce9f2079ee1cccf76b (diff)
downloadnixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar.gz
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar.bz2
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar.lz
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar.xz
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.tar.zst
nixlib-454813293521972c721b0e476f85ff2f2e9500ec.zip
buildRustCrate: fix target config environment variables on 32-bit ARM
(cherry picked from commit f0fdecfbb45c74bfb6f46017563e7ec941b604e9)
Diffstat (limited to 'nixpkgs/pkgs/build-support/rust')
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix11
-rw-r--r--nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix10
2 files changed, 7 insertions, 14 deletions
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
index 8e2f5f7f35e0..c7cffd42e087 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/configure-crate.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }:
+{ lib, stdenv, rust, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }:
 {
   build
 , buildDependencies
@@ -17,7 +17,6 @@
 , libName
 , libPath
 , release
-, target_os
 , verbose
 , workspace_member }:
 let version_ = lib.splitString "-" crateVersion;
@@ -124,8 +123,8 @@ in ''
   export CARGO_PKG_AUTHORS="${authors}"
   export CARGO_PKG_DESCRIPTION="${crateDescription}"
 
-  export CARGO_CFG_TARGET_ARCH=${stdenv.hostPlatform.parsed.cpu.name}
-  export CARGO_CFG_TARGET_OS=${target_os}
+  export CARGO_CFG_TARGET_ARCH=${rust.toTargetArch stdenv.hostPlatform}
+  export CARGO_CFG_TARGET_OS=${rust.toTargetOs stdenv.hostPlatform}
   export CARGO_CFG_TARGET_FAMILY="unix"
   export CARGO_CFG_UNIX=1
   export CARGO_CFG_TARGET_ENV="gnu"
@@ -136,8 +135,8 @@ in ''
   export CARGO_MANIFEST_DIR=$(pwd)
   export DEBUG="${toString (!release)}"
   export OPT_LEVEL="${toString optLevel}"
-  export TARGET="${stdenv.hostPlatform.config}"
-  export HOST="${stdenv.hostPlatform.config}"
+  export TARGET="${rust.toRustTarget stdenv.hostPlatform}"
+  export HOST="${rust.toRustTarget stdenv.buildPlatform}"
   export PROFILE=${if release then "release" else "debug"}
   export OUT_DIR=$(pwd)/target/build/${crateName}.out
   export CARGO_PKG_VERSION_MAJOR=${lib.elemAt version 0}
diff --git a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
index d559aba16165..1d8cd555523b 100644
--- a/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
+++ b/nixpkgs/pkgs/build-support/rust/build-rust-crate/default.nix
@@ -7,12 +7,6 @@
 { lib, stdenv, defaultCrateOverrides, fetchCrate, rustc, rust, cargo, jq }:
 
 let
-    # This doesn't appear to be officially documented anywhere yet.
-    # See https://github.com/rust-lang-nursery/rust-forge/issues/101.
-    target_os = if stdenv.hostPlatform.isDarwin
-      then "macos"
-      else stdenv.hostPlatform.parsed.kernel.name;
-
     # Create rustc arguments to link against the given list of dependencies
     # and renames.
     #
@@ -51,7 +45,7 @@ let
    inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
 
    configureCrate = import ./configure-crate.nix {
-     inherit lib stdenv echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
+     inherit lib stdenv rust echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
    };
 
    buildCrate = import ./build-crate.nix {
@@ -279,7 +273,7 @@ stdenv.mkDerivation (rec {
       inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
               crateFeatures crateRenames libName build workspace_member release libPath crateVersion
               extraLinkFlags extraRustcOpts
-              crateAuthors crateHomepage verbose colors target_os;
+              crateAuthors crateHomepage verbose colors;
     };
     buildPhase = buildCrate {
       inherit crateName dependencies