about summary refs log tree commit diff
path: root/src/libexpr
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2016-02-29T17·15+0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2016-02-29T17·15+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 68ab4b5cdcbf..8a7989aac663 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 80ecd44c5981..11dc7bb5ccdf 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 3c899d769253..5bfb95be6849 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}));
 }