diff --git a/src/hydra-eval-jobs/hydra-eval-jobs.cc b/src/hydra-eval-jobs/hydra-eval-jobs.cc
index c5f6f3a3..7fadef71 100644
--- a/src/hydra-eval-jobs/hydra-eval-jobs.cc
+++ b/src/hydra-eval-jobs/hydra-eval-jobs.cc
@@ -253,16 +253,29 @@ int main(int argc, char * * argv)
EvalState state(searchPath);
AutoArgs autoArgs;
+ Value * inputsSet = state.allocValue();
+ state.mkAttrs(*inputsSet, autoArgs_.size());
for (auto & i : autoArgs_) {
+ Symbol inputName = state.symbols.create(i.first);
+ bool first = true;
for (auto & j : i.second) {
Value * v = state.allocValue();
if (j[0] == 'E')
state.eval(state.parseExprFromString(string(j, 1), absPath(".")), *v);
else
mkString(*v, string(j, 1));
- autoArgs[state.symbols.create(i.first)].push_back(v);
+ autoArgs[inputName].push_back(v);
+ if (first) {
+ inputsSet->attrs->push_back(Attr(inputName, v));
+ first = false;
+ }
}
}
+ Symbol sInputs = state.symbols.create("inputs");
+ if (autoArgs.find(sInputs) == autoArgs.end()) {
+ inputsSet->attrs->sort();
+ autoArgs[sInputs].push_back(inputsSet);
+ }
store = openStore();
diff --git a/src/lib/Hydra/Helper/AddBuilds.pm b/src/lib/Hydra/Helper/AddBuilds.pm
index 70fb96f4..e4fe3c40 100644
--- a/src/lib/Hydra/Helper/AddBuilds.pm
+++ b/src/lib/Hydra/Helper/AddBuilds.pm
@@ -261,6 +261,8 @@ sub buildInputToString {
")";
} else {
$result = "{ outPath = builtins.storePath " . $input->{storePath} . "" .
+ "; inputType = \"" . $input->{type} . "\"" .
+ (defined $input->{uri} ? "; uri = \"" . $input->{uri} . "\"" : "") .
(defined $input->{revNumber} ? "; rev = " . $input->{revNumber} . "" : "") .
(defined $input->{revision} ? "; rev = \"" . $input->{revision} . "\"" : "") .
(defined $input->{revCount} ? "; revCount = " . $input->{revCount} . "" : "") .
diff --git a/src/root/common.tt b/src/root/common.tt
index dafae8aa..6acea0c6 100644
--- a/src/root/common.tt
+++ b/src/root/common.tt
@@ -277,7 +277,13 @@ BLOCK renderDiffUri;
url = res.0;
branch = res.1;
IF bi1.type == "hg" || bi1.type == "git" %]
- [% contents %]
+ [% contents %]
[% ELSE;
contents;
END;