haskell / haskell/cabal

Ignore `dist/setup-config` when `build-type: Custom`

Open
#2,427 3 comments 0 reactions 0 assignees View on GitHub
blocked: info-needed Cabal: custom type: bug
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

With `build-type: Custom` packages, the builder may not be Cabal, or it may be a different version of Cabal. cabal-install must not try to examine `dist/setup-config` in this case; it may be absent, or in a different format. Yet, many of the actions defined in cabal-install do exactly that, causing various failures when the persistent build config is unreadable.

There is probably not time to address this in the Cabal-1.22 cycle, so I am setting this for the Cabal-1.24 milestone. Don't hesitate to reclassify if you disagree.

Originally discussed in #2251.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the cabal-install actions that examine dist/setup-config, focusing on behavior when build-type is Custom. Verify how those actions handle an absent or incompatible persistent build config, then confirm that Custom builds no longer depend on it while normal Cabal builds retain their existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.