Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskell.packages: update #125429

Merged
merged 31 commits into from
Jun 6, 2021
Merged

haskell.packages: update #125429

merged 31 commits into from
Jun 6, 2021

Conversation

sternenseemann
Copy link
Member

@sternenseemann sternenseemann commented Jun 2, 2021

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.

I will aim to merge this PR by 2021-06-11. If I can merge it earlier, there might be successor PRs in that time window. As part of our rotation @maralorn will continue these merges from 2021-06-12 to 2021-06-26.

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 #123682. I have the following additional plans to work towards improvements of mostly our GHC derivation, but they are not a hard requirement for merging this PR:

  • Add GHC 9.2 (Ghc 9.2 #124999)
  • Improve GHC on Darwin (Fix issues with GHC outside of stdenv on Darwin #125367) and get tests.writers.x86_64-darwin to work again
  • Bonus points: Refactor GHC nix expressions
    • binary
    • source-built
  • Add a way to specify test flags in a clean way in generic-builder.nix
  • Clean up some failing x86_64-darwin and aarch64-linux builds by updating unsupported-platforms

This commit has been generated by maintainers/scripts/haskell/update-hackage.sh
This commit has been generated by maintainers/scripts/haskell/update-stackage.sh
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
sternenseemann and others added 11 commits June 3, 2021 00:53
Both taffybar and ap-normalize where bumped to a version newer than the
last hackage pin which we have caught up with now, so we can clean up
those.
The commits we revert still do the trick, but we need to revert one
additional commit now which increases the lower version bound for
relude.
haskell-ci just builds (again?) without any necessary changes
Inherit nvfetcher and uusi jobs from top-level for extra visibility.
Seems like the monoid-extras situation wasn't as bad as I thought and
some new releases in the meantime make every diagrams package we had
working previously work again.

* haskellPackages.monoid-extras: 0.5.1 -> 0.6
* haskellPackages.diagrams-lib: remove now unnecessary patch
* haskellPackages.namespace: jailbreak to build with new monoid-extras
They are not an exposed part of haskellPackages per se, so we shouldn't
list them in nix-env. Additionally this should prevent the failed lldb
build from cluttering our jobset output.
@sternenseemann
Copy link
Member Author

sternenseemann commented Jun 4, 2021

haskell-updates build report from hydra

evaluation 1674970 of nixpkgs commit 6e97601 as of 2021-06-04 09:46 UTC

Build summary

Platform Failed ❌ DependencyFailed ❗ TimedOut ⌛🚫 Success ✔️
aarch64-linux 📱 44 85 6 6526
x86_64-darwin 🍎 89 60 8 6466
x86_64-linux 🐧 26 27 1 6653

Maintained packages with failed dependency

Unmaintained packages with build failure

115 job(s)

Unmaintained packages with failed dependency

141 job(s)

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

This reverts commit 52d6981.

Unfortunately there is no way to update to monoid-extras 0.6 yet without
marking some packages as broken. The issue is that not all diagrams*
packages have had an update adding support for GHC 9.x yet (which would
also include monoid-extras 0.6 support). The only alternative to pinning
diagrams* and monoid-extras would be to have mismatched versions between
them which always causes issues with haskellPackages.diagrams.

Note that this commit re-introduces some build failures which are to be
fixed in a follow-up commit.
While diagrams-lib 1.4.4 doesn't per se require us to update any
diagrams lib to 1.5.0 it would require monoid-extras 0.6 which would
force us to update diagrams-core to 1.5.0, thus breaking
haskellPackages.diagrams.

Since we can just keep the patch we fetch and downgrade to 1.4.3, we
can continue sitting out the slow update cycle of the diagrams universe.
Upstream seems to have fixed the issue in the meantime -- without merging
Malte's PR, however.
@sternenseemann
Copy link
Member Author

sternenseemann commented Jun 5, 2021

Our “CI” aggregate jobs are all green now (or at least they will be as soon as reflex-dom also builds on hydra). I'll check for further unwanted regressions tomorrow since I am still a bit sceptical that we have everything important on our list already. A non-exhaustive list of stuff I encountered we should add somewhere (to be expanded):

  • haskell-ci should become maintained, it slipped through the cracks last time around
  • The diagrams-* libs are kind of important and we may want to make some of them maintained

sternenseemann and others added 10 commits June 5, 2021 12:59
Allow setting the HACKAGE2NIX environment variable to change the
hackage2nix the script uses to an absolute path to a local build. Useful
to test local changes in a realistic environment.
haskellPackages.cabal2nix-unstable: Use justStaticExecutables
They require a local redis daemon running.
Co-authored-by: sterni <sternenseemann@systemli.org>
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
@sternenseemann sternenseemann merged commit 34140d6 into master Jun 6, 2021
@sternenseemann
Copy link
Member Author

19951 packages working after this cycle (not quite back to pre random 1.2.0 times…).

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

Successfully merging this pull request may close these issues.

5 participants