haskell-ci: make sure all dependencies use Cabal 3.4

haskell-ci doesn't support Cabal 3.6 yet, so we need to downgrade
cabal-install-parsers to avoid inconsistencies across the dependency
graph.
This commit is contained in:
sternenseemann 2021-09-05 21:42:26 +02:00
parent 828f92acea
commit 21e3afc6a2
4 changed files with 40 additions and 1 deletions

View file

@ -1118,6 +1118,7 @@ self: super: {
# The test suite depends on an impure cabal-install installation in # The test suite depends on an impure cabal-install installation in
# $HOME, which we don't have in our build sandbox. # $HOME, which we don't have in our build sandbox.
cabal-install-parsers = dontCheck super.cabal-install-parsers; cabal-install-parsers = dontCheck super.cabal-install-parsers;
cabal-install-parsers_0_4_2 = dontCheck super.cabal-install-parsers_0_4_2;
# 2021-08-18: Erroneously claims that it needs a newer HStringTemplate (>= 0.8.8) than stackage. # 2021-08-18: Erroneously claims that it needs a newer HStringTemplate (>= 0.8.8) than stackage.
gitit = doJailbreak super.gitit; gitit = doJailbreak super.gitit;
@ -1763,8 +1764,11 @@ self: super: {
# 2021-05-09 haskell-ci pins ShellCheck 0.7.1 # 2021-05-09 haskell-ci pins ShellCheck 0.7.1
# https://github.com/haskell-CI/haskell-ci/issues/507 # https://github.com/haskell-CI/haskell-ci/issues/507
# 2021-09-05 haskell-ci needs Cabal 3.4,
# cabal-install-parsers uses Cabal 3.6 since 0.4.3
haskell-ci = super.haskell-ci.override { haskell-ci = super.haskell-ci.override {
ShellCheck = self.ShellCheck_0_7_1; ShellCheck = self.ShellCheck_0_7_1;
cabal-install-parsers = self.cabal-install-parsers_0_4_2;
}; };
Frames-streamly = overrideCabal (super.Frames-streamly.override { relude = super.relude_1_0_0_1; }) (drv: { Frames-streamly = overrideCabal (super.Frames-streamly.override { relude = super.relude_1_0_0_1; }) (drv: {

View file

@ -48,9 +48,14 @@ self: super: {
base16-bytestring = self.base16-bytestring_0_1_1_7; base16-bytestring = self.base16-bytestring_0_1_1_7;
}); });
# cabal-install-parsers is written for Cabal 3.4 # cabal-install-parsers is written for Cabal 3.6
cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_0_0; }; cabal-install-parsers = super.cabal-install-parsers.override { Cabal = super.Cabal_3_6_0_0; };
# older version of cabal-install-parsers for reverse dependencies that use Cabal 3.4
cabal-install-parsers_0_4_2 = super.cabal-install-parsers_0_4_2.override {
Cabal = self.Cabal_3_4_0_0;
};
# Jailbreak to fix the build. # Jailbreak to fix the build.
base-noprelude = doJailbreak super.base-noprelude; base-noprelude = doJailbreak super.base-noprelude;
system-fileio = doJailbreak super.system-fileio; system-fileio = doJailbreak super.system-fileio;

View file

@ -121,6 +121,7 @@ extra-packages:
- sbv == 7.13 # required for pkgs.petrinizer - sbv == 7.13 # required for pkgs.petrinizer
- crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses - crackNum < 3.0 # 2021-05-21: 3.0 removed the lib which sbv 7.13 uses
- ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version - ShellCheck == 0.7.1 # 2021-05-09: haskell-ci 0.12.1 pins this version
- cabal-install-parsers == 0.4.2 # 2021-09-04: needed haskell-ci by until it upgrades to Cabal >= 3.6
- ghc-api-compat < 8.10.5 # 2021-08-18: ghc-api-compat 8.10.5 is only compatible with ghc 8.10.5 - ghc-api-compat < 8.10.5 # 2021-08-18: ghc-api-compat 8.10.5 is only compatible with ghc 8.10.5
package-maintainers: package-maintainers:

View file

@ -49388,6 +49388,35 @@ self: {
broken = true; broken = true;
}) {}; }) {};
"cabal-install-parsers_0_4_2" = callPackage
({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
, binary, binary-instances, bytestring, Cabal, containers
, criterion, cryptohash-sha256, deepseq, directory, filepath, lukko
, network-uri, parsec, pretty, tar, tasty, tasty-golden
, tasty-hunit, text, time, transformers, tree-diff
}:
mkDerivation {
pname = "cabal-install-parsers";
version = "0.4.2";
sha256 = "08ny95sryii4nzyy8b2zf15vk329y84gbvpy7302hnjxanc6awx5";
libraryHaskellDepends = [
aeson base base16-bytestring binary binary-instances bytestring
Cabal containers cryptohash-sha256 deepseq directory filepath lukko
network-uri parsec pretty tar text time transformers
];
testHaskellDepends = [
ansi-terminal base base16-bytestring bytestring Cabal containers
directory filepath pretty tar tasty tasty-golden tasty-hunit
tree-diff
];
benchmarkHaskellDepends = [
base bytestring Cabal containers criterion directory filepath
];
description = "Utilities to work with cabal-install files";
license = "GPL-2.0-or-later AND BSD-3-Clause";
hydraPlatforms = lib.platforms.none;
}) {};
"cabal-install-parsers" = callPackage "cabal-install-parsers" = callPackage
({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring ({ mkDerivation, aeson, ansi-terminal, base, base16-bytestring
, binary, binary-instances, bytestring, Cabal, containers , binary, binary-instances, bytestring, Cabal, containers