haskell / haskell/cabal

Regression in 3.12: package system-filepath (with custom Setup) cannot be installed with GHC 8.0

Open
#10,379 8 comments 0 reactions 0 assignees View on GitHub
build-type: custom re: old Cabal versions re: old GHC versions regression in 3.12
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

With cabal-install-3.12.1.0, I can trigger this bug
- by `cabal install -w ghc-8.0.2 system-filepath-0.4.14` (latest version of `system-filepath`)
- by getting `system-filepath`and do a `cabal install --lib -w ghc-8.0.2`
- or by getting package `acid-state` (which depends on `system-filepath`) and then do a `cabal build -w ghc-8.0.2`

In the wild: https://github.com/acid-state/acid-state/actions/runs/10947885622/job/30397644524?pr=170#step:17:566
Error is:
> setup: Unrecognised flags: lib:system-filepath

With cabal master (3.15), I am getting different errors:
> unrecognized 'configure' option `--with-doctest=/Users/abel/.cabal/bin/doctest'
>
> unrecognized 'configure' option `--with-runghc=/usr/local/bin/runghc-8.0.2'

None of the mentioned errors occur with `-w ghc-8.2.2` (or any higher GHC major version).

If I have to guess, then it is not really the GHC version that matters here but the version of the Cabal library that the `Setup.hs` is built with. (But I could be on the wrong track.)
- GHC 8.0 comes with Cabal-1.24
- GHC 8.2 comes with Cabal-2.0

So, was support for `Cabal-1.24` (silently or by accident) dropped in `cabal-install-3.12`? (Couldn't find it in https://github.com/haskell/cabal/blob/982fb820991e0b29228243ad6dbee23c11adde1d/release-notes/cabal-install-3.12.1.0.md)

A parallel to such unwanted compatibility drop is
- https://github.com/commercialhaskell/stack/issues/6498

Should cabal-install explicitly refuse to work with `Cabal < 2`?

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.