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: default GHC 9.2 -> 9.4, Stackage 21 and hackage update #240387

Merged
merged 264 commits into from
Aug 17, 2023

Conversation

maralorn
Copy link
Member

@maralorn maralorn commented Jun 28, 2023

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 #236431. Come to #haskell:nixos.org if you have any questions.

Closes #221165.
Closes #243984.
Closes #220647.

@maralorn maralorn changed the title haskellPackages: update stackage and hackage haskellPackages: default GHC 9.2 -> 9.4, Stackage 21 and hackage update Jun 28, 2023
github-actions bot and others added 22 commits June 30, 2023 00:13
This commit has been generated by maintainers/scripts/haskell/regenerate-hackage-packages.sh
gi-soup has joined Stackage LTS 21, it seems, so Stackage prescribes
precisely this version to be used already.
* `ghc-lib*` is tracked by Stackage LTS 21 and has the matching versions
  for GHC 9.4.

* `primitive` is actually upgraded in LTS 21 which we should follow.

* `th-desugar` and `th-abstraction` are downgraded in LTS 21 which we
  should follow.

* `rope-utf16-splay` matches the manually chosen version.
GHC 9.4 can build the latest version of shake-cabal, so let's do that!
The older version is preserved for GHC 9.2 in case we have users that
need to use GHC 9.2 for a transitional time.
Before Cabal >= 3.8, Cabal-syntax did not exist, but there is a dummy
package Cabal-syntax-3.6.0.0 which can be used to prevent the constraint
solver from picking mutually incompatible versions of Cabal and
Cabal-syntax. Since we are now solving flags with Cabal >= 3.8, many
packages have a dependency on Cabal-syntax they did not have before,
requiring us to have a matching attribute in every package set. Using
the dummy package is the safest solution, although it is not required in
every case.

Fixes eval of jailbreak-cabal for GHC < 9.4.
This dependency is no longer necessary for GHC >= 9.4, but we need to
make it available for GHC < 9.4.
We need to upgrade http-api-data, since 0.5 (LTS 21) still doesn't
support base >= 4.18.
GHC 9.4 introduced a virtual package for linking against the C++
standard library. Since some packages depend on it when configured with
GHC 9.4 (as hackage2nix does), we need to make sure the attribute exists
or some packages will fail to evaluate. The may still build, even though
there is no shim for lower GHC versions (as far as I know).
This is the default version now, so the versioned attribute no longer exists.
The desired streamly version is now the default. So we can drop the override
before anyone stumbles over this variant of #240512.
sternenseemann and others added 3 commits August 14, 2023 23:49
The failures have to do with lowered double precision on such platforms.
They are reported upstream and will hopefully be fixed soon.
@raehik
Copy link
Contributor

raehik commented Aug 15, 2023

text-icu and dependency errors on it should be fixed once cabal2nix uses NixOS/cabal2nix@0365d9b (unsure if it's connected to the Hackage release)

sternenseemann and others added 20 commits August 15, 2023 12:24
Correctly detects pkg-config dependencies of text-icu.
haskellPackages.patat: Remove no longer needed patches
Unfortunately hspec 2.7 no longer compiles with GHC >= 9.4, so we hide
it in the Hydra jobset. It is preserved nonetheless, as it is used by
ghcjs (which still uses hspec 2.7 and GHC 8.10.7).
This commit has been generated by maintainers/scripts/haskell/mark-broken.sh based on
*evaluation [1798556](https://hydra.nixos.org/eval/1798556) of nixpkgs commit [4a85282](https://github.com/NixOS/nixpkgs/commits/4a85282f9adbe84d3fd5e75b17b4295d11bdad07) as of 2023-08-16 14:32 UTC*
from the haskell-updates jobset on hydra under https://hydra.nixos.org/jobset/nixpkgs/haskell-updates
haskell.packages.ghc96.ghc-tags: test on Hydra
ghc-lib >= 9.4 won't compile with GHC 8.10 anymore, so we'll use the
newest version that still works (we used ghc-lib == 9.2.* with Stackage
LTS 20 as well).
@sternenseemann sternenseemann merged commit c2f3ec7 into master Aug 17, 2023
18 checks passed
@SuperSandro2000
Copy link
Member

SuperSandro2000 commented Aug 21, 2023

Can someone please fix hadolint? It it marked broken because spdx and ilist are marked broken because they want an older version of base.

@sternenseemann
Copy link
Member

sternenseemann commented Aug 21, 2023

@SuperSandro2000 The test suite of spdx doesn't pass with base >= 4.17, it seems, so we'll have to ask that upstream for a fix.

Edit: phadej/spdx#33
Edit2: https://hydra.nixos.org/build/232664708

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