Bump GHC to version 9.10.1#5125
Merged
Merged
Conversation
017575b to
d743977
Compare
5c731a3 to
db309d8
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.
GHC 9.10 added foldl' to Prelude and flags NE.unzip as deprecated in favour of Data.Functor.unzip.
…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.
GHC 9.10 promotes -Wdata-kinds-tc to an error under -Werror when NetworkDiscriminant is used in a kind position without DataKinds.
- Remove redundant foldl' imports (now in Prelude) - Add annotateIO to MonadThrow MonadDatabase instance (required by io-classes MINIMAL pragma for GHC >= 9.10)
db309d8 to
c0ac567
Compare
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
>= 2.0 && < 2.2allow-newer: hkd:baseallow-newer: cabal-fmt:basefor dev shellBuilds on #5123 (GHC 9.8.2 bump).