haskellPackages: various fixes around Cabal 3.18 (#553005)

This commit is contained in:
Wolfgang Walther
2026-09-03 09:49:38 +00:00
committed by GitHub
5 changed files with 1070 additions and 1759 deletions

View File

@@ -1,6 +1,6 @@
{
"commit": "bf95a72a467a5e3b814be6041cc2ba7e2cd937a5",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/bf95a72a467a5e3b814be6041cc2ba7e2cd937a5.tar.gz",
"sha256": "12zlfyjnb3axvs1f584qgj6jarvg02fwg7pqm1vgc95fif6gyrm6",
"msg": "Update from Hackage at 2026-08-30T09:16:12Z"
"commit": "87c48951e262dd17a0a5d797352b2c02fad42f63",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/87c48951e262dd17a0a5d797352b2c02fad42f63.tar.gz",
"sha256": "0spjj8cmidas83wvj5zzras5cya4yvynbxsa2fhish3n0m9dph1c",
"msg": "Update from Hackage at 2026-09-02T14:06:22Z"
}

View File

@@ -73,9 +73,15 @@ with haskellLib;
)
);
Cabal_3_18_1_0 = doDistribute (
super.Cabal_3_18_1_0.override {
Cabal-syntax = self.Cabal-syntax_3_18_1_0;
}
);
# Needs matching version of Cabal
Cabal-hooks = super.Cabal-hooks.override {
Cabal = self.Cabal_3_16_1_0;
Cabal = self.Cabal_3_18_1_0;
};
# Needs Cabal>=3.14
@@ -88,31 +94,16 @@ with haskellLib;
inherit
(
let
haveSemaphoreCompat200 =
# ATTN: we assume that semaphore-compat isn't changed in cabalInstallOverlay!
lib.versionAtLeast (self.semaphore-compat.version or "0") "2.0.0"
|| (
lib.versionAtLeast self.ghc.version "9.12.4.20260606" # 9.12.5-rc1
&& lib.versionOlder self.ghc.version "9.14"
)
|| lib.versionAtLeast self.ghc.version "9.14.1.20260728"; # 9.14.1-rc1
# TODO(@sternenseemann): make conditional once a GHC release ships Cabal 3.18
# !!! Use cself/csuper inside for the actual overrides
cabalInstallOverlay =
cself: csuper:
lib.optionalAttrs (haveSemaphoreCompat200 || lib.versionOlder csuper.ghc.version "9.14.1.20260728")
{
# Waiting on Cabal-3.18 with https://github.com/haskell/cabal/pull/11628
Cabal = appendPatches (lib.optionals haveSemaphoreCompat200 [
(pkgs.fetchpatch {
name = "Cabal-semaphore-compat-2.0.0.patch";
url = "https://github.com/haskell/cabal/commit/2cac53be5659a2a74f1748fd6ab1e00183a18765.diff?full_index=1";
hash = "sha256-+rcwBQILTc1ezcHb3VDampwMYGEG7S4HF1YKAk7QzUs=";
relative = "Cabal";
})
]) cself.Cabal_3_16_1_0;
Cabal-syntax = cself.Cabal-syntax_3_16_1_0;
};
cabalInstallOverlay = cself: csuper: {
Cabal = cself.Cabal_3_18_1_0;
Cabal-syntax = cself.Cabal-syntax_3_18_1_0;
# Forbids Cabal >= 3.18
# https://github.com/sol/hpack/issues/653
hpack = doJailbreak (super.hpack.override { Cabal = cself.Cabal; });
};
in
{
cabal-install =
@@ -122,21 +113,9 @@ with haskellLib;
in
overrideCabal (
old:
{
patches = lib.optionals haveSemaphoreCompat200 [
# Waiting on cabal-install-3.18 with https://github.com/haskell/cabal/pull/11628
(pkgs.fetchpatch {
name = "cabal-install-semaphore-compat-2.0.0.patch";
url = "https://github.com/haskell/cabal/commit/2cac53be5659a2a74f1748fd6ab1e00183a18765.diff?full_index=1";
hash = "sha256-7unna/3+/MPbD/6f5MBgggvy254YRXhHnHIrFzJoboQ=";
relative = "cabal-install";
})
];
}
# Some dead code is not properly eliminated on aarch64-darwin, leading
# to bogus references to some dependencies.
// lib.optionalAttrs (pkgs.stdenv.hostPlatform.isDarwin && pkgs.stdenv.hostPlatform.isAarch64) {
lib.optionalAttrs (pkgs.stdenv.hostPlatform.isDarwin && pkgs.stdenv.hostPlatform.isAarch64) {
postInstall = ''
${old.postInstall or ""}
remove-references-to -t ${scope.HTTP} "$out/bin/.cabal-wrapped"
@@ -333,6 +312,16 @@ with haskellLib;
# bound only required when running under WINE: https://github.com/haskell/network/issues/604
iserv-proxy = doJailbreak super.iserv-proxy;
# ghc-paths needs a compat patch for Cabal 3.18 until a new version is released
# https://github.com/simonmar/ghc-paths/pull/35 krank:ignore-line
ghc-paths = appendPatches [
(pkgs.fetchpatch {
name = "ghc-paths-Cabal-3.18-compat.patch";
url = "https://github.com/simonmar/ghc-paths/commit/3b29418f632e6523858fc6441737d923a431a7d8.patch";
hash = "sha256-TKbEPGr1Vpaz3RdLwq92dTlp7Y8nKPghukZGVcMXQ6Y=";
})
] super.ghc-paths;
# Test ldap server test/ldap.js is missing from sdist
# https://github.com/supki/ldap-client/issues/18
ldap-client-og = dontCheck super.ldap-client-og;
@@ -387,6 +376,16 @@ with haskellLib;
# 2023-06-28: Test error: https://hydra.nixos.org/build/225565149
orbits = dontCheck super.orbits;
# Fix compilation of Setup.hs with Cabal >= 3.18
# https://github.com/haskell/entropy/pull/97
entropy = appendPatches [
(pkgs.fetchpatch {
name = "entropy-Cabal-3.18.patch";
url = "https://github.com/haskell/entropy/commit/52b0c314d182de512c3293c6ac9b0186efbebc6f.patch";
hash = "sha256-5+fLRlbkLp2c5PSVDH1E46tZGZcyTfamOaget5lwlwc=";
})
] super.entropy;
# 2025-02-10: Too strict bounds on tasty-quickcheck < 0.11
tasty-discover = doJailbreak super.tasty-discover;

View File

@@ -1,4 +1,4 @@
# Stackage Nightly 2026-08-27
# Stackage Nightly 2026-09-01
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@@ -18,7 +18,7 @@ default-package-overrides:
- advent-of-code-api ==0.2.11.0
- aern2-mp ==0.2.16.1
- aern2-real ==0.2.16.1
- aeson ==2.2.5.0
- aeson ==2.2.5.1
- aeson-attoparsec ==0.0.0
- aeson-better-errors ==0.9.1.4
- aeson-casing ==0.2.0.0
@@ -90,7 +90,7 @@ default-package-overrides:
- arrows ==0.4.4.2
- ascii-char ==1.0.1.0
- ascii-progress ==0.3.3.0
- asciidoc ==0.1.0.4
- asciidoc ==0.1.0.5
- asn1-encoding ==0.9.6
- asn1-parse ==0.9.5
- asn1-types ==0.3.4
@@ -361,6 +361,7 @@ default-package-overrides:
- chart-svg ==0.8.3.3
- ChasingBottoms ==1.3.1.17
- check-email ==1.0.2
- checked-literals ==0.1.2
- checkers ==0.6.0
- checksum ==0.0.0.1
- chell ==0.5.0.2
@@ -377,10 +378,10 @@ default-package-overrides:
- circle-packing ==0.1.0.6
- circular ==0.4.0.3
- citeproc ==0.13.0.1
- clash-ghc ==1.10.0
- clash-lib ==1.10.0
- clash-prelude ==1.10.0
- clash-prelude-hedgehog ==1.10.0
- clash-ghc ==1.10.1
- clash-lib ==1.10.1
- clash-prelude ==1.10.1
- clash-prelude-hedgehog ==1.10.1
- clash-shake ==0.4.0
- classy-prelude ==1.5.0.3
- classy-prelude-conduit ==1.5.0
@@ -507,7 +508,7 @@ default-package-overrides:
- cpu ==0.1.2
- cpuinfo ==0.1.0.3
- cql ==4.1.0.0
- crackNum ==4.2
- crackNum ==4.4
- crc32c ==0.2.2
- crdt-event-fold ==1.8.1.4
- criterion ==1.6.5.0
@@ -597,21 +598,21 @@ default-package-overrides:
- data-sketches ==0.4.0.1
- data-sketches-core ==0.3.0.0
- data-textual ==0.3.0.3
- dataframe ==3.5.0.0
- dataframe-core ==2.4.0.0
- dataframe-csv ==2.3.0.0
- dataframe ==3.6.0.0
- dataframe-core ==2.5.0.1
- dataframe-csv ==2.3.0.1
- dataframe-csv-th ==1.3.0.0
- dataframe-expr-serializer ==1.2.0.1
- dataframe-fastcsv ==1.4.1.0
- dataframe-expr-serializer ==1.2.1.0
- dataframe-fastcsv ==1.4.1.1
- dataframe-json ==1.2.0.1
- dataframe-lazy ==2.4.0.0
- dataframe-learn ==2.4.1.0
- dataframe-operations ==2.4.0.0
- dataframe-parquet ==1.5.0.0
- dataframe-lazy ==2.4.1.0
- dataframe-learn ==2.4.2.0
- dataframe-operations ==2.5.0.0
- dataframe-parquet ==1.5.0.1
- dataframe-parquet-th ==1.3.0.0
- dataframe-parsing ==2.2.0.0
- dataframe-th ==2.2.0.0
- dataframe-viz ==1.3.1.0
- dataframe-th ==2.2.1.0
- dataframe-viz ==1.3.2.0
- dataurl ==0.1.0.0
- DAV ==1.3.4
- dbcleaner ==0.1.3
@@ -695,7 +696,7 @@ default-package-overrides:
- distributive ==0.6.3
- distributors ==0.6.0.0
- djinn-lib ==0.0.1.4
- djot ==0.1.4.1
- djot ==0.1.4.2
- dl-fedora ==2.2
- dlist ==1.0
- dlist-instances ==0.1.1.1
@@ -933,7 +934,7 @@ default-package-overrides:
- free ==5.2
- free-alacarte ==1.0.0.9
- free-categories ==0.2.0.2
- free-foil ==0.3.2
- free-foil ==0.4.0
- free-vl ==0.1.4
- freenect ==1.2.1
- freer-base-classes ==0.1.0.0
@@ -1104,7 +1105,7 @@ default-package-overrides:
- github-release ==2.0.0.19
- github-rest ==1.2.1
- github-types ==0.2.1
- gitit ==0.16
- gitit ==0.16.0.1
- gitlab-haskell ==1.4.1.0
- gitrev ==1.3.1
- gl ==0.9.1
@@ -1374,7 +1375,7 @@ default-package-overrides:
- hoauth2 ==2.15.2
- honeycomb ==0.1.0.1
- hoogle ==5.0.19.0
- hOpenPGP ==3.5
- hOpenPGP ==3.5.1
- hopenpgp-tools ==0.25.9
- hopenssl ==2.2.5
- horde-ad ==0.3.0.0
@@ -1443,9 +1444,10 @@ default-package-overrides:
- hset ==2.2.0
- hsignal ==0.2.7.5
- hsini ==0.5.2.2
- hsinstall ==2.10
- hsinstall ==3.0
- HSlippyMap ==3.0.1
- hslogger ==1.3.2.0
- hslogger-colorfmt ==1.0.0
- hslua ==2.5.0
- hslua-aeson ==2.3.2
- hslua-classes ==2.3.2
@@ -1940,7 +1942,7 @@ default-package-overrides:
- miniutter ==0.5.1.2
- minmax ==0.1.1.0
- mintty ==0.1.4
- miso ==1.12.0.0
- miso ==1.13.0.0
- missing-foreign ==0.1.1
- MissingH ==1.6.0.3
- mixed-types-num ==0.6.2
@@ -2545,7 +2547,7 @@ default-package-overrides:
- record-hasfield ==1.0.1
- recover-rtti ==0.6.1
- recursion-schemes ==5.2.3
- recv ==0.1.1
- recv ==0.1.2
- reddit-scrape ==0.0.1
- redis-glob ==0.1.0.11
- redis-resp ==1.0.0
@@ -2640,7 +2642,7 @@ default-package-overrides:
- rss ==3000.2.0.8
- run-st ==0.1.3.3
- runmemo ==1.0.0.1
- rzk ==0.11.2
- rzk ==0.11.3
- s-cargot ==0.1.6.0
- safe ==0.3.21
- safe-coloured-text ==0.6.0.0
@@ -2675,7 +2677,7 @@ default-package-overrides:
- say ==0.1.0.1
- sayable ==1.2.7.0
- sbp ==6.5.1
- sbv ==14.6
- sbv ==14.7
- scalpel ==0.6.2.2
- scalpel-core ==0.6.2.2
- scanf ==0.1.0.0
@@ -2688,7 +2690,7 @@ default-package-overrides:
- scotty ==0.30
- scripths ==0.5.5.0
- scrypt ==0.5.0
- sdl2 ==2.5.6.0
- sdl2 ==2.5.6.1
- sdl2-gfx ==0.3.0.0
- sdl2-image ==2.1.0.0
- sdl2-mixer ==1.2.0.0
@@ -2868,7 +2870,7 @@ default-package-overrides:
- spirv-reflect-types ==0.4
- spirv-reflect-yaml ==0.4
- splice ==0.6.1.1
- split ==0.2.5
- split ==0.2.5.1
- split-record ==0.1.1.5
- splitmix ==0.1.3.2
- splitmix-distributions ==1.2.0
@@ -3089,7 +3091,7 @@ default-package-overrides:
- testcontainers-postgresql ==0.2.0.1
- testing-feat ==1.1.1.1
- testing-type-modifiers ==0.1.0.1
- texmath ==0.13.2.1
- texmath ==0.13.2.2
- text-ansi ==0.3.0.1
- text-binary ==0.2.1.1
- text-builder ==1.0.0.5
@@ -3100,7 +3102,7 @@ default-package-overrides:
- text-convert ==0.1.0.1
- text-display ==1.0.0.0
- text-icu ==0.8.0.5
- text-iso8601 ==0.1.1.1
- text-iso8601 ==0.1.1.2
- text-latin1 ==0.3.1
- text-ldap ==0.1.1.14
- text-manipulate ==0.3.1.0
@@ -3247,7 +3249,7 @@ default-package-overrides:
- typelits-witnesses ==0.4.1.0
- typenums ==0.1.4
- typography-geometry ==1.0.1.0
- typst ==0.11
- typst ==0.11.0.1
- typst-symbols ==0.3
- tz ==0.1.3.6
- tzdata ==0.2.20260708.0
@@ -3374,7 +3376,7 @@ default-package-overrides:
- vector-th-unbox ==0.2.2
- verbosity ==0.4.0.0
- verset ==0.0.1.11
- versions ==6.0.8
- versions ==6.0.9
- vessel ==0.3.0.2
- vformat ==0.14.1.0
- vformat-time ==0.1.0.0
@@ -3413,7 +3415,7 @@ default-package-overrides:
- wai-middleware-throttle ==0.3.0.1
- wai-rate-limit ==0.3.0.0
- wai-rate-limit-redis ==0.2.0.1
- wai-saml2 ==0.7.0
- wai-saml2 ==0.7.1
- wai-session ==0.3.3
- wai-session-postgresql ==0.2.1.3
- wai-slack-middleware ==0.2.0

File diff suppressed because it is too large Load Diff

View File

@@ -543,6 +543,7 @@ let
compilerNames.ghc9142
] released;
Cabal_3_16_1_0 = released;
Cabal_3_18_1_0 = released;
cabal2nix = released;
cabal2nix-unstable = released;
funcmp = released;