nixpkgs/pkgs/applications/version-management/git-and-tools
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
..
bfg-repo-cleaner
bitbucket-server-cli
cgit
darcs-to-git
delta gitAndTools.delta: 0.0.15 -> 0.0.16 2020-02-06 21:21:21 -05:00
diff-so-fancy
fast-export
gh gitAndTools.gh: init at 0.5.3 2020-02-04 13:53:56 +10:00
ghq
git git: enable zsh completion 2020-02-09 09:22:20 +01:00
git-absorb
git-annex-metadata-gui
git-annex-remote-b2
git-annex-remote-dbx
git-annex-remote-rclone
git-annex-utils
git-appraise
git-big-picture
git-bug gitAndTools.git-bug: 0.5.0 -> 0.6.0 2020-01-04 14:57:51 +01:00
git-bz
git-codeowners
git-cola
git-crypt
git-dit
git-extras gitAndTools.git-extras: 5.0.0 -> 5.1.0 2019-12-23 03:54:27 -08:00
git-fame
git-gone gitAndTools.git-gone: 0.2.0 -> 0.3.0 2019-12-22 00:00:00 -05:00
git-hub gitAndTools.git-hub: 1.0.3 -> 1.1.0 2019-12-23 15:13:04 +00:00
git-ignore
git-imerge treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
git-interactive-rebase-tool gitAndTools.git-interactive-rebase-tool: enable on darwin 2020-02-02 21:15:10 -05:00
git-machete gitAndTools.git-machete: 2.12.6 -> 2.13.1 2020-02-08 09:20:18 +00:00
git-octopus
git-open
git-radar
git-recent
git-remote-gcrypt
git-remote-hg treewide: installFlags is a list 2019-12-30 13:22:43 +01:00
git-reparent
git-secret
git-secrets
git-standup
git-stree
git-subrepo gitAndTools.git-subrepo: 0.4.0 -> 0.4.1 2020-01-15 12:57:58 +00:00
git-subtrac
git-sync
git-test
git-workspace fetchcargo: use flat tar.gz file for vendored src instead of recursive hash dir 2020-02-10 10:17:29 -05:00
git2cl
gita
gitflow
gitstatus gitstatus: unstable-2019-12-18 -> unstable-2020-01-28 2020-02-02 21:38:40 +01:00
gitweb
grv
hub gitAndTools.hub: 2.13.0 -> 2.14.1 2020-01-21 11:05:48 -06:00
lab gitAndTools.lab: 0.17.1 -> 0.17.2 2019-12-18 13:36:00 -05:00
lefthook
pass-git-helper
qgit
stgit treewide: replace make/build/configure/patchFlags with nix lists 2019-12-30 12:58:11 +01:00
subgit treewide: fix redirected urls 2020-01-22 11:26:22 +01:00
svn-all-fast-export treewide: NIX_*_COMPILE -> string 2019-12-31 00:13:29 +01:00
svn2git
thicket thicket: init at 0.1.3 2020-01-20 15:52:26 +02:00
tig
topgit
transcrypt
default.nix gitAndTools.gh: init at 0.5.3 2020-02-04 13:53:56 +10:00