Bump GHC to version 9.8.2#5123
Merged
Merged
Conversation
6e9bfd7 to
818183b
Compare
c384c6a to
15d7d08
Compare
- Use error with descriptive messages instead of silently changing semantics (e.g. returning default values) - Replace NE.!! with pattern matching in LayerSpec.hs - Extract minPort/maxPort as top-level definitions to avoid repetition - Use case pattern matching instead of tail/drop 1 to preserve crash semantics on impossible cases
- CheckpointsSpec: drop 1 → pattern match with error (not vacuous True) - SequentialSpec/SharedSpec: BS.drop 1 → BS.uncons with error - db-bench: restore error on empty range instead of silent "[]" - RangeSpec: fromJust (also partial) → explicit pattern match - TxSeq: restore infinite lists instead of truncating to 1001 elements
fgl's {-# ANN #-} pragmas trigger Template Haskell evaluation via
iserv-proxy which crashes during Windows cross-compilation.
Strip the HLint annotations (no functional impact) before building.
haskell.nix's win-reloc-x86_64-pc64.patch is only applied for GHC < 9.8.3. Without it, iserv-proxy crashes during Windows cross-compilation when evaluating Template Haskell.
The ghc-lib-parser 9.8.5.20250214 introduced a regression where genSym.c calls atomic_inc64 which doesn't exist on the build platform. This breaks the dev shell (fourmolu, hlint, etc). Apply the same fix as upstream (digital-asset/ghc-lib#571): replace atomic_inc64 with atomic_inc.
The overlay used --replace-fail which breaks when the nixpkgs ghc-lib-parser (9.6.x) doesn't contain atomic_inc64. Guard the substitution with a grep check.
The {-# ANN #-} pragmas in fgl trigger TH evaluation via iserv-proxy
under Wine, which crashes during Windows cross-compilation even with
GHC 9.8.2's win-reloc patch. Strip the HLint ANN lines (no functional
impact) during Windows builds only.
Remove benchmarks from the Windows testing bundle — JuicyPixels ANN pragmas crash iserv-proxy during cross-compilation and benchmarks aren't useful on Windows. Fix ghc-lib-parser overlay to apply via haskellPackages.override instead of haskell.packageOverrides which wasn't reaching the nixpkgs haskell package set used by dev shell tools (fourmolu).
Move fourmolu/hlint/stylish-haskell from buildPackages.buildPackages to pkgs.haskellPackages where the ghc-lib-parser overlay applies. Add modules patch to HLS shell.tools for the GHC 9.8.2 build.
…eadlocks iserv-proxy does not support parallel module compilation — the protocol is strictly synchronous. GHC's default -j4 causes multiple modules to share one iserv-proxy connection, corrupting the protocol and causing deadlocks (0% CPU hangs). Force -j1 globally for Windows builds.
ed449c4 to
38768c1
Compare
paolino
added a commit
that referenced
this pull request
Feb 12, 2026
## Summary - Bump GHC from 9.8.2 to 9.10.1 - Widen text constraint to `>= 2.0 && < 2.2` - Add `allow-newer: hkd:base` - Add `allow-newer: cabal-fmt:base` for dev shell - Update helper projects (rewrite-libs, set-git-rev) to ghc9101 Builds on #5123 (GHC 9.8.2 bump).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
win-reloc-x86_64-pc64.patch(needed for Windows cross-compilation via iserv-proxy) is only applied for GHC < 9.8.3Windows cross-compilation fixes
ghcOptions = ["-j1"]globally for Windows builds — iserv-proxy (the bridge between GHC on Linux and the interpreter running under Wine) does not support parallel module compilation; GHC's default-j4causes multiple modules to share one iserv-proxy connection, corrupting the synchronous protocol and causing deadlocks (0% CPU hangs){-# ANN #-}pragmas fromfglthat trigger TH evaluation via iserv-proxycrypton-x509-systemcasing (Crypt32→crypt32) and clear outdated haskell.nix patches forstreaming-commonsgenSym.catomic_inc64→atomic_incfor dev shell toolsSupersedes #5093, #4930