Skip to content

Commit 474cbb6

Browse files
committed
Fix GCC 14 fixincludes failure + postgresql cache breaker v2
GCC 14's fixincludes step bakes /usr/include into the Makefile via @BUILD_SYSTEM_HEADER_DIR@ configure-time substitution. On NixOS-based builders (Determinate Nix Linux VM), /usr/include doesn't exist, failing all x86_64-linux GCC builds and cascading to 32 Windows cross-builds. --disable-fixincludes is safe for Nix (store-managed headers) and already used by nixpkgs' standalone libgcc build. Also bumps postgresql musl cache breaker to v2 to force new drv hashes after deploying sync-before-registering to darwin builders.
1 parent 47fbbb4 commit 474cbb6

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

flake.nix

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,21 @@
4949
happy = final.haskell.lib.compose.overrideCabal (drv: {
5050
disallowGhcReference = false;
5151
}) prev.happy;
52+
53+
# GCC 14's fixincludes step uses a configure-time substitution
54+
# @BUILD_SYSTEM_HEADER_DIR@ that bakes /usr/include into the
55+
# generated Makefile. On NixOS-based builders (Determinate Nix
56+
# Linux VM), /usr/include doesn't exist, causing all x86_64-linux
57+
# GCC builds to fail — which cascades to all Windows cross-builds
58+
# that depend on the native GCC bootstrap compiler.
59+
# --disable-fixincludes skips the fixincludes step entirely, which
60+
# is safe for Nix where all headers are store-managed. Already
61+
# used by nixpkgs' standalone libgcc build for the same reason.
62+
gcc14 = prev.wrapCC (
63+
prev.gcc14.cc.overrideAttrs (old: {
64+
configureFlags = (old.configureFlags or []) ++ [ "--disable-fixincludes" ];
65+
})
66+
);
5267
});
5368

5469
cddl-tools = (final: prev: {
@@ -172,9 +187,9 @@
172187
# Force new drv hash to bypass hydra queue runner's persistent
173188
# failure cache. Previous builds succeeded but outputs were not
174189
# registered in the Nix DB (Determinate Nix orphaned store path
175-
# bug). Orphaned paths have been cleaned on all builders.
190+
# bug). Orphaned paths cleaned and sync-before-registering deployed.
176191
preBuild = (old.preBuild or "") + ''
177-
# cache breaker: orphaned store paths cleaned 2026-02-15
192+
# cache breaker v2: sync-before-registering deployed 2026-02-17
178193
true
179194
'';
180195
});

0 commit comments

Comments
 (0)