Skip to content

Implement ghc/cabal compatiblity matrix (#415) #5177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 28, 2018
Merged

Conversation

hvr
Copy link
Member

@hvr hvr commented Feb 28, 2018

This is a backport of #5165 to 2.2

hvr added 3 commits February 28, 2018 18:46
This injects lower-bound constraints on Cabal for custom setup
dependencies to prevent the solver from selecting unsupported
configurations.

Previously we already added an absolute lower bound `Cabal >= 1.20`
for nix-local builds, as that's the minimum version we need to be able
to interact with custom Setup.hs scripts. This refines with logic by
restricting that lower bound even more based on GHC version.

This patch augments this with the following rules:

- GHC 8.4+   constrains  Cabal >= 2.2
- GHC 8.2    constrains  Cabal >= 2.0
- GHC 8.0    constrains  Cabal >= 1.24
- GHC 7.10   constrains  Cabal >= 1.22
- (default   constraint  Cabal >= 1.20)

This only affects nix-style local builds codepaths.

(cherry picked from commit 71e797e)
(cherry picked from commit a503345)
@hvr hvr added this to the 2.2 milestone Feb 28, 2018
@hvr hvr self-assigned this Feb 28, 2018
The `setup-custom2` tests implicit `setup-depends` which implies
a `Cabal < 2` upper bound, which is incompatible with GHC 8.2 or later
@hvr hvr merged commit 9f4b6b8 into haskell:2.2 Feb 28, 2018
@hvr hvr deleted the pr/2.2/issue-415 branch February 28, 2018 23:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant