3
0
Fork 0
forked from mirrors/nixpkgs

Write cargo config to temporary file instead of source dir.

... as this fails if the source dir contains a "config" directory.
This commit is contained in:
Clemens Fruhwirth 2018-11-25 15:20:24 +01:00
parent 7d24cf8ea9
commit 8d4fbc55d8

View file

@ -38,18 +38,19 @@ stdenv.mkDerivation {
fi
export CARGO_HOME=$(mktemp -d cargo-home.XXX)
CARGO_CONFIG=$(mktemp cargo-config.XXXX)
${cargoUpdateHook}
mkdir -p $out
cargo vendor $out | cargo-vendor-normalise > config
cargo vendor $out | cargo-vendor-normalise > $CARGO_CONFIG
# fetchcargo used to never keep the config output by cargo vendor
# and instead hardcode the config in ./fetchcargo-default-config.toml.
# This broke on packages needing git dependencies, so now we keep the config.
# But not to break old cargoSha256, if the previous behavior was enough,
# we don't store the config.
if ! cmp config ${./fetchcargo-default-config.toml} > /dev/null; then
install -Dt $out/.cargo config;
if ! cmp $CARGO_CONFIG ${./fetchcargo-default-config.toml} > /dev/null; then
install -Dt $out/.cargo $CARGO_CONFIG;
fi;
'';