-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
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 #354270
base: staging
Are you sure you want to change the base?
Conversation
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
I think we have to make a call here, and have haskell-updates target staging, not master. We have a variety of things that depend on haskell-adjacent packages (like pandoc) that are not part of the haskell-updates jobset and can't realistically be without it becoming a second staging, and every haskell-updates merge causes an unhealthy amount of rebuilds for master - e.g. #351154 rebuilds Qt, among other things. |
How many rebuilds are that? |
OfBorg's estimate from that iteration was around 51k rebuilds total (all 4 platforms). The haskell-updates jobset prepared about 14k, which is partially because we deactivated its darwin builds some time ago. |
So it seems that most (if not all) of the rebuilds are caused by the use of I guess we could do (some of) the following things:
|
This replaces `writeShellApplication` with `writeShellScriptBin` that doesn't perform a shellcheck. This makes it way easier to build postgresql on staging since GHC is super slow to build, even with pretty powerful machines. Also Haskell updates are currently merged straight into master which means that postgresql and all reverse dependencies require a rebuild on master then[1]. [1] NixOS#354270 (comment)
This replaces `writeShellApplication` with `writeShellScriptBin` that doesn't perform a shellcheck. This makes it way easier to build postgresql on staging since GHC is super slow to build, even with pretty powerful machines. Also Haskell updates are currently merged straight into master which means that postgresql and all reverse dependencies require a rebuild on master then[1]. [1] NixOS#354270 (comment)
This iteration won't reach 24.11. We'll probably want to backport some stuff, in particular anything relating to HLS and GHC 9.8.3. |
In the case of stack, our package set has catched up with its demands partially.
This reverts commit 5e1144c. Reason for revert: Due to unrelated set rebuilds on staging/haskell-updates compared to master, we get freshly built store paths of these packages anyways.
This PR resolves #356741. |
GHC 9.6 can be used in a pinch, but not to build e.g. a cross compiler.
This Merge
This PR is the regular merge of the
haskell-updates
branch intomaster
.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:
haskell-updates
(normally at the beginning of a merge window).haskell-updates
intomaster
every two weeks.mergeable
job is succeeding on hydra.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 #351154. Come to #haskell:nixos.org if you have any questions.