Merge pull request #193927 from NixOS/haskell-updates

haskellPackages: update stackage and hackage
This commit is contained in:
Dennis Gosnell 2022-10-05 11:15:03 -04:00 committed by GitHub
commit a2d443c7e8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 628 additions and 192 deletions

View file

@ -1,6 +1,6 @@
{
"commit": "7cabb43eb4c2b1e025cae32532e7c4a9dcc6b349",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7cabb43eb4c2b1e025cae32532e7c4a9dcc6b349.tar.gz",
"sha256": "0zlqb1s7cyrnl2dmasv2h8lbjxmb27vzlac2adkcnd9r0zfgxl1p",
"msg": "Update from Hackage at 2022-09-28T11:00:39Z"
"commit": "3f8bc936ca1b36ede05f3cec8166c6ae6c61808d",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/3f8bc936ca1b36ede05f3cec8166c6ae6c61808d.tar.gz",
"sha256": "0bjd6znvwipc8gd0s4bryjbcj29h1lryxc2cqy0xgy07b7dpz245",
"msg": "Update from Hackage at 2022-10-01T15:28:21Z"
}

View file

@ -2586,4 +2586,7 @@ in {
url = "https://github.com/hackage-trustees/text-format/pull/4/commits/949383aa053497b8c251219c10506136c29b4d32.patch";
sha256 = "QzpZ7lDedsz1mZcq6DL4x7LBnn58rx70+ZVvPh9shRo=";
}) super.text-format;
# 2022-10-04: Needs newer tasty-dejafu than (currently) in stackage
rec-def = super.rec-def.override { tasty-dejafu = self.tasty-dejafu_2_1_0_0; };
})

View file

@ -169,9 +169,6 @@ self: super: {
# lens >= 5.1 supports 9.2.1
lens = doDistribute self.lens_5_2;
# Syntax error in tests fixed in https://github.com/simonmar/alex/commit/84b29475e057ef744f32a94bc0d3954b84160760
alex = dontCheck super.alex;
# Apply patches from head.hackage.
language-haskell-extract = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch";

View file

@ -2,10 +2,17 @@
let
inherit (pkgs) fetchpatch lib;
inherit (lib) throwIfNot versionOlder;
checkAgainAfter = pkg: ver: msg: act:
if builtins.compareVersions pkg.version ver <= 0 then act
else
builtins.throw "Check if '${msg}' was resolved in ${pkg.pname} ${pkg.version} and update or remove this";
in
self: super: {
with haskellLib;
self: super: let
doctest_0_20_broken = p: checkAgainAfter self.doctest "0.20.0" "doctest broken on 9.4" (dontCheck p);
jailbreakForCurrentVersion = p: v: checkAgainAfter p v "bad bounds" (doJailbreak p);
in {
llvmPackages = lib.dontRecurseIntoAttrs self.ghc.llvmPackages;
# Disable GHC core libraries.
@ -48,4 +55,173 @@ self: super: {
# GHC only bundles the xhtml library if haddock is enabled, check if this is
# still the case when updating: https://gitlab.haskell.org/ghc/ghc/-/blob/0198841877f6f04269d6050892b98b5c3807ce4c/ghc.mk#L463
xhtml = if self.ghc.hasHaddock or true then null else self.xhtml_3000_2_2_1;
# Tests fail because of typechecking changes
conduit = dontCheck super.conduit;
# 0.30 introduced support for GHC 9.2.
cryptonite = doDistribute self.cryptonite_0_30;
# Too strict bound on base
# https://github.com/haskell/cabal/issues/8509
# Requested versions of Cabal, Cabal-syntax and process match GHC 9.4's for now
cabal-install = doJailbreak super.cabal-install;
cabal-install-solver = doJailbreak super.cabal-install-solver;
# Test failure due to new Cabal 3.8 version. Since the failure only pertains
# to a change in how Cabal internally represents some platforms and we depend
# on the type of representation anywhere, this failure is harmless. Can be
# removed after https://github.com/NixOS/cabal2nix/pull/571 is merged.
# TODO(@sternenseemann): merge and release a fixed version
distribution-nixpkgs = dontCheck super.distribution-nixpkgs;
cabal2nix = dontCheck super.cabal2nix;
cabal2nix-unstable = dontCheck super.cabal2nix-unstable;
# build fails on due to ghc api changes
# unfinished PR that doesn't yet compile:
# https://github.com/sol/doctest/pull/375
doctest = markBroken super.doctest_0_20_0;
# consequences of doctest breakage follow:
http-types = doctest_0_20_broken super.http-types;
iproute = doctest_0_20_broken super.iproute;
foldl = doctest_0_20_broken super.foldl;
prettyprinter-ansi-terminal = doctest_0_20_broken super.prettyprinter-ansi-terminal;
pretty-simple = doctest_0_20_broken super.pretty-simple;
http-date = doctest_0_20_broken super.http-date;
network-byte-order = doctest_0_20_broken super.network-byte-order;
co-log-core = doctest_0_20_broken (doJailbreak super.co-log-core);
xml-conduit = doctest_0_20_broken (dontCheck super.xml-conduit);
validation-selective = doctest_0_20_broken (dontCheck super.validation-selective);
double-conversion = markBroken super.double-conversion;
blaze-textual = checkAgainAfter super.double-conversion "2.0.4.1" "double-conversion fails to build; required for testsuite" (dontCheck super.blaze-textual);
ghc-source-gen = checkAgainAfter super.ghc-source-gen "0.4.3.0" "fails to build" (markBroken super.ghc-source-gen);
lucid = jailbreakForCurrentVersion super.lucid "2.11.1";
invariant = jailbreakForCurrentVersion super.invariant "0.5.6";
implicit-hie-cradle = jailbreakForCurrentVersion super.implicit-hie-cradle "0.5.0.0";
haskell-src-meta = doJailbreak super.haskell-src-meta;
# Tests fail in GHC 9.2
extra = dontCheck super.extra;
# Jailbreaks & Version Updates
aeson = self.aeson_2_1_1_0;
aeson-diff = doctest_0_20_broken (dontCheck super.aeson-diff);
lens-aeson = self.lens-aeson_1_2_2;
assoc = doJailbreak super.assoc;
async = doJailbreak super.async;
base64-bytestring = doJailbreak super.base64-bytestring;
base-compat = self.base-compat_0_12_2;
base-compat-batteries = self.base-compat-batteries_0_12_2;
binary-instances = doJailbreak super.binary-instances;
ChasingBottoms = doJailbreak super.ChasingBottoms;
constraints = doJailbreak super.constraints;
cpphs = overrideCabal (drv: { postPatch = "sed -i -e 's,time >=1.5 && <1.11,time >=1.5 \\&\\& <1.12,' cpphs.cabal";}) super.cpphs;
data-fix = doJailbreak super.data-fix;
dec = doJailbreak super.dec;
ed25519 = doJailbreak super.ed25519;
ghc-byteorder = doJailbreak super.ghc-byteorder;
ghc-lib = doDistribute self.ghc-lib_9_4_2_20220822;
ghc-lib-parser = doDistribute self.ghc-lib-parser_9_4_2_20220822;
ghc-lib-parser-ex = doDistribute self.ghc-lib-parser-ex_9_4_0_0;
hackage-security = doJailbreak super.hackage-security;
hashable = super.hashable_1_4_1_0;
hashable-time = doJailbreak super.hashable-time;
HTTP = overrideCabal (drv: { postPatch = "sed -i -e 's,! Socket,!Socket,' Network/TCP.hs"; }) (doJailbreak super.HTTP);
integer-logarithms = overrideCabal (drv: { postPatch = "sed -i -e 's, <1.1, <1.3,' integer-logarithms.cabal"; }) (doJailbreak super.integer-logarithms);
indexed-traversable = doJailbreak super.indexed-traversable;
indexed-traversable-instances = doJailbreak super.indexed-traversable-instances;
lifted-async = doJailbreak super.lifted-async;
lukko = doJailbreak super.lukko;
lzma-conduit = doJailbreak super.lzma-conduit;
parallel = doJailbreak super.parallel;
path = doJailbreak super.path;
polyparse = overrideCabal (drv: { postPatch = "sed -i -e 's, <0.11, <0.12,' polyparse.cabal"; }) (doJailbreak super.polyparse);
primitive = dontCheck (doJailbreak self.primitive_0_7_4_0);
regex-posix = doJailbreak super.regex-posix;
resolv = doJailbreak super.resolv;
singleton-bool = doJailbreak super.singleton-bool;
# 2022-09-02: Too strict bounds on lens
# https://github.com/GetShopTV/swagger2/pull/242
swagger2 = doctest_0_20_broken (dontCheck (doJailbreak super.swagger2));
base-orphans = dontCheck super.base-orphans;
# Note: Any compilation fixes need to be done on the versioned attributes,
# since those are used for the internal dependencies between the versioned
# hspec packages in configuration-common.nix.
hspec = self.hspec_2_10_6;
hspec-core = self.hspec-core_2_10_6;
hspec-meta = self.hspec-meta_2_10_5;
hspec-discover = self.hspec-discover_2_10_6;
# the dontHaddock is due to a GHC panic. might be this bug, not sure.
# https://gitlab.haskell.org/ghc/ghc/-/issues/21619
#
# We need >= 1.1.2 for ghc-9.4 support, but we don't have 1.1.x in
# hackage-packages.nix
hedgehog = doDistribute (dontHaddock super.hedgehog_1_2);
# does not work with hedgehog 1.2 yet:
# https://github.com/qfpl/tasty-hedgehog/pull/63
tasty-hedgehog = markBroken super.tasty-hedgehog;
# due to tasty-hedgehog
retry = checkAgainAfter super.tasty-hedgehog "1.3.0.0" "tasty-hedgehog broken" (dontCheck super.retry);
# https://github.com/dreixel/syb/issues/38
syb = dontCheck super.syb;
splitmix = doJailbreak super.splitmix;
th-desugar = self.th-desugar_1_14;
time-compat = doJailbreak super.time-compat;
tomland = doJailbreak super.tomland;
type-equality = doJailbreak super.type-equality;
unordered-containers = doJailbreak super.unordered-containers;
vector = dontCheck super.vector;
vector-binary-instances = doJailbreak super.vector-binary-instances;
# fixed in 1.16.x but it's not in hackage-packages yet.
rebase = jailbreakForCurrentVersion super.rebase "1.15.0.3";
rerebase = jailbreakForCurrentVersion super.rerebase "1.15.0.3";
hpack = overrideCabal (drv: {
# Cabal 3.6 seems to preserve comments when reading, which makes this test fail
# 2021-10-10: 9.2.1 is not yet supported (also no issue)
testFlags = [
"--skip=/Hpack/renderCabalFile/is inverse to readCabalFile/"
] ++ drv.testFlags or [];
}) (doJailbreak super.hpack);
# lens >= 5.1 supports 9.2.1
lens = doDistribute self.lens_5_2;
# Apply patches from head.hackage.
language-haskell-extract = appendPatch (pkgs.fetchpatch {
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/dfd024c9a336c752288ec35879017a43bd7e85a0/patches/language-haskell-extract-0.2.4.patch";
sha256 = "0w4y3v69nd3yafpml4gr23l94bdhbmx8xky48a59lckmz5x9fgxv";
}) (doJailbreak super.language-haskell-extract);
# Tests depend on `parseTime` which is no longer available
hourglass = dontCheck super.hourglass;
memory = super.memory_0_18_0;
# https://github.com/sjakobi/bsb-http-chunked/issues/38
bsb-http-chunked = dontCheck super.bsb-http-chunked;
# need bytestring >= 0.11 which is only bundled with GHC >= 9.2
regex-rure = doDistribute (markUnbroken super.regex-rure);
jacinda = doDistribute super.jacinda;
some = doJailbreak super.some;
# 1.3 introduced support for GHC 9.2.x, so when this assert fails, the jailbreak can be removed
hashtables = assert super.hashtables.version == "1.2.4.2"; doJailbreak super.hashtables;
# 2022-08-01: Tests are broken on ghc 9.2.4: https://github.com/wz1000/HieDb/issues/46
hiedb = dontCheck super.hiedb;
}

View file

@ -450,6 +450,7 @@ broken-packages:
- bottom
- boundingboxes
- bowntz
- box
- bpath
- BPS
- braid
@ -3906,6 +3907,7 @@ broken-packages:
- platinum-parsing
- PlayingCards
- playlists
- plex
- plist
- plist-buddy
- plivo
@ -4220,7 +4222,6 @@ broken-packages:
- reanimate-svg
- reasonable-lens
- reason-export
- rec-def
- record
- record-encode
- record-impl
@ -4429,7 +4430,6 @@ broken-packages:
- sandman
- sarasvati
- sat
- satchmo
- Saturnin
- satyros
- savage
@ -4656,7 +4656,6 @@ broken-packages:
- singnal
- singular-factory
- sink
- sint
- sitepipe
- sixfiguregroup
- sized-grid
@ -5033,6 +5032,7 @@ broken-packages:
- tasty-mgolden
- tasty-stats
- tasty-test-vector
- TastyTLT
- TBC
- TBit
- tcache-AWS
@ -5180,6 +5180,7 @@ broken-packages:
- time-w3c
- timezone-detect
- tintin
- tinyid
- TinyLaunchbury
- tiny-scheduler
- tinytemplate
@ -5567,7 +5568,6 @@ broken-packages:
- web3-ipfs
- webapi
- webapp
- webauthn
- WebBits
- webcloud
- webcrank

View file

@ -324,6 +324,7 @@ package-maintainers:
- leb128-cereal
- tasty-expected-failure
- lhs2tex
- rec-def
pacien:
- ldgallery-compiler
peti:

View file

@ -822,6 +822,8 @@ dont-distribute-packages:
- boots-cloud
- boots-web
- borel
- box-csv
- box-socket
- breakout
- bricks
- bricks-internal-test
@ -1168,7 +1170,6 @@ dont-distribute-packages:
- dep-t-advice
- dep-t-dynamic
- dep-t-value
- dependent-literals
- dependent-literals-plugin
- dependent-state
- depends
@ -1372,6 +1373,7 @@ dont-distribute-packages:
- fallingblocks
- family-tree
- fast-bech32
- fastcdc
- fastirc
- fastly
- fastparser
@ -1414,7 +1416,6 @@ dont-distribute-packages:
- filepath-io-access
- filesystem-abstractions
- filesystem-enumerator
- fin-int
- find-clumpiness
- findhttp
- finitary-derive
@ -1504,6 +1505,7 @@ dont-distribute-packages:
- gbu
- gdax
- gdiff-ig
- gearhash
- gedcom
- geek
- geek-server
@ -2926,7 +2928,6 @@ dont-distribute-packages:
- peparser
- perdure
- perf-analysis
- perf_0_10_0
- perfecthash
- periodic-client
- periodic-client-exe
@ -3029,6 +3030,7 @@ dont-distribute-packages:
- pred-trie
- prednote-test
- prefork
- prelate
- presto-hdbc
- preview
- primal-memory
@ -3255,6 +3257,10 @@ dont-distribute-packages:
- rfc-redis
- rfc-servant
- rhythm-game-tutorial
- ribosome
- ribosome-app
- ribosome-host
- ribosome-host-test
- ribosome-root
- ridley-extras
- rio-process-pool
@ -3322,10 +3328,7 @@ dont-distribute-packages:
- sarsi
- sasl
- sat-micro-hs
- satchmo-backends
- satchmo-examples
- satchmo-funsat
- satchmo-minisat
- satchmo-toysat
- sauron
- sc2-lowlevel

File diff suppressed because it is too large Load diff

View file

@ -53,6 +53,7 @@ let
ghc8107
ghc902
ghc924
ghc942
];
# packagePlatforms applied to `haskell.packages.*`
@ -354,12 +355,26 @@ let
# working as expected.
cabal-install = released;
Cabal_3_6_3_0 = released;
Cabal_3_8_1_0 = released;
cabal2nix = released;
cabal2nix-unstable = released;
funcmp = released;
haskell-language-server = released;
haskell-language-server = [
compilerNames.ghc884
compilerNames.ghc8107
compilerNames.ghc902
compilerNames.ghc924
# https://github.com/haskell/haskell-language-server/issues/3190
];
hoogle = released;
hlint = released;
hlint = [
compilerNames.ghc884
compilerNames.ghc8107
compilerNames.ghc902
compilerNames.ghc924
# https://github.com/ndmitchell/hlint/issues/1413
];
hpack = released;
hsdns = released;
jailbreak-cabal = released;
language-nix = released;