buildRustCrate: fix target config environment variables on 32-bit ARM
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -8,12 +8,6 @@
|
||||
, 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.
|
||||
#
|
||||
@@ -52,7 +46,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 {
|
||||
@@ -284,7 +278,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
|
||||
|
||||
Reference in New Issue
Block a user