atuin: useFetchCargoVendor

Cargo 1.84.0 seems to have changed the output format of cargo vendor
again, once again invalidating fetchCargoTarball FOD hashes.  It's
time to fix this once and for all, switching across the board to
fetchCargoVendor, which is not dependent on cargo vendor's output
format.

Being optimistic that fetchCargoVendor will have resolved the
case-insensitivity issues.
This commit is contained in:
Alyssa Ross 2025-01-28 13:44:30 +01:00
parent a0f39e85a5
commit 668b7e734d
No known key found for this signature in database
GPG Key ID: 5B459184230FF0A2

View File

@ -20,34 +20,8 @@ rustPlatform.buildRustPackage rec {
hash = "sha256-P/q4XYhpXo9kwiltA0F+rQNSlqI+s8TSi5v5lFJWJ/4=";
};
# the interim crate contains both README.md and readme.md,
# which causes a hash mismatch on systems with a case-insensitive filesystem.
# This removes the readme files and updates cargo's checksum file accordingly
depsExtraArgs = {
nativeBuildInputs = [
jq
moreutils
];
postBuild = ''
pushd $name/interim
if [ -e readme.md ]; then
rm --force --verbose README.md readme.md
jq 'del(.files."README.md") | del(.files."readme.md")' \
.cargo-checksum.json -c \
| sponge .cargo-checksum.json
popd
else
echo "ERROR: the interim crate has been updated"
echo "When you see this message, please remove the workaround for the interim crate from the atuin nix expression"
exit 1
fi
'';
};
cargoHash = "sha256-l8DsQwEJZL9kr9UIpZzebDSRYET2WM8VFwk+O1Qk9oQ=";
useFetchCargoVendor = true;
cargoHash = "sha256-0KswWFy44ViPHlMCmwgVlDe7diDjLmVUk2517BEMTtk=";
# atuin's default features include 'check-updates', which do not make sense
# for distribution builds. List all other default features.