forked from lix-project/lix
Maximilian Bosch
e146393183
Basically I'd expect the same behavior as with `nix-build`, i.e.
with `--keep-going` the hash-mismatch error of each failing
fixed-output derivation is shown.
The approach is derived from `Store::buildPaths` (`entry-point.cc`):
instead of throwing the first build-result, check if there are any build
errors and if so, display all of them and throw after that.
Unfortunately, the BuildResult struct doesn't have an `ErrorInfo`
(there's a FIXME for that at least), so I have to construct my own here.
This is a rather cheap bugfix and I decided against touching too many
parts of libstore for that (also I don't know if that's in line with the
ongoing refactoring work).
Closes lix-project/lix#302
Change-Id: I378ab984fa271e6808c6897c45e0f070eb4c6fac
40 lines
909 B
Nix
40 lines
909 B
Nix
with import ./config.nix;
|
|
rec {
|
|
x1 = mkDerivation {
|
|
name = "x1";
|
|
builder = builtins.toFile "builder.sh"
|
|
''
|
|
echo $name > $out
|
|
'';
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
};
|
|
x2 = mkDerivation {
|
|
name = "x2";
|
|
builder = builtins.toFile "builder.sh"
|
|
''
|
|
echo $name > $out
|
|
'';
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
};
|
|
x3 = mkDerivation {
|
|
name = "x3";
|
|
builder = builtins.toFile "builder.sh"
|
|
''
|
|
echo $name > $out
|
|
'';
|
|
outputHashMode = "recursive";
|
|
outputHash = "sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
|
|
};
|
|
x4 = mkDerivation {
|
|
name = "x4";
|
|
inherit x2 x3;
|
|
builder = builtins.toFile "builder.sh"
|
|
''
|
|
echo $x2 $x3
|
|
exit 1
|
|
'';
|
|
};
|
|
}
|