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

haskellPackages: update stackage and hackage #130424

Merged
merged 61 commits into from
Jul 26, 2021
Merged

Conversation

cdepillabout
Copy link
Member

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-07-25. If I can merge it earlier, there might be successor PRs in that time window. As part of our rotation @sternenseemann will continue these merges from 2021-07-26 to 2021-08-08.

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 #129606.

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
@sternenseemann
Copy link
Member

@cdepillabout can you update the hackage pin once again? Seems like the update fixing rel8 was released a few moments ago (1.1.0.0).

cdepillabout and others added 4 commits July 17, 2021 21:23
haskell-updates: add explanation for adding new NixOS/haskell member
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
@cdepillabout
Copy link
Member Author

cdepillabout commented Jul 18, 2021

haskell-updates build report from hydra

evaluation 1686883 of nixpkgs commit 627eee1 as of 2021-07-18 00:34 UTC

Build summary

Platform Failed ❌ DependencyFailed ❗ TimedOut ⌛🚫 Unfinished ⏳ Success ✔️
aarch64-linux 📱 32 80 6 6549
x86_64-darwin 🍎 77 48 4 4 6492
x86_64-linux 🐧 12 15 1 6681

Maintained packages with build failure

Maintained packages with failed dependency

Unmaintained packages with build failure

102 job(s)

Unmaintained packages with failed dependency

120 job(s)

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

@cdepillabout
Copy link
Member Author

It looks like hnix is broken, which is causing a bunch of its reverse dependencies to fail: https://hydra.nixos.org/build/147858081

If someone were to fix this, I imagine it would end up fixing a bunch of the reverse dependencies as well.

@Gabriella439
Copy link
Contributor

It looks like fixing hnix is blocked on #129634 because it now requires newer versions of hnix-store-{core,remote}

Anton-Latukha and others added 5 commits July 18, 2021 11:15
These were blocked due to mutual desigion during me<>`sternenseemann`
discussion.
haskell-nix/hnix#952

In short:

I shipped my own work (to support GHC 9.0) in the 0.5 releases of
`hnix-store-{core,remote}`.

These packages are really used only by `hnix` itself, and instead of maintaining
them in Nixpkgs & reacting on `hnix` release, we decided to hold them back &
switch to these versions when `hnix` provides support for them.

I just (today) released `hnix` 0.14 & it requires `hnix-store-{core,remote}`
0.5.

If you would look at dependency tree:
https://packdeps.haskellers.com/reverse/hnix-store-core
https://packdeps.haskellers.com/reverse/hnix-store-remote

It shows that `hnix` currently is the only alive use of these projects.
hnix needs these versions since 0.13, but we previously patched it to
use the versions tracked in stackage because that reduces the risk of
multiple versions of a package being propagated in the dependency tree
and breaking a build.

One major release later, patching hnix has become quite cumbersome, so
we'll bite the bullet for now and return to this approach if any
problems come up.
Change to pname is necessary in order to not confuse jailbreak-cabal.
@cdepillabout
Copy link
Member Author

cdepillabout commented Jul 26, 2021

haskell-updates build report from hydra

evaluation 1689170 of nixpkgs commit 0dfed52 as of 2021-07-26 00:33 UTC

Build summary

Platform Failed ❌ DependencyFailed ❗ TimedOut ⌛🚫 Success ✔️
aarch64-linux 📱 33 67 4 6575
x86_64-darwin 🍎 80 39 3 6512
x86_64-linux 🐧 9 8 3 6707

Maintained packages with build failure

Maintained packages with failed dependency

Unmaintained packages with build failure

99 job(s)

Unmaintained packages with failed dependency

122 job(s)

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

@cdepillabout
Copy link
Member Author

cdepillabout commented Jul 26, 2021

I'm passing over control of this PR to @sternenseemann, who will be in charge of this process from today til 2021-08-08.

Here's what still needs to be either fixed or marked as broken before merging this PR in. Note that we give maintainers 7 days after the first time they've been notified that their packages are failing to build, so I've also included how many days ago the maintainers were first notified on this thread:

  • agda packages @alexarice @laMudri @turion @ryanorendorff. First notified 3 days ago. I feel like I saw a PR marking these broken?
  • pkgsMusl.haskell.compiler and muslGHCs @nh2. First notified 4 days ago. It looks like these are broken because Python3 is failing to compile with musl.

seems like python39 currently fails to build with musl as libc
#131557. As a workaround, we can just
build the musl GHCs using python38 like we have been in the past (the python 3.8
-> 3.9 update being a more recent development).
@turion
Copy link
Contributor

turion commented Jul 26, 2021

I opened upstream issues for all agda packages I'm maintaining, and referenced this PR. I'll bump the version for agda-categories soon, which was the only package where a maintainer was responsive. It should be fixed now.

@sternenseemann
Copy link
Member

I'm fine with merging this PR with agda stuff as is, I guess it is easier for you guys to fix the extra regressions on master?

@turion
Copy link
Contributor

turion commented Jul 26, 2021

I'm fine with merging this PR with agda stuff as is, I guess it is easier for you guys to fix the extra regressions on master?

Yes and no. My proposal:

  • Let me try fix agda-categories quickly
  • Let's mark everything else that still fails as broken (I can send a PR) before merging haskell-updates
  • Let's unbreak everything on master in its own pace

@sternenseemann
Copy link
Member

Alright, I'll cherry-pick the appropriate bits of #131245 onto this PR quickly and then you can make your PR.

sternenseemann and others added 2 commits July 26, 2021 12:33
This reverts commit 36628e6.

As it turns out this wasn't caused by the update from python 3.8 -> 3.9,
but the underlying issue affects both python version (it seems that LTO
is at fault currently). Will have to be fixed elsewhere, reverting.
@ofborg ofborg bot requested review from alexarice and turion July 26, 2021 13:03
pkgs/development/haskell-modules/HACKING.md Outdated Show resolved Hide resolved
#
# > removeMany ["aarch64-linux" "x86_64-darwin"] ["aarch64-linux" "x86_64-darwin" "x86_64-linux"]
# ["x86_64-linux"]
removeMany = itemsToRemove: list: lib.foldr lib.remove list itemsToRemove;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't functions like this go to lib?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess, but adding stuff to lib should get a bit of consensus and on the flipside is also subject to a lot of bikeshedding. If someone feels like it, they can feel free to move this into lib though.

sternenseemann and others added 2 commits July 26, 2021 17:35
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh
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.

9 participants