jneira
November 29, 2021, 6:02pm
1
This is a bug fix release for two regressions found after releasing 1.5.0:
#2365 : hs-boot files not handled correctly, discovered in the ghc codebase and fixed with #2377
#2379 : tried to look at linkable for GetModIfaceWithoutLinkable for NormalizedFilePath...
error handling template haskell, fixed with #2380
Both quick fixes thanks to @pepeiborra
Also it fixes some long standing bugs in the hlint plugin due to comments being ignored (see #2366 )
8 Likes
jneira
November 29, 2021, 6:42pm
2
Now hls can be installed from hackage using ghc-9.0.1. Like github release, it does not include brittany, stylish-haskell, class and wingman plugins.
TomMD
November 29, 2021, 7:25pm
3
Is there an official list of plugins provided when installing hls via ghcup?
jneira
November 29, 2021, 8:13pm
4
Well, by default all plugins are included at build time (you can disable them at runtime via config).
However we cant build brittany, stylish-haskell, class and wingman with ghc-9.0.1 so they are not available for ghc-9.0.1 independently of how it is installed.
We are tracking support for ghc-9.0.1 here:
opened 08:12PM - 08 Aug 20 UTC
type: enhancement
component: plugins
status: blocked upstream
ghc-9
## State of support
* The core functionality of haskell-language-server is su… pported.
* 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.1 support
- [x] `ghcide`
- [x] `haskell-language-server`
- [x] `hls-haddock-comments-plugin`
- [x] `hls-hlint-plugin`
- [x] `hls-importlens-plugin`
- [x] `hls-pragmas-plugin`
- [x] `hls-retrie-plugin`
- [x] `hls-eval-plugin` #1997
- [x] `hls-module-name-plugin` - Actually builds just fine. Was accidentally disabled
- [ ] `hls-class-plugin` - All deps build
- [x] `hls-refine-imports-plugin` - All deps build
- [x] `hls-splice-plugin` - All deps build
- [ ] `hls-tactic-plugin`
- Blocked upstream by ghc-source-gen (https://github.com/google/ghc-source-gen/issues/77 / https://github.com/google/ghc-source-gen/pull/84)
- Disabled some tests in GHC9 because they expect Wingman to build. See #1873 and the `expectFailIfGhc9` function
- Pull request in progress: #2202
### Formatters
- [x] `hls-floskell-plugin`
- [x] `hls-ormolu-plugin` - Support added with https://github.com/tweag/ormolu/issues/688
- [ ] `hls-brittany-plugin` - Blocked upstream by brittany:ghc-lib-parser (https://github.com/lspitzner/brittany/issues/352)
- [X] `hls-fourmolu-plugin` - #2254
- [ ] `hls-stylish-haskell-plugin` - Blocked upstream by stylish-haskell:ghc-lib-parser (https://github.com/haskell/stylish-haskell/issues/378)
### Build system and CI
- [x] `stack-9.0.1.yaml` - Disables not-yet-working plugins and fetches upstream patches
- [x] `cabal-ghc901.project` - Used for disabling the not yet working plugins and fetching upstream patches
- [x] `flake.nix` - Needs to fetch upstream patches and disable not-yet-working plugins (#1995)
- [x] `.circleci/config.yml`
- [x] `.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
- [x] `.github/workflows/build.yml` - The release script is not updated to make a ghc-9.0.1 release yet (PR #1940)
- [x] `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
- [X] [blaze-textual](https://github.com/bos/blaze-textual): https://github.com/bos/blaze-textual/pull/14. Released in hackage.
- [X] [czipwith](https://github.com/lspitzner/czipwith): https://github.com/lspitzner/czipwith/pull/2.
- [X] [th-extras](https://github.com/mokus0/th-extras): https://github.com/mokus0/th-extras/pull/8. Needs hackage release: https://github.com/mokus0/th-extras/issues/10
- [X] [hie-bios](https://github.com/mpickering/hie-bios): https://github.com/mpickering/hie-bios/pull/300 (needs hackage release)
- [ ] [dependent-sum](https://github.com/obsidiansystems/dependent-sum): https://github.com/obsidiansystems/dependent-sum/pull/57. Needs hackage release, see https://github.com/obsidiansystems/dependent-sum/issues/65
- [x] [ghc-api-compat](https://github.com/hsyl20/ghc-api-compat): https://github.com/haskell/haskell-language-server/pull/2128
- [x] [operational (shake-bench dependency)](https://github.com/HeinrichApfelmus/operational): https://github.com/HeinrichApfelmus/operational/pull/26 (needs hackage release https://github.com/HeinrichApfelmus/operational/issues/29)
- Support added with #2249
1 Like
jneira
December 2, 2021, 2:18pm
5
The 1.5.1 release should be available via ghcup
Additional systems available via direct download from the release or using ghcup:
freebsd12
Linux on aarch64
Linux on armv7
macOS on aarch64 (m1)
they are not available via automatic download in the vscode extension though
1 Like