about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFabian Schmitthenner <development@schmitthenner.eu>2016-02-28T22·41+0000
committerFabian Schmitthenner <development@schmitthenner.eu>2016-02-28T22·44+0000
commitff8d0698c76914f30d5311e1ceb0ab7d18a543b6 (patch)
tree7485b433e665e00a1aeb3b309847bea26ffa2cce
parenta1ea85e92b067a0a42354a28355c633eac7be65c (diff)
fix nix-repl after we don't have a global store variable anymore (cf nix@c10c61449f954702ae6d8092120321744acd82ff)
-rw-r--r--nix-repl.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/nix-repl.cc b/nix-repl.cc
index 6f4287a2b698..89c35c311db5 100644
--- a/nix-repl.cc
+++ b/nix-repl.cc
@@ -38,7 +38,7 @@ struct NixRepl
     StringSet completions;
     StringSet::iterator curCompletion;
 
-    NixRepl(const Strings & searchPath);
+    NixRepl(const Strings & searchPath, nix::ref<Store> store);
     void mainLoop(const Strings & files);
     void completePrefix(string prefix);
     bool getLine(string & input, const char * prompt);
@@ -73,8 +73,8 @@ string removeWhitespace(string s)
 }
 
 
-NixRepl::NixRepl(const Strings & searchPath)
-    : state(searchPath)
+NixRepl::NixRepl(const Strings & searchPath, nix::ref<Store> store)
+    : state(searchPath, store)
     , staticEnv(false, &state.staticBaseEnv)
 {
     curDir = absPath(".");
@@ -334,7 +334,7 @@ bool NixRepl::processLine(string line)
         if (!getDerivation(state, v, drvInfo, false))
             throw Error("expression does not evaluation to a derivation, so I can't build it");
         Path drvPath = drvInfo.queryDrvPath();
-        if (drvPath == "" || !store->isValidPath(drvPath))
+        if (drvPath == "" || !state.store->isValidPath(drvPath))
             throw Error("expression did not evaluate to a valid derivation");
 
         if (command == ":b") {
@@ -645,8 +645,7 @@ int main(int argc, char * * argv)
             return true;
         });
 
-        store = openStore();
-        NixRepl repl(searchPath);
+        NixRepl repl(searchPath, openStore());
         repl.mainLoop(files);
     });
 }