chore: bump wallet nix compiler pins to ghc9123#5254
Merged
Conversation
4281ca2 to
5c29830
Compare
5c29830 to
6fc7636
Compare
ghc 9.12.2 panicked in tyConStupidTheta when building Haddocks for the ledger SubTx promoted data constructor. The shell workaround on master was to set withHoogle = false. ghc 9.12.3 (#25739) fixes the panic, so bump all three Nix compiler pins and flip withHoogle back on.
6fc7636 to
5409927
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.
Closes #5253
Summary
Bump the wallet Nix Haskell projects from
ghc9122toghc9123and re-enablewithHooglein the dev shell.The original blocker was a
ghc-9.12.2panic in the Hoogle/Haddock path used by the wallet dev shell. Haddock crashed while building docs for ledger packages (first observed incardano-ledger-mary-1.10.0.0):GHC version 9.12.2: tyConStupidThetaSubTxSubTxcomes from ledger'stype data TxLevel = TopTx | SubTx, so the failure is a GHC/Haddock bug triggered by promoted/type-level data constructors during documentation generation.GHC
9.12.3release notes include a directly relevant fix:Fixed tyConStupidTheta to handle PromotedDataCon(#25739)On current
masterthe shell workaround for that panic waswithHoogle = falseinnix/haskell.nix(see commit28a9e5f96a). This PR bumps the compiler toghc9123and flipswithHoogleback totrue, restoring in-shell Hoogle.What Changed
nix/haskell.nix—compiler-nix-name = "ghc9123",withHoogle = truenix/rewrite-libs/nix/project.nix—compiler-nix-name = "ghc9123"nix/set-git-rev/nix/project.nix—compiler-nix-name = "ghc9123"Total diff is four lines across three files. No application logic changed.
Why These Files
nix/haskell.nixcontrols the maincardano-walletHaskell project and the default dev shell. Therewrite-libsandset-git-revhelper projects also carry their owncompiler-nix-namepins; leaving them onghc9122would make the trial internally inconsistent and could hide unrelated failures.Verification
Confirmed locally on the rebased branch (head on top of current
master, which already contains thecardano-node 10.7.1bump):nix developcompleted withghc-9.12.3-env.withHoogle = truerebuild producedhoogle-with-packages.drvandcardano-wallet-shell-envwith notyConStupidThetapanic.hooglein the shell resolves to…ghc-shell-for-packages-ghc-9.12.3-env/bin/hoogle(thewithHooglewrapper, not the bare binary).hoogle search --count=3 "Text -> ByteString"returned live project-indexed results (Cardano.Prelude,RIO.Prelude,RIO.Text).That verifies the Hoogle-enabled
nix developpath that was previously blocked by theghc9122panic.Reviewer Guide
9.12.3has an upstream fix matching the observed panic.withHoogleback on are one logical change: bumping ghc without flipping is dead code in the shell, and flipping without bumping reintroduces the panic. They ship as a single commit.Follow-up
This PR does not claim Windows validation. If Windows-specific fallout exists, it should be tracked separately from this narrow shell/Hoogle unblocker.