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 #236431

Merged
merged 79 commits into from
Jun 28, 2023
Merged

haskellPackages: update stackage and hackage #236431

merged 79 commits into from
Jun 28, 2023

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. 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!)

More information about Haskell packages in nixpkgs can be found in the nixpkgs manual.


This is the follow-up to #235142. 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
Whether profiling should or should not be enabled does indeed depend on
GHC's target platform (or GHC in general, i.e. if it happens to be
ghcjs, we need to disable it). The profiling objects it produces are
excessively big if it is producing them for aarch64.

However, in a Haskell packages' derivation, GHC's and the resulting
derivation's platforms are offset

    GHC:  BUILD--HOST---TARGET
    DRV:         BUILD--HOST--(TARGET)

since we need to execute GHC in the derivation (so its host is our build
platform) and the machine code it produces need to be executable on the
host platform we are targeting. Unless our derivation is building a
compiler (or similar), the target platform of the derivation doesn't
matter.

stdenv exposes the platforms of the current derivation, not of GHC, so
checking the host platform is prudent. Changing this doesn't have a lot
of impact, since when cross-compiling Haskell packages (e.g. via
pkgsCross), host and target platform will usually be the same.
It does save unnecessary rebuilds in the buildHaskellPackages set
though, since most of the packages in here don't care about the target
platform, so they should be the same as their corresponding packages in
the ordinary (natively compiled) haskellPackages set. In short, after
this change

     pkgsCross.aarch64-multiplatform.hoogle == haskellPackages.hoogle

holds whereas it would erroneously be compiled with different profiling
settings before.
Turns out we can use the same code to install man pages for all hledger
related packages, since hledger also has the top level man pages.
Verified that the contents of $out/share are the same before and after.
Makes the code a bit simpler and allows us to fall back on existing solutions.
hledger-ui is left out for the moment since it is trickier to get to work.
@siraben
Copy link
Member

siraben commented Jun 26, 2023

Can indexed-profunctors, optics-core and optics be bumped again in this PR? I'd like to see Nixpkgs include well-typed/optics#492 (which has been released on Hackage) since that fixes the optics tests and allows it to build on GHC 9.4.*.

@maralorn
Copy link
Member

maralorn commented Jun 26, 2023

@siraben Sadly we can’t bump very well in this PR right now, because its merge is kinda overdue, and we want to move on to the next PR which switches to ghc94.

@maralorn
Copy link
Member

I am trying to fix the last build errors to get this over the finish line.

@expipiplus1 @sorki There is a test error going on with update-nix-fetchgit, see:
https://hydra.nixos.org/build/225081865/nixlog/1/tail
I have disabled the check for now, but please feel free to fix it proper anytime.

@thielema I disabled the tests for comfort-blas, because they don’t build. Feel free to fix them at any time.

@domenkozar
Copy link
Member

What's blocking this PR?

@maralorn
Copy link
Member

@domenkozar Main reason this isn’t merged was the staging-next merge yesterday.
A few flaky errors cropped up after that, see: https://github.com/cdepillabout/nix-haskell-updates-status

@maralorn
Copy link
Member

@expipiplus1 I have disabled the checks on orbits, because I don’t want to hold off on this PR any more. The test error only surfaced after the newest staging merge and the resulting rebuild, but didn’t go away after restarting the job. Please feel free to find a better solution for the tests when convenient.

@turion Same goes for monad-bayes. Strangely the precise quickcheck error had happened in the past and disappeared again so might count as "flaky" but multiple restarts didn’t make it go away and it seems to happen on all platforms now.

This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on
*evaluation [1797087](https://hydra.nixos.org/eval/1797087) of nixpkgs commit [0aaf2b2](https://github.com/NixOS/nixpkgs/commits/0aaf2b2ebc2abcdcea54bc2a3ba6c383ccea7b22) as of 2023-06-28 17:12 UTC*
from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates
@maralorn maralorn merged commit d1607c4 into master Jun 28, 2023
5 of 6 checks passed
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.

None yet