pkgs/test/stdenv/default.nix: add gcc-stageCompare
This commit adds a derivation `gcc-stageCompare` to `pkgs/test/stdenv/default.nix`. It is important to always build this derivation whenever building `stdenv`! Because we are using a Nix-driven bootstrap instead of gcc's built-in `--enable-bootstrap`, the `gcc` derivation no longer performs the post-self-compilation sanity check. You must build this derivation in order to perform that sanity check. The major benefit of this new approach is that the sanity check (which involves a third compilation of gcc) can be performed *concurrently* with all packages that depend on `stdenv`, rather than serially. Since `stdenv` has very little derivation-level parallelism it cannot take advantage of more than one or perhaps two builders. If you have three or more builders this commit will reduce the time-to-rebuild-stdenv by around 20% (one of three gcc rebuilds is removed from the critical path, and stdenv's build time is dominated by roughly 3*gcc + 1*binutils + 1*bison-test-suite). Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This commit is contained in:
@@ -81,7 +81,8 @@ in rec {
|
||||
stdenv
|
||||
subversion
|
||||
tarball
|
||||
vim;
|
||||
vim
|
||||
tests-stdenv-gcc-stageCompare;
|
||||
};
|
||||
|
||||
tested = let
|
||||
@@ -131,6 +132,7 @@ in rec {
|
||||
"nixos.tests.proxy"
|
||||
"nixos.tests.simple"
|
||||
"nixpkgs.jdk"
|
||||
"nixpkgs.tests-stdenv-gcc-stageCompare"
|
||||
])
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user