Skip to content

haskellPackages: update stackage and hackage#236431

Merged
maralorn merged 79 commits intomasterfrom
haskell-updates
Jun 28, 2023
Merged

haskellPackages: update stackage and hackage#236431
maralorn merged 79 commits intomasterfrom
haskell-updates

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
@github-actions github-actions bot added the 6.topic: haskell General-purpose, statically typed, purely functional programming language label Jun 7, 2023
@ofborg ofborg bot added 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: 2501-5000 This PR causes many rebuilds on Darwin and should 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 Jun 8, 2023
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
@ofborg ofborg bot added 10.rebuild-darwin: 2501-5000 This PR causes many rebuilds on Darwin and should target the staging branches. and removed 10.rebuild-darwin: 5001+ This PR causes many rebuilds on Darwin and must target the staging branches. labels Jun 28, 2023
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 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 8.has: changelog This PR adds or changes release notes 8.has: clean-up This PR removes packages or removes other cruft 8.has: documentation This PR adds or changes documentation 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: 2501-5000 This PR causes many rebuilds on Darwin and should 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.