aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2017-01-10 12:22:22 -0500
committerShea Levy <shea@shealevy.com>2017-01-10 12:22:22 -0500
commit451c223deea17918454ae083dcfc0ea2b6103cab (patch)
tree0ceaa0ce59a4192c99722d9ab6d02f6adc91fd4d /src/libexpr
parent7adb986e354a36b6d8953213754b0d032e371308 (diff)
builtins.readFile: Put the references of the file, not those needed to realize the file, into the context
Diffstat (limited to 'src/libexpr')
-rw-r--r--src/libexpr/primops.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc
index 4398cc951..5be61c647 100644
--- a/src/libexpr/primops.cc
+++ b/src/libexpr/primops.cc
@@ -779,6 +779,9 @@ static void prim_readFile(EvalState & state, const Pos & pos, Value * * args, Va
string s = readFile(state.checkSourcePath(path));
if (s.find((char) 0) != string::npos)
throw Error(format("the contents of the file ‘%1%’ cannot be represented as a Nix string") % path);
+ context = state.store->isInStore(path) ?
+ state.store->queryPathInfo(state.store->toStorePath(path))->references :
+ PathSet{};
mkString(v, s.c_str(), context);
}