rust: update docs on legacyCargoFetcher; remove unnecessary defaults

As mentioned in #79975, the default on `legacyCargoFetcher` if left unspecified
is now `false`.
This commit is contained in:
Benjamin Hipple
2020-02-15 22:07:47 -08:00
committed by Jon
parent ceb30c490c
commit 131a32a5af
12 changed files with 7 additions and 30 deletions
+3 -14
View File
@@ -37,7 +37,6 @@ rustPlatform.buildRustPackage rec {
};
cargoSha256 = "17ldqr3asrdcsh4l29m3b5r37r5d0b3npq1lrgjmxb6vlx6a36qh";
legacyCargoFetcher = false;
meta = with stdenv.lib; {
description = "A fast line-oriented regex search tool, similar to ag and ack";
@@ -59,19 +58,9 @@ When the `Cargo.lock`, provided by upstream, is not in sync with the
added in `cargoPatches` will also be prepended to the patches in `patches` at
build-time.
Setting `legacyCargoFetcher` to `false` enables the following behavior:
1. The `Cargo.lock` file is copied into the cargo vendor directory.
2. At buildtime, `buildRustPackage` will ensure that the `src` and `cargoSha256`
are consistent. This avoids errors where one but not the other is updated.
3. The builder will compress the vendored cargo src directory into a tar.gz file
for storage after vendoring, and decompress it before the build. This saves
disk space and enables hashed mirrors for Rust dependencies.
Note that this option changes the value of `cargoSha256`, so it is currently
defaulted to `false`. When updating a Rust package, please set it to `true`;
eventually we will default this to true and update the remaining Rust packages,
then delete the option from all individual Rust package expressions.
Unless `legacyCargoFetcher` is set to `true`, the fetcher will also verify that
the `Cargo.lock` file is in sync with the `src` attribute, and will compress the
vendor directory into a tar.gz archive.
### Building a crate for a different target