Add an HTTP binary cache store

Allowing stuff like

  NIX_REMOTE=https://cache.nixos.org nix-store -qR /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1

or

  NIX_REMOTE=https://cache.nixos.org nix-store --export /nix/store/x1p1gl3a4kkz5ci0nfbayjqlqmczp1kq-geeqie-1.1 | nix-store --import
This commit is contained in:
Eelco Dolstra 2016-02-29 18:15:20 +01:00
parent 6170bb474b
commit e9c50064b5
7 changed files with 102 additions and 61 deletions

View file

@ -17,9 +17,9 @@ void builtinFetchurl(const BasicDerivation & drv)
options.verifyTLS = false;
/* Show a progress indicator, even though stderr is not a tty. */
options.forceProgress = true;
options.showProgress = DownloadOptions::yes;
auto data = downloadFile(url->second, options);
auto data = makeDownloader()->download(url->second, options);
auto out = drv.env.find("out");
if (out == drv.env.end()) throw Error("attribute url missing");