From 408a7bfac1f4282ff6647696dfbc7988eed3a2ca Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 26 Nov 2012 17:39:09 +0100 Subject: nix-instantiate: Fix read-only evaluation --- src/nix-instantiate/nix-instantiate.cc | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'src/nix-instantiate') diff --git a/src/nix-instantiate/nix-instantiate.cc b/src/nix-instantiate/nix-instantiate.cc index a5053c32376d..53cd711895ff 100644 --- a/src/nix-instantiate/nix-instantiate.cc +++ b/src/nix-instantiate/nix-instantiate.cc @@ -62,16 +62,9 @@ void processExpr(EvalState & state, const Strings & attrPaths, Path drvPath = i->queryDrvPath(state); /* What output do we want? */ - Path outPath = i->queryOutPath(state); - Derivation drv = derivationFromPath(*store, drvPath); - string outputName; - foreach (DerivationOutputs::iterator, i, drv.outputs) - if (i->second.path == outPath) { - outputName = i->first; - break; - } + string outputName = i->queryOutputName(state); if (outputName == "") - throw Error(format("derivation `%1%' does not have an output `%2%'") % drvPath % outPath); + throw Error(format("derivation `%1%' lacks an `outputName' attribute ") % drvPath); if (gcRoot == "") printGCWarning(); -- cgit 1.4.1