diff --git a/src/libexpr/get-drvs.cc b/src/libexpr/get-drvs.cc index acdc0c7b58..3c7061fcd3 100644 --- a/src/libexpr/get-drvs.cc +++ b/src/libexpr/get-drvs.cc @@ -10,6 +10,13 @@ string DrvInfo::queryDrvPath(EvalState & state) const { if (drvPath == "") { Expr a = attrs->get(toATerm("drvPath")); + + /* Backwards compatibility hack with user environments made by + Nix <= 0.10: these contain illegal Path("") expressions. */ + ATerm t; + if (a && matchPath(evalExpr(state, a), t)) + return aterm2String(t); + PathSet context; (string &) drvPath = a ? coerceToPath(state, a, context) : ""; }