Description
When trying to make cabal-3.10
build packages with custom setups on GHC 9.10.0 (alpha3), which ships with Cabal-3.12
, cabal insists to build Cabal-3.10.3.0
.
If I try to force using the installed Cabal
, constraint solving fails.
system-filepath-0.4.14$ cabal build -w ghc-9.10.0 -c 'setup.Cabal >=3.12'
Resolving dependencies...
Error: cabal: Could not resolve dependencies:
[__0] trying: system-filepath-0.4.14 (user goal)
[__1] next goal: system-filepath:setup.Cabal (dependency of system-filepath)
[__1] rejecting: system-filepath:setup.Cabal-3.12.0.0/installed-c30b
(constraint from maximum version of Cabal used by Setup.hs requires <3.12)
The package itself does not impose an upper bound on Cabal
:
custom-setup
setup-depends: Cabal >= 1.8, base >=4.0 && <5
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):
If the field is not specified the implicit package set will be used. The package set contains packages bundled with GHC (i.e. base, bytestring) and specifically Cabal. The specific bounds are put on Cabal dependency: lower-bound is inferred from cabal-version, and the upper-bound is < 1.25.
(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).
Activity