nixpkgs/pkgs/tools/package-management
Benjamin Hipple 2115a2037c 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.
2020-02-10 10:17:29 -05:00
..
appimage-run treewide: remove unused variables (#63177) 2019-06-16 19:59:05 +00:00
appimagekit Merge commit '18aa59b0f26fc707e7313f8467e67159e61600c2' from master into staging 2019-04-01 00:40:03 -04:00
apt apt: 1.4.6 -> 1.8.4 2019-11-17 16:53:34 +01:00
apt-dater treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
bunny treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
cargo-about cargo-about: 0.1.1 -> 0.2.0 2020-01-28 13:05:27 -05:00
cargo-audit cargo-audit: 0.9.3 -> 0.10.0 2019-10-31 10:10:35 +01:00
cargo-deb cargo-deb: 1.23.0 -> 1.23.1 2020-01-09 15:32:11 +02:00
cargo-deps cargo-deps: init at 1.1.1 2019-10-15 10:42:03 -07:00
cargo-download treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
cargo-edit cargo-edit: 0.4.2 -> 0.5.0 2020-02-06 20:43:53 +01:00
cargo-graph treewide: name -> pname (#67513) 2019-08-31 07:41:22 -04:00
cargo-license cargo-license: 0.2.0 -> 0.3.0 2019-12-16 12:56:18 +01:00
cargo-outdated cargo-outdated: unstable-2019-04-13 -> 0.9.1 2019-12-14 15:41:19 +00:00
cargo-release cargo-release: 0.12.4 -> 0.13.0 2020-01-02 22:12:03 +01:00
cargo-tree cargo-tree: 0.27.0 -> 0.28.0 2020-01-26 20:11:58 +01:00
cargo-update treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
cde treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
checkinstall checkinstall: Add license 2019-03-27 12:54:17 +01:00
clib treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
conda conda: update default condaDeps 2019-07-20 12:33:30 +08:00
createrepo_c treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
disnix disnix: 0.9 -> 0.9.1 2020-01-08 22:12:16 +01:00
dpkg treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
elm-github-install bundlerUpdateScript: init and use (#64822) 2019-07-22 12:02:47 +00:00
emplace emplace: 0.2.8 -> 0.2.10 (#76581) 2020-01-09 13:57:14 +01:00
fpm bundlerUpdateScript: init and use (#64822) 2019-07-22 12:02:47 +00:00
gx treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
home-manager home-manager: 2019-11-17 -> 2020-01-04 2020-01-06 21:24:32 +01:00
librepo treewide: fix *Flags 2019-12-30 04:50:37 +01:00
morph morph: add openssh to PATH 2020-01-21 18:44:35 +01:00
mynewt-newt mynewt-newt: patch to fix failure running upgrade on mcuboot 2020-01-31 17:58:05 +00:00
nfpm nfpm: 1.1.8 -> 1.1.10 2020-01-19 20:20:20 -05:00
niff
nix Revert "nix: build using gcc8" 2020-01-05 20:42:44 +01:00
nix-bundle nix-bundle: 0.2.0 -> 0.3.0 2020-01-17 08:49:43 +00:00
nix-du fetchcargo: use flat tar.gz file for vendored src instead of recursive hash dir 2020-02-10 10:17:29 -05:00
nix-index treewide: fix cargoSha256 (again) 2019-12-20 20:08:53 +00:00
nix-pin treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
nix-prefetch nix-prefetch: 0.1.0 -> 0.3.0 2020-01-16 17:17:00 +08:00
nix-prefetch-scripts treewide: use dontUnpack 2019-07-01 04:23:51 -04:00
nix-serve nix-serve: correct license 2019-11-17 13:16:26 +00:00
nix-top treewide: name -> pname (easy cases) (#66585) 2019-08-15 13:41:18 +01:00
nix-universal-prefetch nix-universal-prefetch: init at 0.2.0 (#53436) 2019-01-23 20:32:09 +02:00
nix-update-source treewide: remove unused variables (#63177) 2019-06-16 19:59:05 +00:00
nixops nixops_1_6_1: pin azure-storage 2019-09-13 16:59:45 -07:00
nixpkgs-review nixpkgs-review: 2.1.0 -> 2.1.1 2019-12-22 09:26:57 +00:00
nixui treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
nox nox: add missing 'setuptools' to propagatedBuildInputs 2019-10-14 23:21:03 -04:00
opkg opkg: 0.4.1 -> 0.4.2 2020-01-06 19:59:32 -08:00
opkg-utils treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
packagekit packagekit: 1.1.12 -> 1.1.13 (#77498) 2020-01-18 08:34:18 -05:00
pacman pacman: fix script generation 2020-01-08 14:38:00 -05:00
protontricks protontricks: 1.3.1 -> 1.4 2020-01-27 19:41:58 -05:00
python2nix treewide: remove redundant rec 2019-08-28 11:07:32 +00:00
reuse reuse: 0.6.0 -> 0.7.0 2019-12-24 06:38:51 -08:00
rpm rpm: fix helper script paths 2020-01-18 15:59:30 -05:00
xbps xbps: 0.57.1 -> 0.58 2020-02-09 10:01:02 +01:00