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

Cabal 3.12 #1322

Merged
merged 6 commits into from
Jul 5, 2024
Merged

Cabal 3.12 #1322

merged 6 commits into from
Jul 5, 2024

Conversation

andreasabel
Copy link
Member

@andreasabel andreasabel commented Jul 2, 2024

This PR does the minimum changes needed for Cabal-3.12 (and some cleanup work).

Subsumes:

Commits:

  • Clean cabal.project: remove some cruft
  • Default library (hackage-server) instead of internal library lib-server: the introduction of a internal library 7 years ago never got anywhere, and internal libs still cause problems with some tooling
  • .cabal: remove outdated conditional: remove some cruft
  • Tags feature: replace some clumsy code: a drive-by shooting; couldn't look past this contrived and inefficient piece of code when I ran into it
  • Support Cabal-3.12 and GHC 9.10: main commit, introducing #ifs and the necessary code to work with latest Cabal(-syntax). Passes CI.
  • Commit to Cabal-3.12.1.0: bump the lower bound of Cabal(-syntax) to latest; breaks the nix CI

I had to disable the reverse dependencies benchmark because gauge does not support base-4.20 and there is no maintainer for this package dropped by @vincenth in sight. @ysangkok, consider switiching to criterion or related.

Eventually we can remove all the #if MIN_VERSION_Cabal conditionals, but there is no rush now (they have been CI tested).

@andreasabel andreasabel marked this pull request as draft July 2, 2024 20:13
@andreasabel andreasabel marked this pull request as ready for review July 3, 2024 05:37
@andreasabel andreasabel added the re: Cabal-3.12 Concerning building with Cabal-3.12 label Jul 3, 2024
hackage-server.cabal Outdated Show resolved Hide resolved
@peterbecich
Copy link
Member

Is Cabal-3.12.0.0 sufficient? This is already available in nixpkgs. I am trying to update nixpkgs to 3.12.1.0 here: NixOS/nixpkgs#324424

@Bodigrim
Copy link
Contributor

Bodigrim commented Jul 3, 2024

Once the upgrade to Cabal-3.12 is merged, please merge #1137 as well.

@andreasabel
Copy link
Member Author

@peterbecich wrote:

Is Cabal-3.12.0.0 sufficient? This is already available in nixpkgs. I am trying to update nixpkgs to 3.12.1.0 here: NixOS/nixpkgs#324424

Unfortunately, Cabal(-syntax)-3.12.1.0 adds the MHS constructor (micro Haskell), breaking the PVP:

So either we commit to Cabal >= 3.12.1.0 or to Cabal == 3.12.0.*. The former is more future compatible so I opted for it.

@andreasabel
Copy link
Member Author

@Bodigrim wrote:

Once the upgrade to Cabal-3.12 is merged, please merge #1137 as well.

Thanks for the pointer!
I should take the missing parts of #1137 and include it into this PR. (This is just the arbitrary implementation for architecture values.)

Otherwise, the feature set of hackage-server will depend on the
version of Cabal used to build it.
@andreasabel
Copy link
Member Author

I should take the missing parts of #1137 and include it into this PR.

Done.

peterbecich added a commit to peterbecich/nixpkgs that referenced this pull request Jul 4, 2024
./maintainers/scripts/haskell/update-hackage.sh
./maintainers/scripts/haskell/regenerate-hackage-packages.sh

This also updates Cabal from 3.12.0 to 3.12.1, which is requested by this PR: haskell/hackage-server#1322
@ysangkok ysangkok merged commit 8a8d739 into master Jul 5, 2024
10 of 12 checks passed
@ysangkok ysangkok deleted the Cabal-3.12 branch July 5, 2024 14:17
@Bodigrim
Copy link
Contributor

Bodigrim commented Jul 7, 2024

It would be great if upgrade to Cabal 3.12 could be deployed soon. Is there anything blocking it?

@ysangkok
Copy link
Member

ysangkok commented Jul 8, 2024

Cabal 3.12 could be deployed soon. Is there anything blocking it?

We'd have to ask @gbaz , I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
re: Cabal-3.12 Concerning building with Cabal-3.12
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants