Closed
Description
State of support
- The core functionality of haskell-language-server is supported.
- Only some plugins and formatters needs to be updated to make it work with ghc-9.0.1 so they are not included until then.
- So you should consider use other ghc version only if you are specially interested in those plugins o formatters
Has ghc-9.0 support
-
ghcide
-
haskell-language-server
-
hls-haddock-comments-plugin
-
hls-hlint-plugin
-
hls-importlens-plugin
-
hls-pragmas-plugin
-
hls-retrie-plugin
-
hls-eval-plugin
Eval plugin: support ghc 9.0.1 #1997 -
hls-module-name-plugin
- Actually builds just fine. Was accidentally disabled -
hls-class-plugin
- Class plugin bump up #2475 -
hls-refine-imports-plugin
- All deps build -
hls-splice-plugin
- All deps build -
hls-tactic-plugin
- Blocked upstream by ghc-source-gen (Support GHC 9 google/ghc-source-gen#77 / Add GHC 9 support google/ghc-source-gen#84)
- Disabled some tests in GHC9 because they expect Wingman to build. See Disable hole fit suggestions when running Wingman #1873 and the
expectFailIfGhc9
function - Pull request in progress: WIP: GHC-9.0 support for hls-tactics-plugin #2202
- Finally added with Post ghc-9.2.1 config cleanup #2582, follow up of the previous one
Formatters
-
hls-floskell-plugin
-
hls-ormolu-plugin
- Support added with Switch to ghc-lib-parser-9.0.1.xxx tweag/ormolu#688 -
hls-brittany-plugin
- Blocked upstream by brittany:ghc-lib-parser (Support for ghc-9.0.1 lspitzner/brittany#352) -
hls-fourmolu-plugin
- Bump Fourmolu to 0.4 #2254 -
hls-stylish-haskell-plugin
blocked upstream by- stylish-haskell:ghc-lib-parser (Support for ghc-9.0.1 stylish-haskell#378)
- Add support for aeson >= 2.0 stylish-haskell#387
Build system and CI
-
stack-9.0.1.yaml
- Disables not-yet-working plugins and fetches upstream patches -
cabal-ghc901.project
- Used for disabling the not yet working plugins and fetching upstream patches -
flake.nix
- Needs to fetch upstream patches and disable not-yet-working plugins (nix: add support for ghc 9.0.1 #1995) -
.circleci/config.yml
-
.github/workflows/test.yml
- Uses the custom cabal.project and disables tests for non-working plugins. Needs to be updated when more plugins gain ghc-9.0.1 support -
.github/workflows/build.yml
- The release script is not updated to make a ghc-9.0.1 release yet (PR Add ghc-9.0.1 to the build release script #1940) -
mergify.io
We should probably make it manditory for PRs to successfully build/test on ghc-9.0.1 as well
Dependencies which needs updates and hackage release
- blaze-textual: Allow build for GHC 9.0 swamp-agr/blaze-textual#14. Released in hackage.
- czipwith: Fix GHC 9 compatibility lspitzner/czipwith#2.
- th-extras: Add support for ghc-9.0.1 mokus0/th-extras#8. Needs hackage release: Upload to Hackage mokus0/th-extras#10
- hie-bios: Add compatibility for GHC 9.0 and 9.2 hie-bios#300 (needs hackage release)
- dependent-sum: Add support for GHC-9.0.1 obsidiansystems/dependent-sum#57. Needs hackage release, see New release with ghc 9 compat obsidiansystems/dependent-sum#65
- ghc-api-compat: Drop ghc-api-compat from dependency closure #2128
- operational (shake-bench dependency): Fix build for GHC 9.0.1 HeinrichApfelmus/operational#26 (needs hackage release Hackage release with 9.0.1 support HeinrichApfelmus/operational#29)
- Support added with Remove custom version of operational #2249
Dependencies needed to inlcude brittany in hackage for 9.0:
- multistate: Allow base 4.15 lspitzner/multistate#8, finally added with Fix build with GHC 9.2.1 lspitzner/multistate#11
- data-tree-print: Allow base < 4.17 and ghc <= 9.2.1 lspitzner/data-tree-print#3
- butcher: Support for base-4.15 and ghc-9.0.* lspitzner/butcher#8