Merge pull request #67635 from NixOS/haskell-updates

LTS Haskell 14.3, cabal-install 3.0.0.0, ghc-8.8.1 fixes
This commit is contained in:
Peter Simons 2019-08-28 18:04:18 +02:00 committed by GitHub
commit 47391ab53b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 1172 additions and 500 deletions

View file

@ -32,9 +32,6 @@ self: super: {
# compiled on Linux. We provide the name to avoid evaluation errors. # compiled on Linux. We provide the name to avoid evaluation errors.
unbuildable = throw "package depends on meta package 'unbuildable'"; unbuildable = throw "package depends on meta package 'unbuildable'";
# Use the latest version of the Cabal library.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_2_4_1_0; });
# The test suite depends on old versions of tasty and QuickCheck. # The test suite depends on old versions of tasty and QuickCheck.
hackage-security = dontCheck super.hackage-security; hackage-security = dontCheck super.hackage-security;
@ -1008,6 +1005,7 @@ self: super: {
# https://github.com/haskell-hvr/resolv/issues/1 # https://github.com/haskell-hvr/resolv/issues/1
resolv = dontCheck super.resolv; resolv = dontCheck super.resolv;
resolv_0_1_1_2 = dontCheck super.resolv_0_1_1_2;
# spdx 0.2.2.0 needs older tasty # spdx 0.2.2.0 needs older tasty
# was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56) # was fixed in spdx master (4288df6e4b7840eb94d825dcd446b42fef25ef56)
@ -1059,9 +1057,11 @@ self: super: {
dontCheck super.dhall dontCheck super.dhall
); );
# Missing test files in source distribution, fixed once 1.4.0 is bumped
# https://github.com/dhall-lang/dhall-haskell/pull/997
dhall-json = dhall-json =
generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] ( generateOptparseApplicativeCompletions ["dhall-to-json" "dhall-to-yaml"] (
super.dhall-json dontCheck super.dhall-json
); );
dhall-nix = dhall-nix =

View file

@ -40,6 +40,9 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Needs Cabal 3.0.x.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
# Restricts aeson to <1.4 # Restricts aeson to <1.4
# https://github.com/purescript/purescript/pull/3537 # https://github.com/purescript/purescript/pull/3537
purescript = doJailbreak super.purescript; purescript = doJailbreak super.purescript;
@ -76,4 +79,7 @@ self: super: {
aeson = addBuildDepend super.aeson self.contravariant; aeson = addBuildDepend super.aeson self.contravariant;
base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant; base-compat-batteries = addBuildDepend super.base-compat-batteries self.contravariant;
# Newer versions don't compile.
resolv = self.resolv_0_1_1_2;
} }

View file

@ -41,6 +41,9 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Needs Cabal 3.0.x.
cabal-install = super.cabal-install.overrideScope (self: super: { Cabal = self.Cabal_3_0_0_0; });
# https://github.com/tibbe/unordered-containers/issues/214 # https://github.com/tibbe/unordered-containers/issues/214
unordered-containers = dontCheck super.unordered-containers; unordered-containers = dontCheck super.unordered-containers;
@ -88,4 +91,7 @@ self: super: {
version = "0.8.6.0-pre-release"; version = "0.8.6.0-pre-release";
}; };
# Newer versions don't compile.
resolv = self.resolv_0_1_1_2;
} }

View file

@ -41,18 +41,16 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Use the cabal-install 3.0.0.0 beta release.
cabal-install = self.cabal-install-3;
Cabal_3_0_0_0 = null; # Our compiler has this already.
# Ignore overly restrictive upper version bounds. # Ignore overly restrictive upper version bounds.
async = doJailbreak super.async; async = doJailbreak super.async;
cabal-install = doJailbreak super.cabal-install;
ChasingBottoms = doJailbreak super.ChasingBottoms; ChasingBottoms = doJailbreak super.ChasingBottoms;
cryptohash-sha256 = doJailbreak super.cryptohash-sha256; cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
Diff = dontCheck super.Diff; Diff = dontCheck super.Diff;
doctest = doJailbreak super.doctest; doctest = doJailbreak super.doctest;
hashable = doJailbreak super.hashable; hashable = doJailbreak super.hashable;
hashable-time = doJailbreak super.hashable-time; hashable-time = doJailbreak super.hashable-time;
hledger-lib = doJailbreak super.hledger-lib; # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
integer-logarithms = doJailbreak super.integer-logarithms; integer-logarithms = doJailbreak super.integer-logarithms;
lucid = doJailbreak super.lucid; lucid = doJailbreak super.lucid;
parallel = doJailbreak super.parallel; parallel = doJailbreak super.parallel;
@ -62,7 +60,6 @@ self: super: {
tasty-expected-failure = doJailbreak super.tasty-expected-failure; tasty-expected-failure = doJailbreak super.tasty-expected-failure;
test-framework = doJailbreak super.test-framework; test-framework = doJailbreak super.test-framework;
th-lift = self.th-lift_0_8_0_1; th-lift = self.th-lift_0_8_0_1;
hledger-lib = doJailbreak super.hledger-lib; # base >=4.8 && <4.13, easytest >=0.2.1 && <0.3
# These packages don't work and need patching and/or an update. # These packages don't work and need patching and/or an update.
primitive = overrideSrc (doJailbreak super.primitive) { primitive = overrideSrc (doJailbreak super.primitive) {
@ -85,18 +82,6 @@ self: super: {
sed -i -e 's/time < 1.9/time < 2/' tar.cabal sed -i -e 's/time < 1.9/time < 2/' tar.cabal
''; '';
}); });
resolv = overrideCabal (overrideSrc super.resolv {
version = "20180411-git";
src = pkgs.fetchFromGitHub {
owner = "haskell-hvr";
repo = "resolv";
rev = "a22f9dd900cb276b3dd70f4781fb436d617e2186";
sha256 = "1j2jyywmxjhyk46kxff625yvg5y37knv7q6y0qkwiqdwdsppccdk";
};
}) (drv: {
buildTools = with pkgs; [autoconf];
preConfigure = "autoreconf --install";
});
dlist = appendPatch (doJailbreak super.dlist) (pkgs.fetchpatch { dlist = appendPatch (doJailbreak super.dlist) (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/dlist-0.8.0.6.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/dlist-0.8.0.6.patch";
sha256 = "0lkhibfxfk6mi796mrjgmbb50hbyjgc7xdinci64dahj8325jlpc"; sha256 = "0lkhibfxfk6mi796mrjgmbb50hbyjgc7xdinci64dahj8325jlpc";
@ -109,13 +94,11 @@ self: super: {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/cabal-doctest-1.0.6.patch";
sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j"; sha256 = "0735mkxhv557pgnfvdjakkw9r85l5gy28grdwg929m26ghbf9s8j";
}); });
QuickCheck = appendPatch super.QuickCheck (pkgs.fetchpatch { regex-base = overrideCabal (appendPatch super.regex-base (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/QuickCheck-2.13.1.patch";
sha256 = "138yrp3x5cnvncimrnhnkawz6clyk7fj3sr3y93l5szfr11kcvbl";
});
regex-base = appendPatch super.regex-base (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-base-0.93.2.patch";
sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1"; sha256 = "01d1plrdx6hcspwn2h6y9pyi5366qk926vb5cl5qcl6x4m23l6y1";
})) (drv: {
preConfigure = "sed -i -e 's/base >=4 && < 4.13,/base,/' regex-base.cabal";
}); });
regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch { regex-posix = appendPatch super.regex-posix (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/regex-posix-0.95.2.patch";
@ -137,10 +120,6 @@ self: super: {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/optparse-applicative-0.14.3.0.patch";
sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y"; sha256 = "068sjj98jqiq3h8h03mg4w2pa11q8lxkx2i4lmxivq77xyhlwq3y";
}); });
HTTP = appendPatch (doJailbreak super.HTTP) (pkgs.fetchpatch {
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/HTTP-4000.3.13.patch";
sha256 = "1fadi529x7dnmbfmls5969qfn9d4z954nc4lbqxmrwgirphkpmn4";
});
hackage-security = appendPatch (doJailbreak super.hackage-security) (pkgs.fetchpatch { 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"; url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/hackage-security-0.5.3.0.patch";
sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4"; sha256 = "0l8x0pbsn18fj5ak5q0g5rva4xw1s9yc4d86a1pfyaz467b9i5a4";

View file

@ -43,7 +43,7 @@ core-packages:
- ghcjs-base-0 - ghcjs-base-0
default-package-overrides: default-package-overrides:
# LTS Haskell 14.2 # LTS Haskell 14.3
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-deque-tests ==0.3 - abstract-deque-tests ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
@ -70,7 +70,7 @@ default-package-overrides:
- aeson-utils ==0.3.0.2 - aeson-utils ==0.3.0.2
- aeson-yak ==0.1.1.3 - aeson-yak ==0.1.1.3
- al ==0.1.4.2 - al ==0.1.4.2
- alarmclock ==0.7.0.1 - alarmclock ==0.7.0.2
- alerts ==0.1.2.0 - alerts ==0.1.2.0
- alex ==3.2.4 - alex ==3.2.4
- alg ==0.2.10.0 - alg ==0.2.10.0
@ -91,7 +91,7 @@ default-package-overrides:
- ANum ==0.2.0.2 - ANum ==0.2.0.2
- aos-signature ==0.1.1 - aos-signature ==0.1.1
- apecs ==0.8.1 - apecs ==0.8.1
- apecs-gloss ==0.2.2 - apecs-gloss ==0.2.3
- apecs-physics ==0.4.2 - apecs-physics ==0.4.2
- api-field-json-th ==0.1.0.2 - api-field-json-th ==0.1.0.2
- appar ==0.1.8 - appar ==0.1.8
@ -144,7 +144,7 @@ default-package-overrides:
- aws-cloudfront-signed-cookies ==0.2.0.1 - aws-cloudfront-signed-cookies ==0.2.0.1
- aws-lambda-haskell-runtime ==2.0.1 - aws-lambda-haskell-runtime ==2.0.1
- backprop ==0.2.6.3 - backprop ==0.2.6.3
- bank-holidays-england ==0.2.0.1 - bank-holidays-england ==0.2.0.2
- barbies ==1.1.3.0 - barbies ==1.1.3.0
- barrier ==0.1.1 - barrier ==0.1.1
- base16-bytestring ==0.1.1.6 - base16-bytestring ==0.1.1.6
@ -639,7 +639,7 @@ default-package-overrides:
- explicit-exception ==0.1.10 - explicit-exception ==0.1.10
- exp-pairs ==0.2.0.0 - exp-pairs ==0.2.0.0
- extensible-exceptions ==0.1.1.4 - extensible-exceptions ==0.1.1.4
- extra ==1.6.17 - extra ==1.6.18
- extractable-singleton ==0.0.1 - extractable-singleton ==0.0.1
- extrapolate ==0.3.3 - extrapolate ==0.3.3
- fail ==4.9.0.0 - fail ==4.9.0.0
@ -774,7 +774,7 @@ default-package-overrides:
- ghc-lib ==8.8.0.20190424 - ghc-lib ==8.8.0.20190424
- ghc-lib-parser ==8.8.0.20190424 - ghc-lib-parser ==8.8.0.20190424
- ghc-parser ==0.2.0.3 - ghc-parser ==0.2.0.3
- ghc-paths ==0.1.0.9 - ghc-paths ==0.1.0.12
- ghc-prof ==1.4.1.5 - ghc-prof ==1.4.1.5
- ghc-syntax-highlighter ==0.0.4.0 - ghc-syntax-highlighter ==0.0.4.0
- ghc-tcplugins-extra ==0.3 - ghc-tcplugins-extra ==0.3
@ -963,7 +963,7 @@ default-package-overrides:
- hsinstall ==2.2 - hsinstall ==2.2
- HSlippyMap ==3.0.1 - HSlippyMap ==3.0.1
- hslogger ==1.2.12 - hslogger ==1.2.12
- hslua ==1.0.3.1 - hslua ==1.0.3.2
- hslua-aeson ==1.0.0 - hslua-aeson ==1.0.0
- hslua-module-system ==0.2.1 - hslua-module-system ==0.2.1
- hslua-module-text ==0.2.1 - hslua-module-text ==0.2.1
@ -1258,7 +1258,7 @@ default-package-overrides:
- loopbreaker ==0.1.1.0 - loopbreaker ==0.1.1.0
- lrucache ==1.2.0.1 - lrucache ==1.2.0.1
- lrucaching ==0.3.3 - lrucaching ==0.3.3
- lsp-test ==0.6.0.0 - lsp-test ==0.6.1.0
- lucid ==2.9.11 - lucid ==2.9.11
- lucid-extras ==0.2.2 - lucid-extras ==0.2.2
- lxd-client-config ==0.1.0.1 - lxd-client-config ==0.1.0.1
@ -1415,6 +1415,7 @@ default-package-overrides:
- netlib-comfort-array ==0.0.0.1 - netlib-comfort-array ==0.0.0.1
- netlib-ffi ==0.1.1 - netlib-ffi ==0.1.1
- netpbm ==1.0.3 - netpbm ==1.0.3
- netrc ==0.2.0.0
- nettle ==0.3.0 - nettle ==0.3.0
- netwire ==5.0.3 - netwire ==5.0.3
- netwire-input ==0.0.7 - netwire-input ==0.0.7
@ -1510,7 +1511,7 @@ default-package-overrides:
- pandoc-csv2table ==1.0.7 - pandoc-csv2table ==1.0.7
- pandoc-markdown-ghci-filter ==0.1.0.0 - pandoc-markdown-ghci-filter ==0.1.0.0
- pandoc-pyplot ==2.1.5.1 - pandoc-pyplot ==2.1.5.1
- pandoc-types ==1.17.5.4 - pandoc-types ==1.17.6
- pantry ==0.1.1.1 - pantry ==0.1.1.1
- parallel ==3.2.2.0 - parallel ==3.2.2.0
- parallel-io ==0.3.3 - parallel-io ==0.3.3
@ -1808,9 +1809,9 @@ default-package-overrides:
- safe-json ==0.1.0 - safe-json ==0.1.0
- safe-money ==0.9 - safe-money ==0.9
- SafeSemaphore ==0.10.1 - SafeSemaphore ==0.10.1
- salak ==0.3.4.1 - salak ==0.3.5.1
- salak-toml ==0.3.4.1 - salak-toml ==0.3.5.1
- salak-yaml ==0.3.4.1 - salak-yaml ==0.3.5.1
- saltine ==0.1.0.2 - saltine ==0.1.0.2
- salve ==1.0.6 - salve ==1.0.6
- sample-frame ==0.0.3 - sample-frame ==0.0.3
@ -1824,7 +1825,7 @@ default-package-overrides:
- scalpel-core ==0.6.0 - scalpel-core ==0.6.0
- scanf ==0.1.0.0 - scanf ==0.1.0.0
- scanner ==0.3 - scanner ==0.3
- scheduler ==1.4.1 - scheduler ==1.4.2
- scientific ==0.3.6.2 - scientific ==0.3.6.2
- scotty ==0.11.4 - scotty ==0.11.4
- scrypt ==0.5.0 - scrypt ==0.5.0
@ -1957,6 +1958,7 @@ default-package-overrides:
- sox ==0.2.3.1 - sox ==0.2.3.1
- soxlib ==0.0.3.1 - soxlib ==0.0.3.1
- sparse-linear-algebra ==0.3.1 - sparse-linear-algebra ==0.3.1
- sparse-tensor ==0.2.1
- spatial-math ==0.5.0.1 - spatial-math ==0.5.0.1
- special-values ==0.1.0.0 - special-values ==0.1.0.0
- speculate ==0.3.5 - speculate ==0.3.5
@ -2418,7 +2420,7 @@ default-package-overrides:
- xmonad-extras ==0.15.1 - xmonad-extras ==0.15.1
- xss-sanitize ==0.3.6 - xss-sanitize ==0.3.6
- xxhash-ffi ==0.2.0.0 - xxhash-ffi ==0.2.0.0
- yaml ==0.11.1.0 - yaml ==0.11.1.1
- yeshql ==4.1.0.1 - yeshql ==4.1.0.1
- yeshql-core ==4.1.0.2 - yeshql-core ==4.1.0.2
- yeshql-hdbc ==4.1.0.2 - yeshql-hdbc ==4.1.0.2
@ -2484,6 +2486,7 @@ extra-packages:
- dbus <1 # for xmonad-0.26 - dbus <1 # for xmonad-0.26
- deepseq == 1.3.0.1 # required to build Cabal with GHC 6.12.3 - deepseq == 1.3.0.1 # required to build Cabal with GHC 6.12.3
- generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x - generic-deriving == 1.10.5.* # new versions don't compile with GHC 7.10.x
- ghc-lib-parser == 8.8.0.20190723 # required by hlint-2.2.2
- gloss < 1.9.3 # new versions don't compile with GHC 7.8.x - gloss < 1.9.3 # new versions don't compile with GHC 7.8.x
- haddock < 2.17 # required on GHC 7.10.x - haddock < 2.17 # required on GHC 7.10.x
- haddock == 2.17.* # required on GHC 8.0.x - haddock == 2.17.* # required on GHC 8.0.x
@ -2516,6 +2519,7 @@ extra-packages:
- proto-lens-protobuf-types == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x - proto-lens-protobuf-types == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
- proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x - proto-lens-protoc == 0.2.* # required for tensorflow-proto-0.1.x on GHC 8.2.x
- QuickCheck < 2 # required by test-framework-quickcheck and its users - QuickCheck < 2 # required by test-framework-quickcheck and its users
- resolv == 0.1.1.2 # required to build cabal-install-3.0.0.0 with pre ghc-8.8.x
- resourcet ==1.1.* # pre-lts-11.x versions neeed by git-annex 6.20180227 - resourcet ==1.1.* # pre-lts-11.x versions neeed by git-annex 6.20180227
- seqid < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x - seqid < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
- seqid-streams < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x - seqid-streams < 0.2 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
@ -3461,6 +3465,8 @@ broken-packages:
- boombox - boombox
- boomslang - boomslang
- boots-app - boots-app
- boots-cloud
- boots-web
- borel - borel
- boring-window-switcher - boring-window-switcher
- bot - bot
@ -3522,6 +3528,7 @@ broken-packages:
- bv-sized - bv-sized
- bytable - bytable
- byteslice - byteslice
- bytesmith
- bytestring-builder-varword - bytestring-builder-varword
- bytestring-class - bytestring-class
- bytestring-csv - bytestring-csv
@ -4280,7 +4287,6 @@ broken-packages:
- dgim - dgim
- dgs - dgs
- dhall-check - dhall-check
- dhall-json
- dhall-lsp-server - dhall-lsp-server
- dhall-nix - dhall-nix
- dhall-to-cabal - dhall-to-cabal
@ -7615,6 +7621,7 @@ broken-packages:
- notcpp - notcpp
- notmuch-haskell - notmuch-haskell
- notmuch-web - notmuch-web
- now-haskell
- np-linear - np-linear
- nptools - nptools
- ntha - ntha

File diff suppressed because it is too large Load diff

View file

@ -13,43 +13,4 @@ self: super: {
# https://github.com/channable/vaultenv/issues/1 # https://github.com/channable/vaultenv/issues/1
vaultenv = self.callPackage ../tools/haskell/vaultenv { }; vaultenv = self.callPackage ../tools/haskell/vaultenv { };
cabal-install-3 = (self.callPackage
({ mkDerivation, array, async, base, base16-bytestring, binary
, bytestring, Cabal, containers, cryptohash-sha256, deepseq
, directory, echo, edit-distance, filepath, hackage-security
, hashable, HTTP, mtl, network, network-uri, parsec, pretty
, process, random, resolv, stdenv, stm, tar, text, time, unix, zlib
, fetchFromGitHub
}:
mkDerivation {
pname = "cabal-install";
version = "3.0.0.0";
src = fetchFromGitHub {
owner = "haskell";
repo = "cabal";
rev = "b0e52fa173573705e861b129d9675e59de891e46";
sha256 = "1fbph6crsn9ji8ps1k8dsxvgqn38rp4ffvv6nia1y7rbrdv90ass";
};
postUnpack = "sourceRoot+=/cabal-install";
isLibrary = false;
isExecutable = true;
setupHaskellDepends = [ base Cabal filepath process ];
executableHaskellDepends = [
array async base base16-bytestring binary bytestring Cabal
containers cryptohash-sha256 deepseq directory echo edit-distance
filepath hackage-security hashable HTTP mtl network network-uri
parsec pretty process random resolv stm tar text time unix zlib
];
doCheck = false;
postInstall = ''
mkdir $out/etc
mv bash-completion $out/etc/bash_completion.d
'';
homepage = "http://www.haskell.org/cabal/";
description = "The command-line interface for Cabal and Hackage";
license = stdenv.lib.licenses.bsd3;
}) {}).overrideScope (self: super: {
Cabal = self.Cabal_3_0_0_0;
});
} }