diff options
author | Benjamin Hipple <bhipple@protonmail.com> | 2020-01-12 11:21:23 -0500 |
---|---|---|
committer | Benjamin Hipple <bhipple@protonmail.com> | 2020-02-10 10:17:29 -0500 |
commit | 2115a2037cb8337ccb09798c175733f1fc747ee3 (patch) | |
tree | ae36678ae1dfb15b8c9cd74229cb369a60ae7fe8 /pkgs/tools | |
parent | d9eb897edd8dfb7c65d8069197e3db5eeb537d69 (diff) | |
download | nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar.gz nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar.bz2 nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar.lz nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar.xz nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.tar.zst nixpkgs-2115a2037cb8337ccb09798c175733f1fc747ee3.zip |
fetchcargo: use flat tar.gz file for vendored src instead of recursive hash dir
This has several advantages: 1. It takes up less space on disk in-between builds in the nix store. 2. It uses less space in the binary cache for vendor derivation packages. 3. It uses less network traffic downloading from the binary cache. 4. It plays nicely with hashed mirrors like tarballs.nixos.org, which only substitute --flat hashes on single files (not recursive directory hashes). 5. It's consistent with how simple `fetchurl` src derivations work. 6. It provides a stronger abstraction between input src-package and output package, e.g., it's harder to accidentally depend on the src derivation at runtime by referencing something like `${src}/etc/index.html`. Likewise, in the store it's harder to get confused with something that is just there as a build-time dependency vs. a runtime dependency, since the build-time src dependencies are tarred up. Disadvantages are: 1. It takes slightly longer to untar at the start of a build. As currently implemented, this attaches the compacted vendor.tar.gz feature as a rider on `verifyCargoDeps`, since both of them are relatively newly implemented behavior that change the `cargoSha256`. If this PR is accepted, I will push forward the remaining rust packages with a series of treewide PRs to update the `cargoSha256`s.
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/misc/broot/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/misc/wagyu/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/package-management/nix-du/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/security/fido2luks/default.nix | 4 | ||||
-rw-r--r-- | pkgs/tools/system/tre-command/default.nix | 4 |
5 files changed, 10 insertions, 10 deletions
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix index 45b26b25055..df26423c633 100644 --- a/pkgs/tools/misc/broot/default.nix +++ b/pkgs/tools/misc/broot/default.nix @@ -11,8 +11,8 @@ rustPlatform.buildRustPackage rec { sha256 = "13b1w9g68aj3r70w9bmrmdc772y959n77ajbdm2cpjs5f4kgfpak"; }; - cargoSha256 = "0vzpyymylzxjm613lf5xr6hd21ijkl3vwq4y6h1q3as41phw2sqb"; - verifyCargoDeps = true; + cargoSha256 = "0zrwpmsrzwnjml0964zky8w222zmlargha3z0n6hf8cfshx23s4k"; + legacyCargoFetcher = false; nativeBuildInputs = [ installShellFiles ]; diff --git a/pkgs/tools/misc/wagyu/default.nix b/pkgs/tools/misc/wagyu/default.nix index d56d21b1516..53e09849522 100644 --- a/pkgs/tools/misc/wagyu/default.nix +++ b/pkgs/tools/misc/wagyu/default.nix @@ -11,8 +11,8 @@ rustPlatform.buildRustPackage rec { sha256 = "1646j0lgg3hhznifvbkvr672p3yqlcavswijawaxq7n33ll8vmcn"; }; - cargoSha256 = "10b96l0b32zxq0xrnhivv3gihmi5y31rllbizv67hrg1axz095vn"; - verifyCargoDeps = true; + cargoSha256 = "16d1b3pamkg29nq80n6cbzc4zl9z3cgfvdxjkr2z4xrnzmkn1ysi"; + legacyCargoFetcher = false; meta = with lib; { description = "Rust library for generating cryptocurrency wallets"; diff --git a/pkgs/tools/package-management/nix-du/default.nix b/pkgs/tools/package-management/nix-du/default.nix index 74543cef83b..908f31b93ab 100644 --- a/pkgs/tools/package-management/nix-du/default.nix +++ b/pkgs/tools/package-management/nix-du/default.nix @@ -9,8 +9,8 @@ rustPlatform.buildRustPackage rec { rev = "v${version}"; sha256 = "149d60mid29s5alv5m3d7jrhyzc6cj7b6hpiq399gsdwzgxr00wq"; }; - cargoSha256 = "18kb4car5nzch3vpl6z1499silhs3fyn8c6xj3rzk94mm2m9srg4"; - verifyCargoDeps = true; + cargoSha256 = "1a6svl89dcdb5fpvs2i32i6agyhl0sx7kkkw70rqr17fyzl5psai"; + legacyCargoFetcher = false; doCheck = true; checkInputs = [ graphviz ]; diff --git a/pkgs/tools/security/fido2luks/default.nix b/pkgs/tools/security/fido2luks/default.nix index 4682a09acf5..ea911e46734 100644 --- a/pkgs/tools/security/fido2luks/default.nix +++ b/pkgs/tools/security/fido2luks/default.nix @@ -19,8 +19,8 @@ rustPlatform.buildRustPackage rec { buildInputs = [ cryptsetup ]; nativeBuildInputs = [ pkg-config ]; - cargoSha256 = "1i37k4ih6118z3wip2qh4jqk7ja2z0v1w8dri1lwqwlciqw17zi9"; - verifyCargoDeps = true; + cargoSha256 = "0rp4f6xnwmvf3pv6h0qwsg01jrndf77yn67675ac39kxzmrzfy2f"; + legacyCargoFetcher = false; meta = with stdenv.lib; { description = "Decrypt your LUKS partition using a FIDO2 compatible authenticator"; diff --git a/pkgs/tools/system/tre-command/default.nix b/pkgs/tools/system/tre-command/default.nix index 6050b2a709e..b8925dcfa42 100644 --- a/pkgs/tools/system/tre-command/default.nix +++ b/pkgs/tools/system/tre-command/default.nix @@ -11,8 +11,8 @@ rustPlatform.buildRustPackage rec { sha256 = "1fazw2wn738iknbv54gv7qll7d4q2gy9bq1s3f3cv21cdv6bqral"; }; - cargoSha256 = "0m82zbi610zgvcza6n03xl80g31x6bfkjyrfxcxa6fyf2l5cj9pv"; - verifyCargoDeps = true; + cargoSha256 = "1m3ccp5ncafkifg8sxyxczsg3ja1gvq8wmgni68bgzm2lwxh2qgw"; + legacyCargoFetcher = false; meta = with stdenv.lib; { description = "Tree command, improved"; |