nix-gh/src
Eelco Dolstra ca580bec35 BinaryCacheStore: Support local caching of NARs
This speeds up commands like "nix cat-store". For example:

  $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nar-cache /nix/store/i60yncmq6w9dyv37zd2k454g0fkl3arl-systemd-234/etc/udev/udev.conf
  real    0m4.336s

  $ time nix cat-store --store https://cache.nixos.org?local-nar-cache=/tmp/nar-cache /nix/store/i60yncmq6w9dyv37zd2k454g0fkl3arl-systemd-234/etc/udev/udev.conf
  real    0m0.045s

The primary motivation is to allow hydra-server to serve files from S3
binary caches. Previously Hydra had a hack to do "nix-store -r
<path>", but that fetches the entire closure so is prohibitively
expensive.

There is no garbage collection of the NAR cache yet. Also, the entire
NAR is read when accessing a single member file. We could generate the
NAR listing to provide random access.

Note: the NAR cache is indexed by the store path hash, not the content
hash, so NAR caches should not be shared between binary caches, unless
you're sure that all your builds are binary-reproducible.
2017-10-17 21:15:33 +02:00
..
boost Shut up some warnings 2017-04-14 14:42:20 +02:00
build-remote Merge branch 'macOS' of https://github.com/davidak/nix 2017-07-31 10:31:51 +02:00
buildenv Improve error message for conflicting priorities 2017-09-21 10:25:20 +09:00
libexpr fetchgit: Remove incomplete/unneeded ref check. 2017-10-17 12:30:54 -04:00
libmain Fix verbosity level for nix build --dry-run 2017-09-01 12:37:09 +02:00
libstore BinaryCacheStore: Support local caching of NARs 2017-10-17 21:15:33 +02:00
libutil Fix a hang in ThreadPool 2017-10-09 15:41:09 +02:00
linenoise Replace readline by linenoise 2017-05-10 18:37:42 +02:00
nix nix run: Restore signals 2017-09-28 17:58:59 +02:00
nix-build nix-shell: Ignore readFile() errors 2017-09-18 13:28:00 +02:00
nix-channel Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
nix-collect-garbage printMsg(lvlError, ...) -> printError(...) etc. 2016-09-21 16:54:53 +02:00
nix-copy-closure Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
nix-daemon Give activities a verbosity level again 2017-08-28 19:13:24 +02:00
nix-env Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
nix-instantiate Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00
nix-prefetch-url Don't remove Content-Encoding in fetchurl / nix-prefetch-url 2017-09-18 11:07:28 +02:00
nix-store LegacySSHStore: Include signatures etc. 2017-09-08 16:55:27 +02:00
resolve-system-dependencies Replace Unicode quotes in user-facing strings by ASCII 2017-07-30 12:32:45 +01:00