nixpkgs/pkgs
Adam Joseph 5f57c2e0f9 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>
2023-04-02 13:49:53 -07:00
..
applications Merge master into staging-next 2023-03-15 06:01:09 +00:00
build-support stdenv: Nix-driven bootstrap of gcc 2023-04-02 13:49:41 -07:00
common-updater
data Merge remote-tracking branch 'origin/master' into staging-next 2023-03-15 02:01:15 +01:00
desktops Merge remote-tracking branch 'origin/master' into staging-next 2023-03-14 22:33:40 +01:00
development pkgs/test/stdenv/default.nix: add gcc-stageCompare 2023-04-02 13:49:53 -07:00
games Merge master into staging-next 2023-03-14 12:01:32 +00:00
misc Merge remote-tracking branch 'origin/master' into staging-next 2023-03-14 08:14:26 +01:00
os-specific Merge staging-next into staging 2023-03-15 00:03:06 +00:00
pkgs-lib
servers Merge master into staging-next 2023-03-15 06:01:09 +00:00
shells Merge master into staging-next 2023-03-15 06:01:09 +00:00
stdenv gcc: add common/checksum.nix 2023-04-02 13:49:53 -07:00
test pkgs/test/stdenv/default.nix: add gcc-stageCompare 2023-04-02 13:49:53 -07:00
tools Merge staging-next into staging 2023-03-15 06:01:43 +00:00
top-level pkgs/test/stdenv/default.nix: add gcc-stageCompare 2023-04-02 13:49:53 -07:00