Skip to content

Commit eeb3a20

Browse files
Merge haskell-updates PR #401105 into staging
2 parents cda75b3 + fd0d17d commit eeb3a20

15 files changed

+2778
-901
lines changed

doc/languages-frameworks/haskell.section.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ that depend on that library, you may want to use:
779779
780780
```nix
781781
haskellPackages.haskell-ci.overrideScope (self: super: {
782-
Cabal = self.Cabal_3_14_1_1;
782+
Cabal = self.Cabal_3_14_2_0;
783783
})
784784
```
785785

pkgs/data/misc/hackage/pin.json

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"commit": "6fc5e0d20fed4a6e8ec26f6956786d0077f028b4",
3-
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/6fc5e0d20fed4a6e8ec26f6956786d0077f028b4.tar.gz",
4-
"sha256": "08vkrfn4s1jb680rq1flxas8hv04f5l715z0kh8sv909k3psbfak",
5-
"msg": "Update from Hackage at 2025-03-30T11:13:14Z"
2+
"commit": "611ebba3fc94becabf6cc6fbe713e4bfad592924",
3+
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/611ebba3fc94becabf6cc6fbe713e4bfad592924.tar.gz",
4+
"sha256": "1gn3asjrzr6v7lcdg1vyrpv7xv74ldwbz517cvfhh2mxzrawrkmc",
5+
"msg": "Update from Hackage at 2025-04-21T04:38:52Z"
66
}

pkgs/development/haskell-modules/cabal2nix-unstable.nix

+3-3
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
}:
3636
mkDerivation {
3737
pname = "cabal2nix";
38-
version = "unstable-2025-04-22";
38+
version = "unstable-2025-04-30";
3939
src = fetchzip {
40-
url = "https://github.com/NixOS/cabal2nix/archive/e6ed81965def7775aabdda7456d0c13f626295ee.tar.gz";
41-
sha256 = "1fh428r4wfrqjj77dxy1l3d9scm4ywz89rp7dhp07y3bq5yr7hs4";
40+
url = "https://github.com/NixOS/cabal2nix/archive/fbe593fe71b916861b97117dfb91f7aae9c4fcce.tar.gz";
41+
sha256 = "0sdyyawsz5zl2ffg4h4r3xcf73gfz9v0vgahccbp01if3m2g7p0y";
4242
};
4343
postUnpack = "sourceRoot+=/cabal2nix; echo source root reset to $sourceRoot";
4444
isLibrary = true;

pkgs/development/haskell-modules/configuration-common.nix

+82-82
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,30 @@ with haskellLib;
2020

2121
self: super:
2222
{
23+
# Hackage's accelerate is from 2020 and incomptible with our GHC.
24+
# The existing derivation also has missing dependencies
25+
# compared to the source from github.
26+
# https://github.com/AccelerateHS/accelerate/issues/553
27+
accelerate =
28+
assert super.accelerate.version == "1.3.0.0";
29+
lib.pipe super.accelerate [
30+
(addBuildDepends [
31+
self.double-conversion
32+
self.formatting
33+
self.microlens
34+
])
35+
36+
(overrideCabal (drv: {
37+
version = "1.3.0.0-unstable-2025-04-25";
38+
src = pkgs.fetchFromGitHub {
39+
owner = "AccelerateHS";
40+
repo = "accelerate";
41+
rev = "3f681a5091eddf5a3b97f4cd0de32adc830e1117";
42+
sha256 = "sha256-tCcl7wAls+5cBSrqbxfEAJngbV43OJcLJdaC4qqkBxc=";
43+
};
44+
}))
45+
];
46+
2347
# https://github.com/ivanperez-keera/dunai/issues/427
2448
dunai = addBuildDepend self.list-transformer (enableCabalFlag "list-transformer" super.dunai);
2549

@@ -34,7 +58,7 @@ self: super:
3458
Cabal-syntax = self.Cabal-syntax_3_12_1_0;
3559
}
3660
);
37-
Cabal_3_14_1_1 =
61+
Cabal_3_14_2_0 =
3862
overrideCabal
3963
(drv: {
4064
# Revert increased lower bound on unix since we have backported
@@ -47,15 +71,15 @@ self: super:
4771
})
4872
(
4973
doDistribute (
50-
super.Cabal_3_14_1_1.override {
51-
Cabal-syntax = self.Cabal-syntax_3_14_1_0;
74+
super.Cabal_3_14_2_0.override {
75+
Cabal-syntax = self.Cabal-syntax_3_14_2_0;
5276
}
5377
)
5478
);
5579

5680
# Needs matching version of Cabal
5781
Cabal-hooks = super.Cabal-hooks.override {
58-
Cabal = self.Cabal_3_14_1_1;
82+
Cabal = self.Cabal_3_14_2_0;
5983
};
6084

6185
# cabal-install needs most recent versions of Cabal and Cabal-syntax,
@@ -67,8 +91,8 @@ self: super:
6791
cabalInstallOverlay =
6892
cself: csuper:
6993
lib.optionalAttrs (lib.versionOlder self.ghc.version "9.12") {
70-
Cabal = cself.Cabal_3_14_1_1;
71-
Cabal-syntax = cself.Cabal-syntax_3_14_1_0;
94+
Cabal = cself.Cabal_3_14_2_0;
95+
Cabal-syntax = cself.Cabal-syntax_3_14_2_0;
7296
};
7397
in
7498
{
@@ -248,20 +272,6 @@ self: super:
248272
sha256 = "10zkvclyir3zf21v41zdsvg68vrkq89n64kv9k54742am2i4aygf";
249273
}) super.weeder;
250274

251-
# Allow aeson == 2.1.*
252-
# https://github.com/hdgarrood/aeson-better-errors/issues/23
253-
aeson-better-errors = lib.pipe super.aeson-better-errors [
254-
doJailbreak
255-
(appendPatches [
256-
# https://github.com/hdgarrood/aeson-better-errors/pull/25
257-
(fetchpatch {
258-
name = "mtl-2-3.patch";
259-
url = "https://github.com/hdgarrood/aeson-better-errors/commit/1ec49ab7d1472046b680b5a64ae2930515b47714.patch";
260-
hash = "sha256-xuuocWxSoBDclVp0bJ9UrDamVcDVOAFgJIi/un1xBvk=";
261-
})
262-
])
263-
];
264-
265275
# Version 2.1.1 is deprecated, but part of Stackage LTS at the moment.
266276
# https://github.com/commercialhaskell/stackage/issues/7500
267277
# https://github.com/yesodweb/shakespeare/issues/280
@@ -478,7 +488,7 @@ self: super:
478488
name = "git-annex-${super.git-annex.version}-src";
479489
url = "git://git-annex.branchable.com/";
480490
rev = "refs/tags/" + super.git-annex.version;
481-
sha256 = "18n6ah4d5i8qhx1s95zsb8bg786v0nv9hcjyxggrk88ya77maxha";
491+
sha256 = "10prmih74h31fwv14inqavzmm25hmlr24h49h9lpxqd88dn3r9cd";
482492
# delete android and Android directories which cause issues on
483493
# darwin (case insensitive directory). Since we don't need them
484494
# during the build process, we can delete it to prevent a hash
@@ -899,16 +909,6 @@ self: super:
899909
# "base" dependency.
900910
haddock-cheatsheet = doJailbreak super.haddock-cheatsheet;
901911

902-
# https://github.com/Gabriella439/Haskell-MVC-Updates-Library/pull/1
903-
mvc-updates = appendPatches [
904-
(pkgs.fetchpatch {
905-
name = "rename-pretraverse.patch";
906-
url = "https://github.com/Gabriella439/Haskell-MVC-Updates-Library/commit/47b31202b761439947ffbc89ec1c6854c1520819.patch";
907-
sha256 = "sha256-a6k3lWtXNYUIjWXR+vRAHz2bANq/2eM0F5FLL8Qt2lA=";
908-
includes = [ "src/MVC/Updates.hs" ];
909-
})
910-
] (doJailbreak super.mvc-updates);
911-
912912
# Too strict bounds on bytestring < 0.12
913913
# https://github.com/Gabriella439/Haskell-Pipes-HTTP-Library/issues/18
914914
pipes-http = doJailbreak super.pipes-http;
@@ -1232,14 +1232,16 @@ self: super:
12321232
# test suite requires git and does a bunch of git operations
12331233
restless-git = dontCheck super.restless-git;
12341234

1235-
sensei = overrideCabal (drv: {
1236-
# sensei passes `-package hspec-meta` to GHC in the tests, but doesn't
1237-
# depend on it itself.
1238-
testHaskellDepends = drv.testHaskellDepends or [ ] ++ [ self.hspec-meta ];
1239-
# requires git at test-time *and* runtime, but we'll just rely on users to
1240-
# bring their own git at runtime.
1241-
testToolDepends = drv.testToolDepends or [ ] ++ [ pkgs.git ];
1242-
}) super.sensei;
1235+
# Missing test files
1236+
# https://github.com/pbrisbin/jsonpatch/issues/10
1237+
jsonpatch = overrideCabal (drv: {
1238+
testTargets =
1239+
lib.warnIf (lib.versionAtLeast drv.version "0.3.0.2")
1240+
"haskellPackages.jsonpatch: override can be dropped"
1241+
[
1242+
"readme" # disabled: "spec"
1243+
];
1244+
}) super.jsonpatch;
12431245

12441246
# Work around https://github.com/haskell/c2hs/issues/192.
12451247
c2hs = dontCheck super.c2hs;
@@ -1460,22 +1462,7 @@ self: super:
14601462
hjsmin = dontCheck super.hjsmin;
14611463

14621464
# Remove for hail > 0.2.0.0
1463-
hail = overrideCabal (drv: {
1464-
patches = [
1465-
(fetchpatch {
1466-
# Relax dependency constraints,
1467-
# upstream PR: https://github.com/james-preston/hail/pull/13
1468-
url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/13.patch";
1469-
sha256 = "039p5mqgicbhld2z44cbvsmam3pz0py3ybaifwrjsn1y69ldsmkx";
1470-
})
1471-
(fetchpatch {
1472-
# Relax dependency constraints,
1473-
# upstream PR: https://github.com/james-preston/hail/pull/16
1474-
url = "https://patch-diff.githubusercontent.com/raw/james-preston/hail/pull/16.patch";
1475-
sha256 = "0dpagpn654zjrlklihsg911lmxjj8msylbm3c68xa5aad1s9gcf7";
1476-
})
1477-
];
1478-
}) super.hail;
1465+
hail = doJailbreak super.hail;
14791466

14801467
# https://github.com/kazu-yamamoto/dns/issues/150
14811468
dns = dontCheck super.dns;
@@ -2763,12 +2750,12 @@ self: super:
27632750
doJailbreak
27642751
# 2022-12-02: Hackage release lags behind actual releases: https://github.com/PostgREST/postgrest/issues/2275
27652752
(overrideSrc rec {
2766-
version = "12.2.7";
2753+
version = "12.2.12";
27672754
src = pkgs.fetchFromGitHub {
27682755
owner = "PostgREST";
27692756
repo = "postgrest";
27702757
rev = "v${version}";
2771-
hash = "sha256-4lKA+U7J8maKiDX9CWxWGjepGKSUu4ZOAA188yMt0bU=";
2758+
hash = "sha256-A/3JQc9h/FKX+xZvOVMwhXsKxdkRS783I/1EiZ3e73Y=";
27722759
};
27732760
})
27742761
# 2024-11-03: Fixes build on aarch64-darwin. Can be removed after updating to 13+.
@@ -2935,14 +2922,6 @@ self: super:
29352922
}
29362923
) super.feedback;
29372924

2938-
# https://github.com/maralorn/haskell-taskwarrior/pull/12
2939-
taskwarrior = appendPatches [
2940-
(fetchpatch {
2941-
url = "https://github.com/maralorn/haskell-taskwarrior/commit/b846c6ae64e716dca2d44488f60fee3697b5322d.patch";
2942-
sha256 = "sha256-fwBYBmw9Jva2UEPQ6E/5/HBA8ZDiM7/QQQDBp3diveU=";
2943-
})
2944-
] super.taskwarrior;
2945-
29462925
testcontainers = lib.pipe super.testcontainers [
29472926
dontCheck # Tests require docker
29482927
doJailbreak # https://github.com/testcontainers/testcontainers-hs/pull/58
@@ -3020,10 +2999,6 @@ self: super:
30202999
# jailbreak to allow deepseq >= 1.5, https://github.com/jumper149/blucontrol/issues/3
30213000
blucontrol = doJailbreak super.blucontrol;
30223001

3023-
# Stackage LTS 23.17 has 0.1.5, which was marked deprecated as it was broken.
3024-
# Can probably be dropped for Stackage LTS >= 23.18
3025-
network-control = doDistribute self.network-control_0_1_6;
3026-
30273002
# Needs to match pandoc, see:
30283003
# https://github.com/jgm/pandoc/commit/97b36ecb7703b434ed4325cc128402a9eb32418d
30293004
commonmark-pandoc = doDistribute self.commonmark-pandoc_0_2_2_3;
@@ -3065,19 +3040,28 @@ self: super:
30653040
assert super.bzlib.version == "0.5.2.0";
30663041
doJailbreak super.bzlib;
30673042

3068-
what4 = lib.pipe super.what4 [
3069-
(addTestToolDepends (
3070-
with pkgs;
3071-
[
3072-
cvc4
3073-
cvc5
3074-
z3
3043+
inherit
3044+
(lib.mapAttrs (
3045+
_: pkg:
3046+
lib.pipe pkg [
3047+
(addTestToolDepends (
3048+
with pkgs;
3049+
[
3050+
cvc4
3051+
cvc5
3052+
z3
3053+
]
3054+
))
3055+
# 2025-04-09: FIXME: template_tests still failing with:
3056+
# fd:9: hPutBuf: resource vanished (Broken pipe)
3057+
dontCheck
3058+
3059+
doDistribute
30753060
]
3076-
))
3077-
# 2025-04-09: template_tests still failing with:
3078-
# fd:9: hPutBuf: resource vanished (Broken pipe)
3079-
dontCheck
3080-
];
3061+
) super)
3062+
what4
3063+
what4_1_7
3064+
;
30813065

30823066
copilot-theorem = lib.pipe super.copilot-theorem [
30833067
(addTestToolDepends (with pkgs; [ z3 ]))
@@ -3153,7 +3137,23 @@ self: super:
31533137
# 2025-04-13: jailbreak to allow th-abstraction >= 0.7
31543138
crucible =
31553139
assert super.crucible.version == "0.7.2";
3156-
doJailbreak super.crucible;
3140+
doJailbreak (
3141+
super.crucible.override {
3142+
what4 = self.what4_1_7;
3143+
}
3144+
);
3145+
3146+
crucible-llvm = super.crucible-llvm.override {
3147+
what4 = self.what4_1_7;
3148+
};
3149+
3150+
# Test suite invokes cabal-install in a way incompatible with our generic builder
3151+
# (i.e. tries to re-use the ghc package db / environment from dist-newstyle).
3152+
sensei = dontCheck super.sensei;
3153+
3154+
crux = super.crux.override {
3155+
simple-get-opt = self.simple-get-opt_0_4;
3156+
};
31573157

31583158
# 2025-04-23: jailbreak to allow megaparsec >= 9.7
31593159
# 2025-04-23: test data missing from tarball

pkgs/development/haskell-modules/configuration-ghc-9.12.x.nix

+10-11
Original file line numberDiff line numberDiff line change
@@ -147,17 +147,6 @@ with haskellLib;
147147
];
148148
}) super.doctest_0_24_0;
149149

150-
# https://github.com/typeable/generic-arbitrary/issues/18
151-
generic-arbitrary = overrideCabal (drv: {
152-
patches = drv.patches or [ ] ++ [
153-
(pkgs.fetchpatch {
154-
name = "hellwolf:fix-recursive-test-hidding-unit";
155-
url = "https://github.com/typeable/generic-arbitrary/commit/133b80be93e6744f21e0e5ed4180a24c589f92e4.patch";
156-
sha256 = "sha256-z9EVcD1uNAYUOVTwmCCnrEFFOvFB7lD94Y6BwGVwVRQ=";
157-
})
158-
];
159-
}) super.generic-arbitrary;
160-
161150
# https://gitlab.haskell.org/ghc/ghc/-/issues/25930
162151
generic-lens = dontCheck super.generic-lens;
163152

@@ -173,6 +162,13 @@ with haskellLib;
173162
# https://github.com/sjakobi/newtype-generics/pull/28/files
174163
newtype-generics = warnAfterVersion "0.6.2" (doJailbreak super.newtype-generics);
175164

165+
# Test failure because of GHC bug:
166+
# https://gitlab.haskell.org/ghc/ghc/-/issues/25937
167+
# https://github.com/sol/interpolate/issues/20
168+
interpolate =
169+
assert super.ghc.version == "9.12.2";
170+
dontCheck super.interpolate;
171+
176172
#
177173
# Multiple issues
178174
#
@@ -204,4 +200,7 @@ with haskellLib;
204200
}
205201
)
206202
);
203+
204+
# Allow Cabal 3.14
205+
hpack = doDistribute self.hpack_0_38_0;
207206
}

pkgs/development/haskell-modules/configuration-ghc-9.8.x.nix

+1-7
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ let
77
inherit (pkgs) lib;
88
in
99

10-
self: super:
11-
{
10+
self: super: {
1211

1312
llvmPackages = pkgs.lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
1413

@@ -99,8 +98,3 @@ self: super:
9998
'';
10099
} super.ghc-lib-parser;
101100
}
102-
// lib.optionalAttrs (lib.versionAtLeast super.ghc.version "9.8.3") {
103-
# Breakage related to GHC 9.8.3 / deepseq 1.5.1.0
104-
# https://github.com/typeable/generic-arbitrary/issues/18
105-
generic-arbitrary = dontCheck super.generic-arbitrary;
106-
}

pkgs/development/haskell-modules/configuration-ghcjs-9.x.nix

+3-6
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,9 @@ with haskellLib;
3535
patch = haskellLib.disableParallelBuilding super.patch;
3636
reflex-dom-core = haskellLib.disableParallelBuilding super.reflex-dom-core;
3737

38-
reflex-dom =
39-
lib.warn "reflex-dom builds with JS backend but it is missing fixes for working at runtime"
40-
super.reflex-dom.override
41-
(drv: {
42-
jsaddle-webkit2gtk = null;
43-
});
38+
reflex-dom = super.reflex-dom.override (drv: {
39+
jsaddle-webkit2gtk = null;
40+
});
4441

4542
miso-examples = pkgs.lib.pipe super.miso-examples [
4643
(addBuildDepends (

0 commit comments

Comments
 (0)