aboutsummaryrefslogtreecommitdiff
path: root/src/nix-env
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2006-07-26 15:05:15 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2006-07-26 15:05:15 +0000
commitca2238cf818e27ebb663c83a9fe9ae7f58eb830f (patch)
tree7d8b058e7139c69666ee045f30070fc2500fafe5 /src/nix-env
parent2317d8f6712b2d4e249b8b1206f9e0a9c4269fc0 (diff)
* Refactoring: get the selection path stuff out of getDerivations()
and put it into a separate function findAlongAttrPath().
Diffstat (limited to 'src/nix-env')
-rw-r--r--src/nix-env/main.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/nix-env/main.cc b/src/nix-env/main.cc
index 875cdd744..3fcaaff42 100644
--- a/src/nix-env/main.cc
+++ b/src/nix-env/main.cc
@@ -10,6 +10,7 @@
#include "help.txt.hh"
#include "nixexpr-ast.hh"
#include "get-drvs.hh"
+#include "attr-path.hh"
#include "pathlocks.hh"
#include <cerrno>
@@ -36,7 +37,6 @@ struct InstallSourceInfo
Path nixExprPath; /* for srcNixExprDrvs, srcNixExprs */
Path profile; /* for srcProfile */
string systemFilter; /* for srcNixExprDrvs */
- string attrPath; /* srcAttrPath */
};
@@ -65,7 +65,7 @@ static void loadDerivations(EvalState & state, Path nixExprPath,
string systemFilter, DrvInfos & elems)
{
getDerivations(state,
- parseExprFromFile(state, absPath(nixExprPath)), elems);
+ parseExprFromFile(state, absPath(nixExprPath)), "", elems);
/* Filter out all derivations not applicable to the current
system. */
@@ -119,7 +119,7 @@ static DrvInfos queryInstalled(EvalState & state, const Path & userEnv)
e = bottomupRewrite(addPos, e);
DrvInfos elems;
- getDerivations(state, e, elems);
+ getDerivations(state, e, "", elems);
return elems;
}
@@ -334,7 +334,7 @@ static void queryInstSources(EvalState & state,
{
Expr e2 = parseExprFromString(state, *i, absPath("."));
Expr call = makeCall(e2, e1);
- getDerivations(state, call, elems);
+ getDerivations(state, call, "", elems);
}
break;
@@ -388,7 +388,9 @@ static void queryInstSources(EvalState & state,
for (Strings::const_iterator i = args.begin();
i != args.end(); ++i)
getDerivations(state,
- parseExprFromFile(state, instSource.nixExprPath), elems, *i);
+ findAlongAttrPath(state, *i,
+ parseExprFromFile(state, instSource.nixExprPath)),
+ "", elems);
break;
}
}