nixpkgs/pkgs/build-support
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
..
add-opengl-runpath
agda treewide: fix *Flags 2019-12-30 04:50:37 +01:00
appimage appimage: do not use alias 2019-11-23 21:28:01 +01:00
bintools-wrapper Merge pull request #74090 from obsidiansystems/ghcjs-cross-without-cc 2019-12-30 16:40:43 -08:00
build-bazel-package bazel-deps: remove 2020-02-04 12:35:47 +11:00
build-dotnet-package treewide: Make still dont* Variables are optional in most cases 2019-11-01 14:44:44 -04:00
build-fhs-userenv treewide: Fix unsafe concatenation of $LD_LIBRARY_PATH 2020-01-15 09:47:03 +01:00
build-setupcfg
buildenv
cc-wrapper Merge pull request #74090 from obsidiansystems/ghcjs-cross-without-cc 2019-12-30 16:40:43 -08:00
docker dockerTools.*: Assertion against building for Darwin (#77952) 2020-01-31 21:17:40 +01:00
docker-slim docker-slim: init at 1.26.1 2020-01-03 11:18:00 +01:00
dotnetbuildhelpers
dotnetenv
emacs emacs package setup hook: Fix Fix 2019-11-23 19:49:56 +01:00
expand-response-params
fetchbitbucket
fetchbower
fetchbzr
fetchcvs
fetchdarcs
fetchdocker
fetchfossil
fetchgit nix-prefetch-git: list --branch-name in help 2019-11-26 20:43:23 +01:00
fetchgithub
fetchgitiles fetchFromGitiles: init 2019-12-02 22:44:33 +00:00
fetchgitlab fetchFromGitLab: improve readability 2019-12-09 01:33:16 +00:00
fetchgitlocal
fetchgx
fetchhg
fetchipfs
fetchmavenartifact
fetchmtn
fetchnuget
fetchpatch
fetchrepoorcz
fetchrepoproject
fetchs3
fetchsavannah
fetchsvn
fetchsvnrevision
fetchsvnssh
fetchurl mirrors.nix: Use HTTPS in maven mirrors 2020-01-20 09:54:14 +01:00
fetchzip
icon-conv-tools
install-shell-files
kernel modules-shrunk: preserve module priorities from build 2019-12-07 23:04:17 +01:00
libredirect libredirect: fix build on darwin 2020-01-23 20:20:20 -05:00
make-desktopitem makeDesktopItem: use runCommandLocal 2019-12-08 20:47:27 +01:00
make-startupitem
make-symlinks
mkshell
mono-dll-fixer
nix-gitignore
nuke-references nukeReferences: Use stdenvNoCC 2019-10-11 17:12:09 +02:00
ocaml treewide: CAML_LD_LIBRARY_PATH may be undefined 2019-11-14 13:44:07 -05:00
oci-tools
prefer-remote-fetch
references-by-popularity
release
remove-references-to
rust fetchcargo: use flat tar.gz file for vendored src instead of recursive hash dir 2020-02-10 10:17:29 -05:00
setup-hooks stdenv: make symlinks that refer to the same output relative 2020-01-15 09:26:40 +01:00
singularity-tools singularity-tools: fix buildImage 2020-02-02 09:18:39 +11:00
skaware buildSkawarePackage: pass through extra args 2019-12-16 13:27:10 +00:00
snap
src-only
substitute
substitute-files
templaterpm
upstream-updater
vm vmTools.fillDiskWithRPMs: fix cpio use 2019-12-08 21:03:39 +01:00
wrapper-common
writers WriteHaskell: Strip binaries 2019-12-14 09:32:34 +01:00
build-maven.nix
build-pecl.nix
closure-info.nix
dhall-to-nix.nix
plugins.nix
replace-dependency.nix
setup-systemd-units.nix
source-from-head-fun.nix
trivial-builders.nix pkgs/build-support/trivial-builders: remove runCommandCCLocal 2019-12-04 21:17:01 +01:00