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 https://git.lix.systems/lix-project/lix/issues/302 Change-Id: I378ab984fa271e6808c6897c45e0f070eb4c6fac
39 lines
909 B
Nix
39 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
|
|
'';
|
|
};
|
|
}
|