From d67ee71d40f72d126ca97250f1f853bbefd8edab Mon Sep 17 00:00:00 2001 From: John Ericson Date: Mon, 10 Aug 2026 04:18:58 -0400 Subject: [PATCH] netbsd: switch to the split GCC package set Make `useGccNG` the default for every NetBSD platform, as Cygwin's already is, rather than opting in one example system. NetBSD 11.0 is only supported with the split set, so this comes straight after the version bump: the monolithic `gcc` is not kept working for it. NetBSD is low tier and has to use GCC rather than LLVM, so it is a good place to dogfood the split set. With the fixes that follow, GCC 16 builds `hello`, `zlib`, `bash`, `perl`, `python3` and the NetBSD libc for it. `x86_64-netbsd-llvm` is unaffected, since `useLLVM` takes precedence. Assisted-by: Claude Code (Claude Opus 5.5) --- lib/systems/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/systems/default.nix b/lib/systems/default.nix index 5b37eb20a874..7a81075643c8 100644 --- a/lib/systems/default.nix +++ b/lib/systems/default.nix @@ -163,10 +163,9 @@ let # Use the split GCC package set (`gccNGPackages`) instead of the # monolithic `gcc`. # - # I (@Ericson2314) plan on making more obscure low-tier - # platforms (e.g. NetBSD) use it soon, so we can dogfood GCC NG - # and thereby iron out its bugs. - useGccNG = final.isCygwin; + # NetBSD is here to dogfood it: it is low tier and has to use GCC + # rather than LLVM. + useGccNG = final.isCygwin || final.isNetBSD; libc = if final.isDarwin then