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

[INT-224] Update for GHC 9.8 compatibility #17

Merged
merged 14 commits into from
Dec 30, 2023

Conversation

lierdakil
Copy link
Collaborator

@lierdakil lierdakil commented Dec 30, 2023

Description

Problem: stackage nightly is on GHC 9.8.

Solution: update to support GHC 9.8

Since this requires a new release, also bump blst version to latest release.

Related issue(s)

✅ Checklist for your Pull Request

Related changes (conditional)

  • Tests

    • If I added new functionality, I added tests covering it.
    • If I fixed a bug, I added a regression test to prevent the bug from
      silently reappearing again.
  • Documentation

    • I checked whether I should update the docs and did so if necessary:

    • I added an entry to the changelog if my changes are visible to the users
      and

    • provided a migration guide for breaking changes if possible

Stylistic guide (mandatory)

@lierdakil lierdakil force-pushed the lierdakil/chore-update-ghc-9.8 branch 6 times, most recently from 5d2a27f to 6767d2c Compare December 30, 2023 15:37
Problem: GHC 9.8 complains about missing role annotations.

Solution: Add them.
Problem: GHC 9.8 complains about orphan type family instances in
Bindings.chs.

Solution: Moving definitions to the chs file is inconvenient, so allow
orphans instead, this is runtime-safe anyway.
Problem: hex-text isn't updated for GHC 9.8

Solution: use base16-bytestring directly.
Problem: dependency constraints are too tight for GHC 9.8.

Solution: relax them.
Problem: resolver is somewhat outdated

Solution: bump it to latest lts.
Problem: tested-with doesn't mention GHC 9.8.1

Solution: add it.
Problem: GHC 9.4 is still the recommended compiler, we want to test with
it. However, lts is on GHC 9.6 already.

Solution: add lts-21 to the CI config.
Problem: lower bound on `base` is too slack, it allows GHC 9.0, which we
don't test with.

Solution: bump lower base bound to match GHC 9.4.
Problem: c-sources now doesn't admit assembly files since cabal 3.10,
and stack 2.13 follows that. The field asm-sources is only available
since Cabal format version 3, and hpack doesn't support that.

Solution: liberally use verbatim in package.yaml
@lierdakil lierdakil force-pushed the lierdakil/chore-update-ghc-9.8 branch from 6767d2c to ba54103 Compare December 30, 2023 15:41
@lierdakil lierdakil enabled auto-merge December 30, 2023 15:41
@lierdakil lierdakil merged commit e9fc587 into master Dec 30, 2023
@lierdakil lierdakil deleted the lierdakil/chore-update-ghc-9.8 branch December 30, 2023 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant