haskell / haskell/cabal

Please relax bounds: older versions of Cabal don't build with newer dependencies

Open
#9,616 12 comments 1 reaction 0 assignees View on GitHub
attention: pr-welcome release type: bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.