Skip to content

Commit

Permalink
Merge pull request #83963 from NixOS/haskell-updates
Browse files Browse the repository at this point in the history
Update Haskell package set to LTS 15.6 (plus other fixes)
  • Loading branch information
peti authored Apr 3, 2020
2 parents 1d7a795 + 65fa7ed commit 9242acf
Show file tree
Hide file tree
Showing 10 changed files with 1,447 additions and 1,661 deletions.
4 changes: 2 additions & 2 deletions pkgs/data/misc/hackage/default.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{ fetchurl }:

fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e0bc864e0b6edb5e5ce1ec4bfa763a442b343bf5.tar.gz";
sha256 = "1lmjxam58srrv9cjqajqz4bishx8hy99db3cx83i95qb3qiiiz6m";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/90b24a91103dca4f0df6cb28cecb205a7d7ab650.tar.gz";
sha256 = "1zfj8c6s9icqg83ycfvd150s4jd07ccbjg2w2mn10rx5ng76mn53";
}
32 changes: 23 additions & 9 deletions pkgs/development/haskell-modules/configuration-common.nix
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,6 @@ self: super: {
# compiled on Linux. We provide the name to avoid evaluation errors.
unbuildable = throw "package depends on meta package 'unbuildable'";

# The test suite depends on old versions of tasty and QuickCheck.
hackage-security = dontCheck super.hackage-security;

# enable using a local hoogle with extra packagages in the database
# nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
# $ hoogle server
Expand Down Expand Up @@ -86,7 +83,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "0y2qcjahi705c6nnypqpa5w3bzyzk4kqvbwfnpiaxzk5vna589gg";
sha256 = "1jjw6ar8ddcncwzksyx2xky50sm2jg1zjr7iiqk0vn8qq0fn2gwy";
};
}).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
Expand Down Expand Up @@ -326,6 +323,7 @@ self: super: {
hs2048 = dontCheck super.hs2048;
hsbencher = dontCheck super.hsbencher;
hsexif = dontCheck super.hsexif;
hspec-core = if pkgs.stdenv.isi686 then dontCheck super.hspec-core else super.hspec-core; # tests rely on `Int` being 64-bit; https://github.com/hspec/hspec/issues/431
hspec-server = dontCheck super.hspec-server;
HTF = dontCheck super.HTF;
htsn = dontCheck super.htsn;
Expand Down Expand Up @@ -359,7 +357,6 @@ self: super: {
optional = dontCheck super.optional;
orgmode-parse = dontCheck super.orgmode-parse;
os-release = dontCheck super.os-release;
pandoc-crossref = dontCheck super.pandoc-crossref; # (most likely change when no longer 0.3.2.1) https://github.com/lierdakil/pandoc-crossref/issues/199
persistent-redis = dontCheck super.persistent-redis;
pipes-extra = dontCheck super.pipes-extra;
pipes-websockets = dontCheck super.pipes-websockets;
Expand Down Expand Up @@ -1192,10 +1189,10 @@ self: super: {
});

# Remove unecessary constraint:
# https://github.com/agrafix/superbuffer/pull/2
superbuffer = overrideCabal super.superbuffer (drv: {
# https://github.com/haskell-infra/hackage-trustees/issues/258
data-accessor-template = overrideCabal super.data-accessor-template (drv: {
postPatch = ''
sed -i 's#QuickCheck < 2.10#QuickCheck < 2.13#' superbuffer.cabal
sed -i 's#template-haskell >=2.11 && <2.15#template-haskell#' data-accessor-template.cabal
'';
});

Expand Down Expand Up @@ -1344,7 +1341,7 @@ self: super: {
});

# cabal-fmt requires Cabal3
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_0_0_0; };
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_2_0_0; };

# Several gtk2hs-provided packages at v0.13.8.0 fail to build on Darwin
# until we pick up https://github.com/gtk2hs/gtk2hs/pull/293 so apply that
Expand Down Expand Up @@ -1463,6 +1460,11 @@ 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;
});

persistent-mysql = dontCheck super.persistent-mysql;

# Fix EdisonAPI and EdisonCore for GHC 8.8:
Expand All @@ -1488,4 +1490,16 @@ self: super: {
# 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 = 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;
};

# Fixed at head, but hasn't cut a release in awhile.
darcs = doJailbreak super.darcs;

} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ self: super: {
text = self.text_1_2_4_0;

# Needs Cabal 3.0.x.
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_2_0_0; };

# https://github.com/bmillwood/applicative-quoters/issues/6
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
Expand Down
6 changes: 3 additions & 3 deletions pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ self: super: {
unix = null;
xhtml = null;

# Needs Cabal 3.0.x.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
# Needs Cabal 3.2.x.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_2_0_0; };

# Restricts aeson to <1.4
# https://github.com/purescript/purescript/pull/3537
Expand Down
10 changes: 4 additions & 6 deletions pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ self: super: {
xhtml = null;

# Needs Cabal 3.0.x.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_0_0_0; };
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_2_0_0; };

# https://github.com/tibbe/unordered-containers/issues/214
unordered-containers = dontCheck super.unordered-containers;
Expand Down Expand Up @@ -76,12 +76,10 @@ self: super: {

# 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_0_0_0;
});
cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });

# cabal2spec needs a recent version of Cabal
cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
cabal2spec = super.cabal2spec.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });

# Builds only with ghc-8.8.x and beyond.
policeman = markBroken super.policeman;
Expand Down
11 changes: 4 additions & 7 deletions pkgs/development/haskell-modules/configuration-ghc-8.8.x.nix
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,13 @@ self: super: {
unix = null;
xhtml = null;

# These builds need Cabal 3.2.x.
cabal2spec = super.cabal2spec.override { Cabal = self.Cabal_3_2_0_0; };
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });

# Ignore overly restrictive upper version bounds.
aeson-diff = doJailbreak super.aeson-diff;
async = doJailbreak super.async;
cabal-install = doJailbreak super.cabal-install;
ChasingBottoms = doJailbreak super.ChasingBottoms;
chell = doJailbreak super.chell;
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
Expand Down Expand Up @@ -72,12 +75,6 @@ self: super: {
time-compat = doJailbreak super.time-compat;
http-media = doJailbreak super.http-media;
servant-server = doJailbreak super.servant-server;

# These packages don't work and need patching and/or an update.
hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";
});
foundation = dontCheck super.foundation;
vault = dontHaddock super.vault;

Expand Down
Loading

0 comments on commit 9242acf

Please sign in to comment.