haskell.packages.*.cabal-install: provide correct versions of deps

Some packages cabal-install needed a certain version range (cabal-install-solver
and resolv) have versions incompatible with these in Stackage LTS 21. We can,
however, easily provide the necessary ones.

Additionally, we clean up some old resolv related overrides that are no longer
necessary or we no longer care about (being able to build cabal-install with
GHC 8.6, namely).
This commit is contained in:
sternenseemann 2023-07-02 14:16:59 +02:00
parent 54ebdad42d
commit 5407503fba
6 changed files with 14 additions and 15 deletions

View file

@ -33,7 +33,12 @@ self: super: {
let
# !!! Use cself/csuper inside for the actual overrides
cabalInstallOverlay = cself: csuper:
lib.optionalAttrs (lib.versionOlder self.ghc.version "9.6") {
{
# Needs to be upgraded compared to Stackage LTS 21
cabal-install-solver = cself.cabal-install-solver_3_10_1_0;
# Needs to be downgraded compared to Stackage LTS 21
resolv = cself.resolv_0_1_2_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.6") {
Cabal = cself.Cabal_3_10_1_0;
Cabal-syntax = cself.Cabal-syntax_3_10_1_0;
} // lib.optionalAttrs (lib.versionOlder self.ghc.version "9.4") {
@ -302,7 +307,7 @@ self: super: {
# Tests require older versions of tasty.
hzk = dontCheck super.hzk;
resolv = doJailbreak super.resolv;
resolv_0_1_2_0 = doJailbreak super.resolv_0_1_2_0;
# Tests require a Kafka broker running locally
haskakafka = dontCheck super.haskakafka;
@ -1030,9 +1035,6 @@ self: super: {
# jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
# https://github.com/haskell-hvr/resolv/pull/6
resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2;
# The test suite does not know how to find the 'alex' binary.
alex = overrideCabal (drv: {
testSystemDepends = (drv.testSystemDepends or []) ++ [pkgs.which];

View file

@ -80,9 +80,6 @@ self: super: {
# Break out of "yaml >=0.10.4.0 && <0.11": https://github.com/commercialhaskell/stack/issues/4485
stack = doJailbreak super.stack;
# Newer versions don't compile.
resolv = self.resolv_0_1_1_2;
# cabal2nix needs the latest version of Cabal, and the one
# hackage-db uses must match, so take the latest
cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_3_2_1_0; });

View file

@ -80,7 +80,6 @@ self: super: {
lukko = doJailbreak super.lukko;
parallel = doJailbreak super.parallel;
regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv;
singleton-bool = doJailbreak super.singleton-bool;
split = doJailbreak super.split;
tar = doJailbreak super.tar;

View file

@ -91,7 +91,6 @@ in {
path = doJailbreak super.path;
polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv;
singleton-bool = doJailbreak super.singleton-bool;
libmpd = doJailbreak super.libmpd;
generics-sop = doJailbreak super.generics-sop;

View file

@ -124,7 +124,7 @@ extra-packages:
- pantry == 0.5.2.1 # needed for stack-2.7.3
- path == 0.9.0 # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
- relude == 0.7.0.0 # 2022-02-25: Needed for ema 0.6
- resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
- resolv < 0.2 # required to build cabal-install-3.10.1.0 with Stackage LTS 21
- sbv == 7.13 # required for pkgs.petrinizer
- stylish-haskell == 0.13.0.0 # 2022-09-19: needed for hls on ghc 8.8
- tasty-hspec == 1.1.6 # 2022-04-07: Needed for elm-format

View file

@ -247648,14 +247648,16 @@ self: {
maintainers = [ lib.maintainers.thielema ];
}) {};
"resolv_0_1_1_2" = callPackage
"resolv_0_1_2_0" = callPackage
({ mkDerivation, base, base16-bytestring, binary, bytestring
, containers, directory, filepath, tasty, tasty-hunit
}:
mkDerivation {
pname = "resolv";
version = "0.1.1.2";
sha256 = "0wczdy3vmpfcfwjn1m95bygc5d83m97xxmavhdvy5ayn8c402fp4";
version = "0.1.2.0";
sha256 = "0wa6wsh6i52q4ah2z0hgzlks325kigch4yniz0y15nw4skxbm8l1";
revision = "6";
editedCabalFile = "1qhl69hrvdby2wmk1ip0mr3ghq57zqk1n06qp768bbpdanrfvxx1";
libraryHaskellDepends = [
base base16-bytestring binary bytestring containers
];
@ -247663,7 +247665,7 @@ self: {
base bytestring directory filepath tasty tasty-hunit
];
description = "Domain Name Service (DNS) lookup via the libresolv standard library routines";
license = lib.licenses.gpl2Only;
license = lib.licenses.gpl2Plus;
hydraPlatforms = lib.platforms.none;
}) {};