-
Notifications
You must be signed in to change notification settings - Fork 200
Build with Cabal-3.8 and GHC 9.4 #1141
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
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
22613d5
Build with Cabal-3.8 and GHC 9.4
andreasabel 32505ed
CI: relax constraint on installed packages
andreasabel 2caabc9
Drop GHC 8.8 and fix ghc to installed version on CI
andreasabel 8b7f047
Haskell CI: switch off testing for GHC 9.2 and below
andreasabel ea74198
Haskell CI: relax `process`, so `Cabal-3.8.1.0` can get its beloved 1…
andreasabel 70d942d
allow-older: Cabal:process to work around haskell/cabal#8554
andreasabel c1002d4
Haskell CI: bring back GHC 8.8.4
andreasabel File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
{-# LANGUAGE FlexibleContexts #-} | ||
{-# LANGUAGE FunctionalDependencies #-} | ||
{-# LANGUAGE GeneralizedNewtypeDeriving #-} | ||
{-# LANGUAGE PatternSynonyms #-} | ||
{-# LANGUAGE OverloadedStrings #-} | ||
{-# LANGUAGE ScopedTypeVariables #-} | ||
{-# LANGUAGE TypeFamilies #-} | ||
|
@@ -39,6 +40,9 @@ import Distribution.Version | |
import Distribution.Compiler (CompilerFlavor) | ||
import Distribution.FieldGrammar (prettyFieldGrammar) | ||
import Distribution.Fields.Pretty (PrettyField (..), showFields) | ||
#if MIN_VERSION_Cabal(3,7,0) | ||
import Distribution.Fields.Pretty (pattern NoComment) | ||
#endif | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I want this file to remain in sync with its copy in |
||
import Distribution.PackageDescription | ||
import Distribution.PackageDescription.Parsec (parseGenericPackageDescription, runParseResult) | ||
import Distribution.PackageDescription.FieldGrammar (sourceRepoFieldGrammar) | ||
|
@@ -340,7 +344,7 @@ checkPackageDescriptions checkXRevision | |
checkSame "The package-url field is unused, don't bother changing it." | ||
pkgUrlA pkgUrlB | ||
changesOk "bug-reports" fromShortText bugReportsA bugReportsB | ||
changesOkList changesOk "source-repository" (showFields (const []) . (:[]) . ppSourceRepo) | ||
changesOkList changesOk "source-repository" (showFields noComment . (:[]) . ppSourceRepo) | ||
sourceReposA sourceReposB | ||
changesOk "synopsis" fromShortText synopsisA synopsisB | ||
changesOk "description" fromShortText descriptionA descriptionB | ||
|
@@ -365,6 +369,12 @@ checkPackageDescriptions checkXRevision | |
|
||
when checkXRevision $ checkRevision customFieldsPDA customFieldsPDB | ||
checkCuration customFieldsPDA customFieldsPDB | ||
where | ||
#if MIN_VERSION_Cabal(3,7,0) | ||
noComment _ = NoComment | ||
#else | ||
noComment _ = [] | ||
#endif | ||
|
||
checkSpecVersionRaw :: Check PackageDescription | ||
checkSpecVersionRaw pdA pdB | ||
|
@@ -625,10 +635,20 @@ checkExecutable componentName | |
|
||
checkTestSuite :: ComponentName -> Check TestSuite | ||
checkTestSuite componentName | ||
#if MIN_VERSION_Cabal(3,7,0) | ||
(TestSuite _nameA interfaceA buildInfoA testGeneratorsA) | ||
(TestSuite _nameB interfaceB buildInfoB testGeneratorsB) | ||
#else | ||
(TestSuite _nameA interfaceA buildInfoA) | ||
(TestSuite _nameB interfaceB buildInfoB) = do | ||
(TestSuite _nameB interfaceB buildInfoB) | ||
#endif | ||
= do | ||
checkSame "Cannot change test-suite type" interfaceA interfaceB | ||
checkBuildInfo componentName buildInfoA buildInfoB | ||
#if MIN_VERSION_Cabal(3,7,0) | ||
-- @test-generators@ | ||
checkSame "Cannot change test-generators" testGeneratorsA testGeneratorsB | ||
#endif | ||
|
||
checkBenchmark :: ComponentName -> Check Benchmark | ||
checkBenchmark componentName | ||
|
@@ -690,6 +710,7 @@ changesOkSet what render old new = do | |
logChange (Change Normal ("removed " ++ what) (renderSet removed) "") | ||
unless (Set.null added) $ | ||
logChange (Change Normal ("added " ++ what) "" (renderSet added)) | ||
return () | ||
where | ||
added = new Set.\\ old | ||
removed = old Set.\\ new | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively, instead of
#if
, we could burn the bridges and drop Cabal-3.6 entirely.