Please relax bounds: older versions of Cabal don't build with newer dependencies
- Dominant language
- Haskell
- Stars
- 1.7k
- Forks
- 750
- Avg merge
- 4d 3h
- Merged PRs (30d)
- 28
Description
* This fails `cabal-3.10.1.0 repl -z -b 'Cabal==3.6.3.0' -w ghc-9.8`
* This works `cabal-3.10.1.0 repl -z -b 'Cabal==3.6.3.0' -w ghc-9.8 -b unix==2.8.5.0 -b text==2.1 -b bytestring==0.12.0.2 -b deepseq==1.5.0.0 --allow-newer=unix --allow-newer=text --allow-newer=bytestring --allow-newer=deepseq`
Conclusion: `Cabal-3.6.3.0` should probably have its bounds loosened to incorporate those versions (and probably others in the `3.6` series too).
* This fails: `cabal-3.10.1.0 repl -z -b 'Cabal==3.8.1.0' -w ghc-9.8`
* This works: `cabal-3.10.1.0 repl -z -b 'Cabal==3.8.1.0' -w ghc-9.8 -b text==2.1 -b bytestring==0.12.0.2 -b deepseq==1.5.0.0 --allow-newer=text --allow-newer=bytestring --allow-newer=deepseq`
Conclusion: `Cabal-3.8.1.0` should probably have its bounds loosened to incorporate those versions (and probably others in the `3.8` series too).
I appreciate that those versions are not the latest, but I'm sure people do use them even if they "should" upgrade. The too-strict bounds do incur problems in practice, such as https://discourse.haskell.org/t/why-is-latest-version-of-cabal-sometimes-required-to-build/8017.
Contributor guide
Assessment
This issue has not been assessed yet.