Skip to content

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

Open
@tomjaguarpaw

Description

@tomjaguarpaw
  • 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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions