diff options
author | Shea Levy <shea@shealevy.com> | 2015-07-23T13·48-0400 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-07-23T15·04+0200 |
commit | 39e27a04b8d1fc8251128b1f9f8f152b8c8a9b68 (patch) | |
tree | 0f9b47e38fbc40e0595dffe31c41611f709e3f6a | |
parent | 1ed55234d9efce7d40c97ef1215090015d18498c (diff) |
Importing derivations: Add name attribute to make a valid drv
-rw-r--r-- | corepkgs/imported-drv-to-derivation.nix | 4 | ||||
-rw-r--r-- | src/libexpr/primops.cc | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/corepkgs/imported-drv-to-derivation.nix b/corepkgs/imported-drv-to-derivation.nix index bdb60169860a..eab8b050e8ff 100644 --- a/corepkgs/imported-drv-to-derivation.nix +++ b/corepkgs/imported-drv-to-derivation.nix @@ -1,10 +1,10 @@ -attrs @ { drvPath, outputs, ... }: +attrs @ { drvPath, outputs, name, ... }: let commonAttrs = (builtins.listToAttrs outputsList) // { all = map (x: x.value) outputsList; - inherit drvPath; + inherit drvPath name; type = "derivation"; }; diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index f555de73e164..dd21bdc57e4f 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -86,9 +86,11 @@ static void prim_scopedImport(EvalState & state, const Pos & pos, Value * * args if (isStorePath(path) && store->isValidPath(path) && isDerivation(path)) { Derivation drv = readDerivation(path); Value & w = *state.allocValue(); - state.mkAttrs(w, 2 + drv.outputs.size()); + state.mkAttrs(w, 3 + drv.outputs.size()); Value * v2 = state.allocAttr(w, state.sDrvPath); mkString(*v2, path, singleton<PathSet>("=" + path)); + v2 = state.allocAttr(w, state.sName); + mkString(*v2, drv.env["name"]); Value * outputsVal = state.allocAttr(w, state.symbols.create("outputs")); state.mkList(*outputsVal, drv.outputs.size()); |