You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps): remove the nixpkgs-25 regex-pcre pkg-config/pcre override once stock regex-pcre builds at the channel rev #5447
The 2026-11-04 nixpkgs update (tracking: #2715) moves nixpkgs-25e7439b6b -> 1d060086 (the Hydra-gated nixos-unstable channel revision). At the new revision, haskellPackages.regex-pcre (pulled into the amd system closure via haskellPackages.misfortune in nixos/environment/default.nix) is marked broken under nixpkgs' problems framework, and the marking is honest: with the broken flag warned through, its build fails deterministically in the configure phase --
Error: [Cabal-7620]
The program 'pkg-config' version >=0.9.0 is required but it could not be found.
nixpkgs' Haskell builder no longer adds the pkg-config wrapper (or the pkgconfig-depends libraries) to Haskell build environments -- the same mechanism the 2026-10-30 run hit on the master pin (that instance is tracked in #3906). Drew ruled on 2026-11-04 ("fix it or pin misfortune") to revive the #3906-class override for the nixpkgs-25 segment rather than keep the input frozen.
The temporary override
nixos/environment/default.nix extends the raw nixpkgs-25 legacyPackages segment with an overlay that overrides haskellPackages.regex-pcre to append pkg-config to its nativeBuildInputs and a minimal vendored pcre 8.45 (the version the old pins shipped; test suite disabled) to its buildInputs, restoring the old build environment for this one package. A problems handler scoped to regex-pcre warns the broken marking through so the overridden derivation can evaluate.
Removal condition
Remove the override when the stock (un-extended) nixpkgs-25 segment's haskellPackages.regex-pcre builds at the then-current channel pin -- i.e. it is no longer marked broken, or warned through it builds because nixpkgs' Haskell builder once again provides pkg-config in its build environment -- or when regex-pcre/misfortune leaves the amd closure (for example if the nixpkgs-25 pin exception from #3327 is retired entirely).
Removal test
Revert the segment in nixos/environment/default.nix to the raw inputs.nixpkgs-25.legacyPackages and remove the override binding, then build the segment's haskellPackages.misfortune (which realises regex-pcre) and the full amd toplevel; both must succeed.
Acceptance criteria
The removal condition is verified, not assumed: the stock nixpkgs-25haskellPackages.regex-pcre at the current pin is not refused for broken problems and realises successfully, OR regex-pcre/misfortune has left the amd closure.
If the condition holds: the override in nixos/environment/default.nix is removed and both the segment's haskellPackages.misfortune and the full amd toplevel build succeed.
If the condition does not hold yet: the check result (date + nixpkgs-25 revision + what was observed) is recorded on this issue and the override stays.
Override landed 2026-11-04 with PR #5453 (merged, merge commit 44b2dd56e), under Drew's ruling on #2715. The nixpkgs-25-fixed binding is live on main in nixos/environment/default.nix; its comment names this issue, #2715, the removal condition, and the removal test stated here. Verified at landing: the toplevel closure carries the overridden regex-pcre drv (5xl002q8..., solo-realised, store-valid) and the full amd toplevel built from the committed tree (output jiz6p50b..., hash sha256:087qi62555v3155jdw59x50wyi5mk3kj8cwk5ap2brgrg28fzb9d). This issue stays open until the removal condition is verified at a future nixpkgs-25 pin.
summary: Triage of the nixpkgs-25 regex-pcre override removal condition at current main. Override is live in nixos/environment/default.nix (nixpkgs-25-fixed binding) and the nixpkgs-25 pin is still 1d060086 — the same rev the override was created for. Verifying the stock segment's regex-pcre broken status at that pin before routing.
Triage check 2026-11-05 (task 10042): removal condition does NOT hold yet — override stays.
Evidence, verified at current main (laptop ~/git/code on main @ 04f7869, matching origin):
flake.lock nixpkgs-25 pin is still 1d060086d60cb76a40cf37109f979d88a5bd6396 — unchanged since the override landed with PR chore(deps): nixpkgs update 2026-11-04 #5453 on 2026-11-04.
Stock (un-extended) segment evaluated on the laptop: nixpkgs-25.legacyPackages.x86_64-linux.haskellPackages.regex-pcre.meta.broken = true (position: pkgs/development/haskell-modules/hackage-packages.nix in that pin). So the stock segment still refuses regex-pcre for broken problems, exactly the condition the override in nixos/environment/default.nix (the nixpkgs-25-fixed binding) works around.
regex-pcre/misfortune has not left the amd closure: nixpkgs-25-fixed.haskellPackages.misfortune is still in the environment package list.
Ordering / next trigger: re-check this issue when the nixpkgs-25 pin next moves (tracking: #2715) or if misfortune/regex-pcre leaves the amd closure. At that point run the removal test from the issue body (revert to raw legacyPackages, build the segment's haskellPackages.misfortune and the full amd toplevel).
Activity
developing-today commentedon Nov 4, 2026
CODE-1323
fix(nixos): restore regex-pcre build env on the nixpkgs-25 segment
dezren39 commentedon Nov 4, 2026
Override landed 2026-11-04 with PR #5453 (merged, merge commit
44b2dd56e), under Drew's ruling on #2715. Thenixpkgs-25-fixedbinding is live on main innixos/environment/default.nix; its comment names this issue, #2715, the removal condition, and the removal test stated here. Verified at landing: the toplevel closure carries the overridden regex-pcre drv (5xl002q8..., solo-realised, store-valid) and the full amd toplevel built from the committed tree (outputjiz6p50b..., hashsha256:087qi62555v3155jdw59x50wyi5mk3kj8cwk5ap2brgrg28fzb9d). This issue stays open until the removal condition is verified at a futurenixpkgs-25pin.dezren39 commentedon Nov 5, 2026
agent-note:v1
dezren39 commentedon Nov 5, 2026
agent-note:v1
Triage check 2026-11-05 (task 10042): removal condition does NOT hold yet — override stays.
Evidence, verified at current main (laptop ~/git/code on main @ 04f7869, matching origin):
flake.locknixpkgs-25 pin is still1d060086d60cb76a40cf37109f979d88a5bd6396— unchanged since the override landed with PR chore(deps): nixpkgs update 2026-11-04 #5453 on 2026-11-04.nixpkgs-25.legacyPackages.x86_64-linux.haskellPackages.regex-pcre.meta.broken = true(position: pkgs/development/haskell-modules/hackage-packages.nix in that pin). So the stock segment still refuses regex-pcre for broken problems, exactly the condition the override innixos/environment/default.nix(thenixpkgs-25-fixedbinding) works around.nixpkgs-25-fixed.haskellPackages.misfortuneis still in the environment package list.Ordering / next trigger: re-check this issue when the nixpkgs-25 pin next moves (tracking: #2715) or if misfortune/regex-pcre leaves the amd closure. At that point run the removal test from the issue body (revert to raw legacyPackages, build the segment's haskellPackages.misfortune and the full amd toplevel).