Skip to content

Depend on Cabal-3.14.* #6703

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Depend on Cabal-3.14.* #6703

wants to merge 1 commit into from

Conversation

sol
Copy link
Contributor

@sol sol commented Apr 2, 2025

Using Cabal-3.14.* is one of the required changes for GHC 9.12. I need this for a personal project right now. The purpose of this PR is not to necessarily have it merged right away, but rather to avoid duplicated work when Stack upgrades to GHC 9.12.

@mpilgrem from what I understand, we don't want CPP to support multiple versions of Cabal, right?

Do we ever use a more recent version of Cabal than what ships with GHC? If "no", then this PR has to wait until we upgrade to GHC 9.12.

@sol sol changed the title Cabal 3.14 Depend on Cabal-3.14.* Apr 2, 2025
@sol sol mentioned this pull request Apr 2, 2025
@sol sol force-pushed the cabal-3.14 branch 4 times, most recently from 8a3586c to a381fbe Compare April 2, 2025 06:30
@sol sol marked this pull request as ready for review April 2, 2025 06:34
@sol sol requested a review from mpilgrem April 2, 2025 06:48
@mpilgrem
Copy link
Member

mpilgrem commented Apr 2, 2025

@sol, there is no 'fixed' rule, but for a while I have based Stack's project-level configuration on Stackage's most recent LTS Haskell snapshot (currently, GHC 9.8.4) with, perhaps, a few extra-deps (to avoid bugs or to keep pace with hpack releases). In part, that is because it made updating all the tests when the snapshot changed a less painful exercise. (Having everything on the same snapshot used to be important because the old self-hosted runner on Linux/AArch64 only had sufficient space for one or two versions of GHC. Now, it is just a search-replace convenience to move everything forward together.)

Formally, the stack library exists only to serve the Stack executable, and so does not aim to build with anything other than the packages in the project-level configuration. As each version of Stack is built with only one specified version of GHC, CPP has not been needed.

Stack does not use its Cabal dependency to build. So, I have not experienced a pressing need to 'jump ahead' to build Stack itself against more recent versions of Cabal.

While the Stackage project has no direct support for GHC 9.12, I am a little reluctant to accelerate Stack's dependency on Cabal-3.14 but I would be happy to do that once Nightly moves to GHC 9.12. I assume that will happen once GHC 9.10.2 is released.

@sol
Copy link
Contributor Author

sol commented Apr 3, 2025

While the Stackage project has no direct support for GHC 9.12, I am a little reluctant to accelerate Stack's dependency on Cabal-3.14 but I would be happy to do that once Nightly moves to GHC 9.12.

@mpilgrem great, that certainly works for me.

BTW, can you make sure that this settings is enabled under https://github.com/commercialhaskell/stack/settings?

IMG_1668

@sol
Copy link
Contributor Author

sol commented Apr 3, 2025

BTW, can you make sure that this settings is enabled under https://github.com/commercialhaskell/stack/settings?

Wait, maybe it's already enable, not sure. I think in this case the issue was that there were conflicts. I rebased manually.

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.

2 participants