Skip to content

haskell-language-server: 1.7.0.0 -> 1.8.0.0#191987

Merged
maralorn merged 1 commit intoNixOS:haskell-updatesfrom
maralorn:hls-1.8
Sep 21, 2022
Merged

haskell-language-server: 1.7.0.0 -> 1.8.0.0#191987
maralorn merged 1 commit intoNixOS:haskell-updatesfrom
maralorn:hls-1.8

Conversation

@maralorn
Copy link
Member

@maralorn maralorn commented Sep 20, 2022

Description of changes

This updates the package set to build haskell-language-server 1.8 successfully
on ghc 8.8, 8.10, 9.0 and 9.2.

The following design decisions have been made:

  • All plugins listed as available under https://haskell-language-server.readthedocs.io/en/latest/supported-versions.html are working, with the following exception:
  • stan and brittany only could work on 8.8 and 8.10, both packages have multiple build failures with insufficient version bounds. stan is effectively unmaintained, so I decided to not invest more time to get them working.
  • It is very hard to find a consistent version of ghc-lib-parser and similar packages which works for all plugins on all versions so I decided to allow inconsistent dependency versions. Because of the architecture of hls plugins and the fact that this causes no compile errors, I believe this is a safe change.
  • lsp and similar packages are tracked on stackage without any rdeps in stackage, but are in truth tightly coupled to hls development and are mainly used by hls. I decided to exclude those packages from our stackage pins.
Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 22.11 Release Notes (or backporting 22.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Sep 20, 2022
@maralorn
Copy link
Member Author

Sadly not striving for local coherence apparently creates linking issues, at least when linking the hls for 9.0.2 statically. Now I fear that in the dynamically linked builds those linking issues could happen at runtime. I don‘t know enough about linking to tell if that’s true. Maybe we need another way …

@maralorn
Copy link
Member Author

Update:

  • Because of the linker errors I have resorted to figure out a build plan which is locally coherent for every ghc version.
  • This way also got brittany to work on 8.8 and 8.10, stan is still no joy.

I am now satisfied with the quality of this PR and want to see hydra have a go at it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments