haskellPackages: update stackage and hackage#158410
Conversation
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
We'll continue using this version for GHC 9.2.1. 1.5.0 changes behavior in a breaking way, but the API stays the same, making it a risky upgrade. Hopefully dependents will tell us via version constraints what to use in the future.
|
HLS started to link dynamically against other libraries and GHC itself: haskell/haskell-language-server@3f12824 I'm not sure if this means anything for closure size, in theory it looks like a welcome change in terms of functionality, but maybe doesn't solve a huge problem for us, as GHC, the libraries and system dependencies would usually match in a nix development environment (although I am pretty sure that there are a lot of non-usual cases as well). In any case we need to prevent GHC from adding Edit: Seems to be an universal "issue" which is easily fixed by |
We could also be using fetchFromGithub but the repo looks stale enough that it doesn't really matter, plus the upper bounds for almost all the dependencies doesn't exist anymore.
hs-mesos doesn't depend on webkit and was misplaced.
haskell-language-server will now default to building a shared
executable, as upstream does, complete with a huge closure. By passing
{ dynamic = false; } via override, it is still possible to build a
"statically linked" variant of HLS, as it used to be.
Note: Before this change HLS would fail to compile on aarch64.
This means we don't use the system linker by default, but decreases closure size significantly, as we no longer reference every supported version GHC.
If we are linking dynamically, it's practically no use removing references, as we depend on GHC either way via linking. I've also elected to keep the references to the data outputs in all cases — they are a bit arcane (there's no easy way to tell they definitely are not necessary) and don't contribute too much to the overall closure size.
haskell-language-server: make linking configureable in wrapper
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
|
HLS failure on aarch64-linux was flaky, as I've been able to confirm. |
This Merge
This PR is the regular merge of the
haskell-updatesbranch intomaster.This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at cdepillabout/nix-haskell-updates-status.
We roughly aim to merge these
haskell-updatesPRs at least once every two weeks. See the @NixOS/haskell team calendar for who is currently in charge of this branch.haskellPackages Workflow Summary
Our workflow is currently described in
pkgs/development/haskell-modules/HACKING.md.The short version is this:
haskell-updates(normally at the beginning of a merge window).haskell-updatesintomasterevery two weeks.mergeablejob is succeeding on hydra.maintainedpackage is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)This is the follow-up to #157583. Come to #haskell:nixos.org if you have any questions.