Skip to content

haskellPackages: update stackage and hackage#158410

Merged
sternenseemann merged 25 commits intomasterfrom
haskell-updates
Feb 14, 2022
Merged

haskellPackages: update stackage and hackage#158410
sternenseemann merged 25 commits intomasterfrom
haskell-updates

Conversation

@maralorn
Copy link
Member

@maralorn maralorn commented Feb 6, 2022

This Merge

This PR is the regular merge of the haskell-updates branch into master.

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-updates PRs 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:

  • We regularly update the Stackage and Hackage pins on haskell-updates (normally at the beginning of a merge window).
  • The community fixes builds of Haskell packages on that branch.
  • We aim at at least one merge of haskell-updates into master every two weeks.
  • We only do the merge if the mergeable job is succeeding on hydra.
  • If a maintained package 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.

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
@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Feb 6, 2022
github-actions bot and others added 2 commits February 7, 2022 00:08
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.
@ofborg ofborg bot added 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Feb 7, 2022
@sternenseemann
Copy link
Member

sternenseemann commented Feb 8, 2022

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 /build/*/dist/build to RPATH for GHC 9.2.1. Currently trying to figure out if this is a new regression in 9.2.1 or something that has always been a problem with GHC.

Edit: Seems to be an universal "issue" which is easily fixed by enableSharedExecutables.

sternenseemann and others added 13 commits February 8, 2022 12:30
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
@ofborg ofborg bot added the 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. label Feb 11, 2022
@sternenseemann
Copy link
Member

sternenseemann commented Feb 14, 2022

A lot of unrelated failures dominating this report. Darwin failures are mostly due to Python regressions, so the warnings here are mostly informational; aarch64-linux looks okay, but I'll have to wait for some builds finishing before merging.


haskell-updates build report from hydra

evaluation 1743931 of nixpkgs commit 0f3d359 as of 2022-02-14 13:21 UTC

🔴 Branch not mergeable

  • mergeable jobset failed.
  • Too many outstanding jobs on aarch64-linux.
  • maintained jobset failed.

Build summary

Platform Failed ❌ DependencyFailed ❗ Unfinished ⏳ Success ✔️
aarch64-linux 📱 13 18 384 6818
x86_64-darwin 🍎 24 37 34 7063
x86_64-linux 🐧 1 2 1 7250

Maintained packages with failed dependency

Unmaintained packages with build failure

35 job(s)

Unmaintained packages with failed dependency

49 job(s)

Top 50 broken packages, sorted by number of reverse dependencies

50 job(s)

haskell98 ⤴️ 153
enumerator ⤴️ 56
derive ⤴️ 48
parseargs ⤴️ 42
MonadCatchIO-transformers ⤴️ 41
data-lens ⤴️ 33
distributed-process ⤴️ 30
iteratee ⤴️ 29
jmacro ⤴️ 29
either-unwrap ⤴️ 25
HList ⤴️ 23
SciBaseTypes ⤴️ 22
haskelldb ⤴️ 22
hsc3 ⤴️ 22
wxdirect ⤴️ 22
BiobaseTypes ⤴️ 21
wxc ⤴️ 21
biocore ⤴️ 20
secp256k1-haskell ⤴️ 20
wxcore ⤴️ 20
attoparsec-enumerator ⤴️ 19
bytestring-show ⤴️ 19
wx ⤴️ 19
BiobaseENA ⤴️ 18
asn1-data ⤴️ 18
dbus-core ⤴️ 18
gtksourceview2 ⤴️ 18
numhask ⤴️ 18
BiobaseXNA ⤴️ 17
HGamer3D-Data ⤴️ 17
certificate ⤴️ 17
dbus-client ⤴️ 17
gconf ⤴️ 17
gtk-serialized-event ⤴️ 17
uuid-orphans ⤴️ 17
cuda ⤴️ 16
happstack-jmacro ⤴️ 16
manatee-core ⤴️ 16
monads-fd ⤴️ 16
murmur3 ⤴️ 16
tls-extra ⤴️ 16
ADPfusion ⤴️ 15
MaybeT ⤴️ 15
blaze-builder-enumerator ⤴️ 15
clash-prelude ⤴️ 15
hetero-dict ⤴️ 15
hsx-jmacro ⤴️ 15
apiary ⤴️ 14
classyplate ⤴️ 14
happstack-authenticate ⤴️ 14

⤴️: The number of packages that depend (directly or indirectly) on this package (if any). If two numbers are shown the first (lower) number considers only packages which currently have enabled hydra jobs, i.e. are not marked broken. The second (higher) number considers all packages.

Report generated with maintainers/scripts/haskell/hydra-report.hs

This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
@ofborg ofborg bot added the 8.has: clean-up This PR removes packages or removes other cruft label Feb 14, 2022
@sternenseemann
Copy link
Member

HLS failure on aarch64-linux was flaky, as I've been able to confirm.

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 8.has: clean-up This PR removes packages or removes other cruft 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants