Merge pull request #90032 from NixOS/haskell-updates

Update Haskell package set to LTS 16.1 (plus other fixes)
This commit is contained in:
Peter Simons 2020-06-19 23:34:41 +02:00 committed by GitHub
commit a2e18d7f8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 2884 additions and 4298 deletions

View File

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e8df5568f80e6230e29c2381e842db35fe11cd71.tar.gz";
sha256 = "1fz4iax88pmlqpb4zp3l6mb6bmkzzha0q6mm3xasabh5yl83dbhy";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/65a280e01c4f90470959f0423a5450d2831f845a.tar.gz";
sha256 = "0m5zg7hswch702gprlfsjmp2xk6hs828c1489d1c85w9kxiyqkdq";
}

View File

@ -26,6 +26,12 @@ self: super: {
# successfully with recent versions of the compiler).
bin-package-db = null;
# waiting for release: https://github.com/jwiegley/c2hsc/issues/41
c2hsc = appendPatch super.c2hsc (pkgs.fetchpatch {
url = "https://github.com/jwiegley/c2hsc/commit/490ecab202e0de7fc995eedf744ad3cb408b53cc.patch";
sha256 = "1c7knpvxr7p8c159jkyk6w29653z5yzgjjqj11130bbb8mk9qhq7";
});
# Some Hackage packages reference this attribute, which exists only in the
# GHCJS package set. We provide a dummy version here to fix potential
# evaluation errors.
@ -346,7 +352,6 @@ self: super: {
pwstore-cli = dontCheck super.pwstore-cli;
quantities = dontCheck super.quantities;
redis-io = dontCheck super.redis-io;
reflex = dontCheck super.reflex; # test suite uses hlint, which has different haskell-src-exts version
rethinkdb = dontCheck super.rethinkdb;
Rlang-QQ = dontCheck super.Rlang-QQ;
safecopy = dontCheck super.safecopy;
@ -1027,6 +1032,7 @@ self: super: {
# 2020-06-04: HACK: dontCheck - The test suite attempts to use the network.
# Should be solved when: https://github.com/dhall-lang/dhall-haskell/issues/1837
dhall = generateOptparseApplicativeCompletion "dhall" (dontCheck super.dhall);
dhall_1_30_0 = dontCheck super.dhall_1_30_0;
dhall-json =
generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"]
@ -1045,8 +1051,7 @@ self: super: {
# Generate shell completion.
cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
stack = generateOptparseApplicativeCompletion "stack" (super.stack.overrideScope (self: super: { http-download = self.http-download_0_2_0_0; }));
http-download_0_2_0_0 = dontCheck super.http-download_0_2_0_0;
stack = generateOptparseApplicativeCompletion "stack" super.stack;
# musl fixes
# dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
@ -1115,8 +1120,12 @@ self: super: {
# });
libnix = dontCheck super.libnix;
# Jailbreak: https://github.com/jaor/xmobar/issues/463
# The test suite tries to mess with ALSA, which doesn't work in the build sandbox.
xmobar = dontCheck super.xmobar;
xmobar = appendPatch (dontCheck super.xmobar) (pkgs.fetchpatch {
url = "https://github.com/jaor/xmobar/pull/464.patch";
sha256 = "0y1dd878yzy1cx0cjj0ijd3dmywr7jdmk68vxdjimxzblrdw1al6";
});
# https://github.com/mgajda/json-autotype/issues/25
json-autotype = dontCheck super.json-autotype;
@ -1244,9 +1253,6 @@ self: super: {
];
});
# Needs the corresponding version of haskell-src-exts.
haskell-src-exts-simple = super.haskell-src-exts-simple.override { haskell-src-exts = self.haskell-src-exts_1_23_1; };
# https://github.com/Daniel-Diaz/HaTeX/issues/144
HaTeX = dontCheck super.HaTeX;
@ -1411,11 +1417,6 @@ self: super: {
# haskell-ci-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
haskell-ci = doJailbreak super.haskell-ci;
# Needs the latest version of vty.
matterhorn = super.matterhorn.overrideScope (self: super: {
vty = self.vty_5_28_2;
});
# Test suite requires database
persistent-mysql = dontCheck super.persistent-mysql;
persistent-postgresql = dontCheck super.persistent-postgresql;
@ -1440,16 +1441,11 @@ self: super: {
sha256 = "097wqn8hxsr50b9mhndg5pjim5jma2ym4ylpibakmmb5m98n17zp";
});
# Needs a version that's newer than LTS-15.x provides.
weeder = super.weeder.override { generic-lens = self.generic-lens_2_0_0_0; };
# polysemy-plugin 0.2.5.0 has constraint ghc-tcplugins-extra (==0.3.*)
# This upstream issue is relevant:
# https://github.com/polysemy-research/polysemy/issues/322
polysemy-plugin = super.polysemy-plugin.override {
# polysemy-plugin 0.2.5.0 has constraint ghc-tcplugins-extra (==0.3.*)
# This upstream issue is relevant:
# https://github.com/polysemy-research/polysemy/issues/322
ghc-tcplugins-extra = self.ghc-tcplugins-extra_0_3_2;
# version of Polysemy the plugin goes with
polysemy = self.polysemy_1_3_0_0;
};
# Test suite requires running a database server. Testing is done upstream.
@ -1465,38 +1461,9 @@ self: super: {
sha256 = "0xbfhzhzg94b4r5qy5dg1c40liswwpqarrc2chcwgfbfnrmwkfc2";
});
# Depends on selective >= 0.4, but the default of selective is 0.3
headed-megaparsec = super.headed-megaparsec.override {
selective = self.selective_0_4_1;
};
# Needed for ghcide
haskell-lsp_0_22_0_0 = super.haskell-lsp_0_22_0_0.override {
haskell-lsp-types = self.haskell-lsp-types_0_22_0_0;
};
# this will probably need to get updated with every ghcide update,
# we need an override because ghcide is tracking haskell-lsp closely.
ghcide = dontCheck (super.ghcide.override rec {
haskell-lsp-types = self.haskell-lsp-types_0_22_0_0;
haskell-lsp = self.haskell-lsp_0_22_0_0;
hie-bios = self.hie-bios_0_5_0;
ghc-check = self.ghc-check_0_3_0_1;
});
# stackage right now is not new enough for hlint-3.0
ghc-lib-parser-ex_8_10_0_13 = super.ghc-lib-parser-ex_8_10_0_13.override {
ghc-lib-parser = self.ghc-lib-parser_8_10_1_20200523;
};
hlint = super.hlint.override {
ghc-lib-parser = self.ghc-lib-parser_8_10_1_20200523;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_13;
extra = self.extra_1_7_3;
filepattern = self.filepattern.override {
extra = self.extra_1_7_3;
};
};
ghcide = dontCheck (super.ghcide.override { ghc-check = self.ghc-check_0_3_0_1; });
# hasnt bumped upper bounds
# upstream: https://github.com/obsidiansystems/which/pull/6
@ -1506,4 +1473,88 @@ self: super: {
# through $PATH but they aren't in $PATH
dhall-lsp-server = dontCheck super.dhall-lsp-server;
# https://github.com/ocharles/weeder/issues/15
weeder = doJailbreak super.weeder;
# Requested version bump on upstream https://github.com/obsidiansystems/constraints-extras/issues/32
constraints-extras = doJailbreak super.constraints-extras;
# Requested version bump on upstream https://github.com/srid/rib/issues/160
rib = doJailbreak (super.rib.override {
dhall = self.dhall_1_30_0;
});
# Necessary for neuron 0.4.0
neuron = super.neuron.override {
dhall = self.dhall_1_30_0;
};
# Necessary for stack
# x509-validation test suite hangs: upstream https://github.com/vincenthz/hs-certificate/issues/120
# tls test suite fails: upstream https://github.com/vincenthz/hs-tls/issues/434
x509-validation = dontCheck super.x509-validation;
tls = dontCheck super.tls;
# Upstream PR: https://github.com/bgamari/monoidal-containers/pull/62
# Bump these version bound
monoidal-containers = appendPatch super.monoidal-containers (pkgs.fetchpatch {
url = "https://github.com/bgamari/monoidal-containers/pull/62/commits/715093b22a015398a1390f636be6f39a0de83254.patch";
sha256="1lfxvwp8g55ljxvj50acsb0wjhrvp2hvir8y0j5pfjkd1kq628ng";
});
patch = appendPatches super.patch [
# Upstream PR: https://github.com/reflex-frp/patch/pull/20
# Makes tests work with hlint 3
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/patch/pull/20/commits/3ed23a4e4049ee17e64a1a5bbebf1990cdbe033a.patch";
sha256 ="1hfa980wln8kzbqw1lr8ddszgcibw25xf12ki2jb9xkl464aynzf";
})
# Upstream PR: https://github.com/reflex-frp/patch/pull/17
# Bumps version dependencies
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/patch/pull/17/commits/a191ed9ded708ed7ff0cf53ad6dafaf54db5b95a.patch";
sha256 ="1x9w5fimhk3a0l2aa5z91nqaa6s2irz1775iidd0191m6w25vszp";
})
];
reflex = appendPatches super.reflex [
# Upstream PR: https://github.com/reflex-frp/reflex/pull/434
# Bump version bounds
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/reflex/pull/434/commits/e6104bdfd7f664f524b6765275490722e376df4d.patch";
sha256 ="1awp5p4640cnhfd50dplsvp0kzy6h8r0hpbw1s40blni74r3dhzr";
})
# Upstream PR: https://github.com/reflex-frp/reflex/pull/436
# Fix build with newest dependent-map version
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/reflex/pull/436/commits/dc3bf44d822d70594e3c474fe3869261776c3554.patch";
sha256 ="0rbjfj9b8p6zkvd5j4pak5kpgard6cyfvzk750s4xwpc1v84iiqd";
})
# Upstream PR: https://github.com/reflex-frp/reflex/pull/437
# Fix tests with newer dep versions
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/reflex/pull/437/commits/87c74a1b9d9098eae8a56148c59ed4963a5232c2.patch";
sha256 ="0qhjjgd6n4fms1hpbblny78c95bfh74izhx9dvrdlnhz6q7xlm9q";
})
];
# Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
# Tests disabled because of very old dep: https://github.com/reflex-frp/reflex-dom/issues/393
reflex-dom-core = unmarkBroken (dontCheck (appendPatches super.reflex-dom-core [
# Upstream PR: https://github.com/reflex-frp/reflex-dom/pull/388
# Fix upper bounds
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/reflex-dom/pull/388/commits/5ef04d8e478f410d2c63603b84af052c9273a533.patch";
sha256 ="0d0b819yh8mqw8ih5asdi9qcca2kmggfsi8gf22akfw1n7xvmavi";
stripLen = 2;
extraPrefix = "";
})
# Upstream PR: https://github.com/reflex-frp/reflex-dom/pull/394
# Bump dependent-map
(pkgs.fetchpatch {
url = "https://github.com/reflex-frp/reflex-dom/pull/394/commits/695bd17d5dcdb1bf321ee8858670731637f651db.patch";
sha256 ="0llky3i37rakgsw9vqaqmwryv7s91w8ph8xjkh83nxjs14p5zfyk";
stripLen = 2;
extraPrefix = "";
})
]));
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -62,6 +62,7 @@ self: super: {
# Jailbreak to fix the build.
async = doJailbreak super.async;
base-noprelude = doJailbreak super.base-noprelude;
ChasingBottoms = doJailbreak super.ChasingBottoms;
ed25519 = doJailbreak super.ed25519;
email-validate = doJailbreak super.email-validate; # https://github.com/Porges/email-validate-hs/issues/51
@ -84,8 +85,6 @@ self: super: {
zlib = doJailbreak super.zlib;
# Use the latest version to fix the build.
dhall = self.dhall_1_32_0;
ghc-lib-parser-ex = self.ghc-lib-parser-ex_8_10_0_4;
lens = self.lens_4_19_2;
optics-core = self.optics-core_0_3;
repline = self.repline_0_3_0_0;
@ -97,7 +96,7 @@ self: super: {
# multiple verions of `ghc-lib-parser(-ex)` available, and the default ones
# are older ones, those older ones will complain. Because we have a newer
# GHC, we can just set the dependency to `null` as it is not used.
ghc-lib-parser-ex_8_10_0_4 = super.ghc-lib-parser-ex_8_10_0_4.override { ghc-lib-parser = null; };
ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = null; };
# Jailbreak to fix the build.
aeson-diff = doJailbreak super.aeson-diff;
@ -111,8 +110,6 @@ self: super: {
serialise = doJailbreak super.serialise;
setlocale = doJailbreak super.setlocale;
shellmet = doJailbreak super.shellmet;
weeder = doJailbreak super.weeder; # https://github.com/ocharles/weeder/issues/15
xmobar = doJailbreak super.xmobar;
# The shipped Setup.hs file is broken.
csv = overrideCabal super.csv (drv: { preCompileBuildDriver = "rm Setup.hs"; });

View File

@ -74,7 +74,6 @@ self: super: {
# TODO: remove when upstream accepts https://github.com/snapframework/io-streams-haproxy/pull/17
io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
snap-server = doJailbreak super.snap-server;
xmobar = doJailbreak super.xmobar;
exact-pi = doJailbreak super.exact-pi;
time-compat = doJailbreak super.time-compat;
http-media = doJailbreak super.http-media;

View File

@ -639,17 +639,14 @@ self: super: builtins.intersectAttrs super {
spago =
let
# Spago needs a small patch to work with the latest versions of rio.
# https://github.com/purescript/spago/pull/616
# This can probably be removed when a version after spago-0.15.1 is released.
# https://github.com/purescript/spago/pull/647
spagoWithPatches = appendPatch super.spago (pkgs.fetchpatch {
url = "https://github.com/purescript/spago/pull/616/commits/95b5fa0f1d3bfb07972d1ef5004b8bee8a070667.patch";
sha256 = "0v3890lwhddfrq9mhbq92962pkxra8kwbin97wg3s0b02dk65ysc";
url = "https://github.com/purescript/spago/pull/647/commits/917ee541a966db74f0f5d11f2f86df0030c35dd7.patch";
sha256 = "1nspqgcjk6z90cl9zhard0rn2q979kplcqz72x8xv5mh57zabk0w";
});
# Spago basically compiles with LTS-14, but it requires a newer version
# of directory. This is to work around a bug only present on windows, so
# we can safely jailbreak spago and use the older directory package from
# LTS-14.
# spago requires an older version of megaparsec, but it appears to work
# fine with newer versions.
spagoWithOverrides = doJailbreak spagoWithPatches;
# This defines the version of the purescript-docs-search release we are using.
@ -755,18 +752,6 @@ self: super: builtins.intersectAttrs super {
'';
});
postgresql-syntax = super.postgresql-syntax.override {
rerebase = self.rerebase_1_6_1;
};
rerebase_1_6_1 = super.rerebase_1_6_1.override {
rebase = self.rebase_1_6_1;
};
rebase_1_6_1 = super.rebase_1_6_1.override {
selective = super.selective_0_4_1;
};
# Fix compilation of Setup.hs by removing the module declaration.
# See: https://github.com/tippenein/guid/issues/1
guid = overrideCabal (super.guid) (drv: {
@ -777,4 +762,10 @@ self: super: builtins.intersectAttrs super {
# Tests disabled as recommended at https://github.com/luke-clifton/shh/issues/39
shh = dontCheck super.shh;
# The test suites fail because there's no PostgreSQL database running in our
# build sandbox.
hasql-queue = dontCheck super.hasql-queue;
postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify;
postgresql-pure = dontCheck super.postgresql-pure;
}

File diff suppressed because it is too large Load Diff

View File

@ -11,11 +11,11 @@
}:
mkDerivation {
pname = "spago";
version = "0.15.1";
version = "0.15.3";
src = fetchgit {
url = "https://github.com/purescript/spago.git";
sha256 = "09ypbm03ap8xfhq803ra3cc01dxcavckn7nis6hi80dk2xxlhc3d";
rev = "d5d206ff0f5c686f8b609fb4bc2e866959cc0144";
sha256 = "0spc7r531kmh9magaxzy4jls3bzfazwf8sq3qzk6f292d7ky6n8y";
rev = "da6d91c19b23f06f3ede793f78599a6589c9e7cd";
fetchSubmodules = true;
};
isLibrary = true;

View File

@ -15774,9 +15774,17 @@ in
hashi-ui = callPackage ../servers/hashi-ui {};
/* This package duplicates a lot of functionality from haskellPackages
instead of using the packages we maintain there. Now, a recent update to
haskellPackages causes these tools to fail evaluation, and I have been
unable to mark them as "broken" in a way that ofBorg bot recognizes. Since
I don't want to merge code into master that generates evaluation errors, I
have no other idea but to comment them out entirely.
inherit (callPackage ../servers/hasura { })
hasura-cli
hasura-graphql-engine;
*/
heapster = callPackage ../servers/monitoring/heapster { };