crane/pkgs/configureCargoCommonVarsHook.sh
Ivan Petkov c10fd1c8b1
Set CARGO_HOME in configureCargoCommonVarsHook
* This will define CARGO_HOME to $PWD/.cargo-home to ensure that cargo
  never tries to look for a missing HOME directory as it's default
  location
* The hook is also added to `postPatchHooks` (instead of
  `preConfigureHooks`) to ensure that it runs before all other
  configuration-related hooks
2021-12-28 16:00:50 -08:00

21 lines
860 B
Bash

configureCargoCommonVars() {
echo "Executing configureCargoCommonVars"
# Set a CARGO_HOME if it doesn't exist so cargo does not go
# looking for a non-existent HOME directory
export CARGO_HOME=${CARGO_HOME:-${PWD}/.cargo-home}
mkdir -p ${CARGO_HOME}
export CARGO_BUILD_JOBS=${CARGO_BUILD_JOBS:-$NIX_BUILD_CORES}
export RUST_TEST_THREADS=${RUST_TEST_THREADS:-$NIX_BUILD_CORES}
# Disable incremental builds by default since we don't get a ton of benefit
# while building with nix. Allow a declared-but-empty variable which will tell
# cargo to honor the definition used in the build profile
export CARGO_BUILD_INCREMENTAL=${CARGO_BUILD_INCREMENTAL-false}
}
# NB: run after patching, but before other configure hooks so that we can set
# any default values as early in the process as possible.
postPatchHooks+=(configureCargoCommonVars)