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

GHC 9.8 #972

Merged
merged 3 commits into from
May 13, 2024
Merged

GHC 9.8 #972

merged 3 commits into from
May 13, 2024

Conversation

endgame
Copy link
Collaborator

@endgame endgame commented Jan 9, 2024

Tweak the Nix and the ede templates so that service definitions compile with GHC 9.8.

Regenerated services to follow in a separate PR.

@brendanhay We will need to add upper bounds to the existing 2.0 service definitions because they don't build with GHC 9.8. Do you have any tooling to help with this? Given the stuff already on main, this deserves a major release, but since there's so many packages to upload, it's probably worth batching it with a couple of additional fixes. Also, can you please add me to the maintainer group for the uploaded packages?

See also: https://gitlab.haskell.org/ghc/ghc/-/issues/24317
Fixes: #969

Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7' (2023-06-25)
  → 'github:numtide/flake-utils/4022d587cbbfd70fe950c1e2083a02621806a725' (2023-12-04)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/9e4e0807d2142d17f463b26a8b796b3fe20a3011' (2023-06-26)
  → 'github:nixos/nixpkgs/24fe8bb4f552ad3926274d29e083b79d84707da6' (2024-01-07)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/1fa438eee82f35bdd4bc30a9aacd7648d757b388' (2023-06-26)
  → 'github:cachix/pre-commit-hooks.nix/ea96f0c05924341c551a797aaba8126334c505d2' (2024-01-08)
It implies `DuplicateRecordFields` (which I don't even think is
necessary under older GHCs), but is required for compliation on GHC
9.8.

See: https://gitlab.haskell.org/ghc/ghc/-/issues/24317
@brendanhay
Copy link
Owner

brendanhay commented Jan 9, 2024

We will need to add upper bounds to the existing 2.0 service definitions

You mean the existing 2.0 libraries already uploaded to Hackage? No tooling for that unfortunately, everything died in the Bazel fire.

The extension itself could go also into each service library's cabal file under a if/ghc conditional to ensure forwards/backwards compat?

@endgame
Copy link
Collaborator Author

endgame commented Jan 9, 2024

We will need to add upper bounds to the existing 2.0 service definitions

You mean the existing 2.0 libraries already uploaded to Hackage? No tooling for that unfortunately, everything died in the Bazel fire.

Yes, and potentially pre-2.0 service definitions also, because they won't compile with new GHC for the same reason. I will see if I can chase down some information about Hackage's APIs.

The extension itself could go also into each service library's cabal file under a if/ghc conditional to ensure forwards/backwards compat?

I'm not sure what you mean by this. If we declare {-# LANGUAGE DuplicateRecordFields #-} in the module for each product type as well as for Types.hs, we get code which works with both GHC >=9.8 as well as <9.8.

@brendanhay
Copy link
Owner

I'm not sure what you mean by this. If we declare {-# LANGUAGE DuplicateRecordFields #-} in the module for each product type as well as for Types.hs, we get code which works with both GHC >=9.8 as well as <9.8.

I misunderstood until I read the linked gitlab issue.

@Bodigrim
Copy link
Contributor

We will need to add upper bounds to the existing 2.0 service definitions because they don't build with GHC 9.8. Do you have any tooling to help with this?

One can use hackage-cli to make batch revisions.

@endgame endgame closed this in c604b8f Feb 23, 2024
@endgame endgame reopened this Feb 23, 2024
@ysangkok
Copy link
Contributor

ysangkok commented Apr 3, 2024

@endgame What is needed to progress on this issue?

@endgame endgame added this to the 2.1 milestone Apr 17, 2024
@endgame
Copy link
Collaborator Author

endgame commented May 13, 2024

The mass-revision is now done. Sorry for the delay..

@endgame endgame merged commit a37326e into brendanhay:main May 13, 2024
5 checks passed
@ysangkok
Copy link
Contributor

@endgame I see that this is part of the 2.1 milestone, but there are many tickets left in that milestone. Stackage is planning to do LTS-23 very soon and it would be a shame if Amazonka wasn't included only because a release hadn't been made...

@endgame
Copy link
Collaborator Author

endgame commented Jun 29, 2024

How much time do we have? It would be nice to do an RC round before we drop 300+ packages onto Stackage, and Amazonka itself has a bunch of checks we need to run before each release (see the issue template).

Another wrinkle: I don't actually have the Hackage rights to upload new versions. @brendanhay are you around and do you have enough time to do things only you can do, if we choose to cut a release?

@ysangkok
Copy link
Contributor

I don't think the exact date has been chosen yet, but since the last LTS is from around new year's, the next one should theoretically go out next month unless GHC 9.6.6 is somehow delayed. But I don't really know for sure.

@9999years 9999years mentioned this pull request Oct 25, 2024
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.

Compilation failures with GHC 9.8
4 participants