-
Notifications
You must be signed in to change notification settings - Fork 702
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
Does cabal-3.10 impose setup.Cabal < 3.12
?
#9917
Comments
Bump HTF to a version without custom setup to work around haskell/cabal#9917
Bump HTF to a version without custom setup to work around haskell/cabal#9917
Bump HTF to a version without custom setup to work around haskell/cabal#9917
@ffaf1: This issue prevents me from evaluating Cabal-3.12 with a released Not sure how I should verify relaxations to |
This is expected behavior: cabal/cabal-install/src/Distribution/Client/ProjectPlanning.hs Lines 1397 to 1414 in bccc59f
|
Thanks for digging this out @Bodigrim! Maybe one should not have search through the source code of
I am also a bit skeptical about placing this limit in the first place.
This sound to me like:
I do not see the point of forcing pessimism into the constraint solving here. |
Given that Could it be "current version + 4"? So that |
The original issue seems to be: However this issue only speaks about warnings which I find totally appropriate. The commit that introduced the OP is c92b715. It has no tests and no doc changes may thus be simply revertible. |
Building HTF with GHC 9.10 is stuck on - haskell/cabal#9917
Thank you for the report. I think you are right the documentation is outdated and too flimsy here. Let's discuss the proposal to revert c92b715. If agreed upon, that would go into cabal 3.14, I imagine. A PR with the revert would be useful (once our CI gets fixed). Beyond the documentation and the proposal, is there anything else in this ticket? Any bug in cabal 3.12 or 3.10, for example? |
Well, I'd say the behavior I report here is a bug, others might disagree, e.g. @hvr who authored said commit. |
I should have been more precise: any bug introduced in cabal 3.10 or 3.12? |
I think it makes sense to have some kind of support window like this for older versions of By similar reasoning, if you want to build packages which use a new version of
Possible failures include:
Perhaps the right solution is a flag to allow power users to opt out of this constraint and venture into any unknown territory if they desire but I thin forcing general users to upgrade to something which works is a better overall experience. |
I think this is a very good way forward. w/r/t broken CIs, can this be worked around. Can |
Let me repeat the question: could we change something small in cabal 3.12 that would help in some of the cases? Or in cabal 3.14 if there's a risk that'd break things? |
See also haskell/haskell-language-server#4196 and #9632 it links to (please tell me if these are unrelated to the current issue). |
@mpickering wrote:
Why yet another flag? |
+1 for a warning. If the user hasn't set an upper bound then they're asking to use whatever new version of |
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
@RyanGlScott have you considered using the prerelease advertized in the Cabal-3.12 announcement? It should work for custom setups. https://discourse.haskell.org/t/ann-cabal-3-12-0-0-released/9504#how-to-get-the-cabal-install-pre-release-3 |
I will happily use |
I'd use I was unaware there are |
...which is worth doing anyway.
One would hope so, but apparently it's not. |
I see this in
|
Ok, my model seems to be naive. I thought that it is only Still, replacing the hardwired |
I tested with So the only "issue" I see here, is that |
We no longer need to use `head.hackage` to make the GHC 9.10 build work. We do need to apply a workaround for haskell/cabal#9917, however.
The release process (#9885) for cabal 3.12.1.0 is now at the point where we finished backporting all planned PRs. In the interest of releasing cabal-install 3.12.1.0 ASAP and so eliminating (I hope) the immediate problem described in this issue for the time being, we need to move on to the next steps of the release process. If you are working on a PR that fixes this here ticket in a more future-proof way than just by releasing a new cabal-install, please kindly submit it for review now. Please also note we need a consensus on how to solve this issue, so the review process would need to be double-purposed to also include that discussion (but with a concrete prototype PR in hand, that's sometimes easier). If the PR is not agreed on and doubly-reviewed by Monday morning, we are going to proceed with the release. But maybe a group of concerned user has the PR done and is finishing discussing it and forging the consensus behind the scenes. If so, it's time for the big reveal. Thank you for the discussion in this ticket and at the open cabal devs meeting. I wasn't aware the emergency measure of releasing only Cabal the library has such dire consequences for some users, so now we are wiser and we'd probably rather choose to sync a minor cabal version with a new GHC release (with all the hackery needed for that due to a versioned API) than to stagger a major version release as we did this time. If you have any spare capacity to help with releasing cabal, that would be awesome and maybe it would enable us to just do normal releases twice a year together with GHC and not spend time on tricks and hacks instead. :) Any other contribution, e.g., reviewing PRs (https://github.com/haskell/cabal/pulls?q=is%3Apr+is%3Aopen+label%3A%22attention%3A+needs-review%22) would also help. |
When trying to make
cabal-3.10
build packages with custom setups on GHC 9.10.0 (alpha3), which ships withCabal-3.12
, cabal insists to buildCabal-3.10.3.0
.If I try to force using the installed
Cabal
, constraint solving fails.The package itself does not impose an upper bound on
Cabal
:This is not a problem with
cabal-3.11
(master), this one does not impose this upper bound.The docs say (https://cabal.readthedocs.io/en/3.10/cabal-package.html#pkg-field-custom-setup-setup-depends):
(Ok, the "< 1.25" is definitively stale doc here.)
The docs seem to say that the upper bound comes from whatever is bundled with GHC, which should be including
Cabal-3.12
(bundled with GHC 9.10 alpha3).The text was updated successfully, but these errors were encountered: