aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-02-29 18:15:20 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-02-29 18:15:20 +0100
commite9c50064b59de6e9b4167f578c15b0cc04a7d33e (patch)
tree9a98ec383dc6659115f01feed685e63d2e1f7e91 /src/libexpr
parent6170bb474bd7a038e03f212b12e403fad90c5403 (diff)
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
Diffstat (limited to 'src/libexpr')
-rw-r--r--src/libexpr/common-opts.cc2
-rw-r--r--src/libexpr/parser.y2
-rw-r--r--src/libexpr/primops.cc2
3 files changed, 3 insertions, 3 deletions
diff --git a/src/libexpr/common-opts.cc b/src/libexpr/common-opts.cc
index 68ab4b5cd..8a7989aac 100644
--- a/src/libexpr/common-opts.cc
+++ b/src/libexpr/common-opts.cc
@@ -55,7 +55,7 @@ bool parseSearchPathArg(Strings::iterator & i,
Path lookupFileArg(EvalState & state, string s)
{
if (isUri(s))
- return downloadFileCached(state.store, s, true);
+ return makeDownloader()->downloadCached(state.store, s, true);
else if (s.size() > 2 && s.at(0) == '<' && s.at(s.size() - 1) == '>') {
Path p = s.substr(1, s.size() - 2);
return state.findFile(p);
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y
index 80ecd44c5..11dc7bb5c 100644
--- a/src/libexpr/parser.y
+++ b/src/libexpr/parser.y
@@ -613,7 +613,7 @@ void EvalState::addToSearchPath(const string & s, bool warn)
}
if (isUri(path))
- path = downloadFileCached(store, path, true);
+ path = makeDownloader()->downloadCached(store, path, true);
path = absPath(path);
if (pathExists(path)) {
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 3c899d769..5bfb95be6 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -1703,7 +1703,7 @@ void fetch(EvalState & state, const Pos & pos, Value * * args, Value & v,
} else
url = state.forceStringNoCtx(*args[0], pos);
- Path res = downloadFileCached(state.store, url, unpack);
+ Path res = makeDownloader()->downloadCached(state.store, url, unpack);
mkString(v, res, PathSet({res}));
}