diff options
author | Shea Levy <shea@shealevy.com> | 2013-12-05T16·51-0500 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-12-10T14·07+0100 |
commit | 22d665019a3770148929b7504c73bcdbe025ec12 (patch) | |
tree | c0b858911e4b71436e8e92f25cf00a9720149796 | |
parent | a6add93d734279db8503951ac6466c275b3c8e4e (diff) |
builtins.storePath: Try to substitute the path if it is not yet valid
Signed-off-by: Shea Levy <shea@shealevy.com>
-rw-r--r-- | src/libexpr/primops.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 9c9d202eda63..6d09bb7b13ba 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -582,8 +582,8 @@ static void prim_storePath(EvalState & state, Value * * args, Value & v) if (!isInStore(path)) throw EvalError(format("path `%1%' is not in the Nix store") % path); Path path2 = toStorePath(path); - if (!store->isValidPath(path2)) - throw EvalError(format("store path `%1%' is not valid") % path2); + if (!settings.readOnlyMode) + store->ensurePath(path2); context.insert(path2); mkString(v, path, context); } |