Merge pull request #107593 from NixOS/haskell-updates
Update Haskell package set to Stackage Nightly 2021-01-01 (plus other fixes)
This commit is contained in:
commit
4856e0d285
@ -6,6 +6,7 @@
|
|||||||
, bash
|
, bash
|
||||||
|
|
||||||
, libiconv ? null, ncurses
|
, libiconv ? null, ncurses
|
||||||
|
, glibcLocales ? null
|
||||||
|
|
||||||
, # GHC can be built with system libffi or a bundled one.
|
, # GHC can be built with system libffi or a bundled one.
|
||||||
libffi ? null
|
libffi ? null
|
||||||
@ -95,12 +96,12 @@ let
|
|||||||
|
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
version = "9.0.0.20200925";
|
version = "9.0.0.20201227";
|
||||||
name = "${targetPrefix}ghc-${version}";
|
name = "${targetPrefix}ghc-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://downloads.haskell.org/ghc/9.0.1-alpha1/ghc-${version}-src.tar.xz";
|
url = "https://downloads.haskell.org/ghc/9.0.1-rc1/ghc-${version}-src.tar.xz";
|
||||||
sha256 = "1c6vgic0bx0c4c6gszq7znvc5gxf0lgh630283mivbs1lyiqj88l";
|
sha256 = "1kg227fzg9qq2p7r8xqr99vvnx7ind4clxkydikyzf3vqvaacjfy";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
@ -109,6 +110,9 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
postPatch = "patchShebangs .";
|
postPatch = "patchShebangs .";
|
||||||
|
|
||||||
|
# GHC needs the locale configured during the Haddock phase.
|
||||||
|
LANG = "en_US.UTF-8";
|
||||||
|
|
||||||
# GHC is a bit confused on its cross terminology.
|
# GHC is a bit confused on its cross terminology.
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
|
||||||
@ -129,6 +133,8 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
echo -n "${buildMK}" > mk/build.mk
|
echo -n "${buildMK}" > mk/build.mk
|
||||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||||
|
'' + stdenv.lib.optionalString (stdenv.isLinux) ''
|
||||||
|
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
|
||||||
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||||
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
|
||||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
@ -185,7 +191,7 @@ stdenv.mkDerivation (rec {
|
|||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
|
|
||||||
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
# Don’t add -liconv to LDFLAGS automatically so that GHC will add it itself.
|
||||||
dontAddExtraLibs = true;
|
dontAddExtraLibs = true;
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
perl autoconf automake m4 python3 sphinx
|
perl autoconf automake m4 python3 sphinx
|
||||||
|
@ -64,7 +64,7 @@ self: super: {
|
|||||||
name = "git-annex-${super.git-annex.version}-src";
|
name = "git-annex-${super.git-annex.version}-src";
|
||||||
url = "git://git-annex.branchable.com/";
|
url = "git://git-annex.branchable.com/";
|
||||||
rev = "refs/tags/" + super.git-annex.version;
|
rev = "refs/tags/" + super.git-annex.version;
|
||||||
sha256 = "1l2syrslba4mrxjzj0iblflz72siw3ibqri6p5hf59fk7rmm30a8";
|
sha256 = "0w71kbz127fcli24sxsvd48l5xamwamjwhr18x9alam5cldqkkz1";
|
||||||
};
|
};
|
||||||
}).override {
|
}).override {
|
||||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||||
@ -130,7 +130,8 @@ self: super: {
|
|||||||
ABList = dontCheck super.ABList;
|
ABList = dontCheck super.ABList;
|
||||||
|
|
||||||
# sse2 flag due to https://github.com/haskell/vector/issues/47.
|
# sse2 flag due to https://github.com/haskell/vector/issues/47.
|
||||||
vector = if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector;
|
# Jailbreak is necessary for QuickCheck dependency.
|
||||||
|
vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag super.vector "--ghc-options=-msse2" else super.vector);
|
||||||
|
|
||||||
conduit-extra = if pkgs.stdenv.isDarwin
|
conduit-extra = if pkgs.stdenv.isDarwin
|
||||||
then super.conduit-extra.overrideAttrs (drv: { __darwinAllowLocalNetworking = true; })
|
then super.conduit-extra.overrideAttrs (drv: { __darwinAllowLocalNetworking = true; })
|
||||||
@ -216,11 +217,7 @@ self: super: {
|
|||||||
# building of the executable has been disabled for ghc < 8.10 in hnix.
|
# building of the executable has been disabled for ghc < 8.10 in hnix.
|
||||||
# Generating the completions should be activated again, once we default to
|
# Generating the completions should be activated again, once we default to
|
||||||
# ghc 8.10.
|
# ghc 8.10.
|
||||||
hnix = dontCheck (super.hnix.override {
|
hnix = dontCheck super.hnix;
|
||||||
# 2020-09-18: Those packages are all needed by hnix at versions newer than on stackage
|
|
||||||
prettyprinter = self.prettyprinter_1_7_0; # at least 1.7
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
# Fails for non-obvious reasons while attempting to use doctest.
|
# Fails for non-obvious reasons while attempting to use doctest.
|
||||||
search = dontCheck super.search;
|
search = dontCheck super.search;
|
||||||
@ -363,9 +360,6 @@ self: super: {
|
|||||||
punycode = dontCheck super.punycode;
|
punycode = dontCheck super.punycode;
|
||||||
pwstore-cli = dontCheck super.pwstore-cli;
|
pwstore-cli = dontCheck super.pwstore-cli;
|
||||||
quantities = dontCheck super.quantities;
|
quantities = dontCheck super.quantities;
|
||||||
QuickCheck_2_14_2 = super.QuickCheck_2_14_2.override( {
|
|
||||||
splitmix = self.splitmix_0_1_0_3;
|
|
||||||
});
|
|
||||||
redis-io = dontCheck super.redis-io;
|
redis-io = dontCheck super.redis-io;
|
||||||
rethinkdb = dontCheck super.rethinkdb;
|
rethinkdb = dontCheck super.rethinkdb;
|
||||||
Rlang-QQ = dontCheck super.Rlang-QQ;
|
Rlang-QQ = dontCheck super.Rlang-QQ;
|
||||||
@ -399,7 +393,6 @@ self: super: {
|
|||||||
xsd = dontCheck super.xsd;
|
xsd = dontCheck super.xsd;
|
||||||
zip-archive = dontCheck super.zip-archive; # https://github.com/jgm/zip-archive/issues/57
|
zip-archive = dontCheck super.zip-archive; # https://github.com/jgm/zip-archive/issues/57
|
||||||
|
|
||||||
random_1_2_0 = super.random_1_2_0.override ({ splitmix = self.splitmix_0_1_0_3; });
|
|
||||||
# These test suites run for ages, even on a fast machine. This is nuts.
|
# These test suites run for ages, even on a fast machine. This is nuts.
|
||||||
Random123 = dontCheck super.Random123;
|
Random123 = dontCheck super.Random123;
|
||||||
systemd = dontCheck super.systemd;
|
systemd = dontCheck super.systemd;
|
||||||
@ -863,8 +856,7 @@ self: super: {
|
|||||||
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
|
||||||
|
|
||||||
# hledger-lib requires the latest version of pretty-simple
|
# hledger-lib requires the latest version of pretty-simple
|
||||||
hledger-lib = super.hledger-lib.override { pretty-simple = self.pretty-simple_4_0_0_0; };
|
hledger-lib = super.hledger-lib.override { pretty-simple = self.pretty-simple; };
|
||||||
pretty-simple_4_0_0_0 = super.pretty-simple_4_0_0_0.overrideScope (self: super: { prettyprinter = self.prettyprinter_1_7_0; });
|
|
||||||
|
|
||||||
# Copy hledger man pages from data directory into the proper place. This code
|
# Copy hledger man pages from data directory into the proper place. This code
|
||||||
# should be moved into the cabal2nix generator.
|
# should be moved into the cabal2nix generator.
|
||||||
@ -1532,20 +1524,27 @@ self: super: {
|
|||||||
# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
|
# 2020-12-06: Restrictive upper bounds w.r.t. pandoc-types (https://github.com/owickstrom/pandoc-include-code/issues/27)
|
||||||
pandoc-include-code = doJailbreak super.pandoc-include-code;
|
pandoc-include-code = doJailbreak super.pandoc-include-code;
|
||||||
|
|
||||||
# https://github.com/jgm/pandoc/issues/6961
|
|
||||||
pandoc = dontCheck super.pandoc;
|
|
||||||
|
|
||||||
# Update pandoc dependencies to fix the build.
|
|
||||||
doctemplates = self.doctemplates_0_9;
|
|
||||||
skylighting = self.skylighting_0_10_2;
|
|
||||||
skylighting-core = self.skylighting-core_0_10_2;
|
|
||||||
|
|
||||||
# https://github.com/yesodweb/yesod/issues/1714
|
# https://github.com/yesodweb/yesod/issues/1714
|
||||||
yesod-core = dontCheck super.yesod-core;
|
yesod-core = dontCheck super.yesod-core;
|
||||||
|
|
||||||
# Add ApplicationServices on darwin
|
# Add ApplicationServices on darwin
|
||||||
# use 0.4.5 instead of 0.4.4 to fix build with glibc >= 2.32
|
apecs-physics = addPkgconfigDepends super.apecs-physics
|
||||||
apecs-physics = addPkgconfigDepends super.apecs-physics_0_4_5
|
|
||||||
(pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.ApplicationServices);
|
(pkgs.lib.optional pkgs.stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.ApplicationServices);
|
||||||
|
|
||||||
|
# Break out of overspecified constraint on QuickCheck.
|
||||||
|
algebraic-graphs = dontCheck super.algebraic-graphs;
|
||||||
|
attoparsec = doJailbreak super.attoparsec; # https://github.com/haskell/attoparsec/pull/168
|
||||||
|
cassava = doJailbreak super.cassava;
|
||||||
|
filepath-bytestring = doJailbreak super.filepath-bytestring;
|
||||||
|
ghc-source-gen = doJailbreak super.ghc-source-gen;
|
||||||
|
haddock-library = doJailbreak super.haddock-library;
|
||||||
|
HsYAML = doJailbreak super.HsYAML;
|
||||||
|
http-api-data = doJailbreak super.http-api-data;
|
||||||
|
lzma = doJailbreak super.lzma;
|
||||||
|
psqueues = doJailbreak super.psqueues;
|
||||||
|
|
||||||
|
# Break out of overspecified constraint on QuickCheck.
|
||||||
|
# https://github.com/Gabriel439/Haskell-Nix-Derivation-Library/pull/10
|
||||||
|
nix-derivation = doJailbreak super.nix-derivation;
|
||||||
|
|
||||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
@ -83,12 +83,6 @@ self: super: {
|
|||||||
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
||||||
});
|
});
|
||||||
|
|
||||||
# Version 4.7.2 is broken by the bytestring library shipped by ghc-8.10.3.
|
|
||||||
ListLike = appendPatch super.ListLike (pkgs.fetchpatch {
|
|
||||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/ListLike-4.7.2.patch";
|
|
||||||
sha256 = "1v392a74w0sxyn6x0bqixpmjbgla0i2b5hxzkcn1vaa3gaya7ag4";
|
|
||||||
});
|
|
||||||
|
|
||||||
# hnix 0.9.0 does not provide an executable for ghc < 8.10, so define completions here for now.
|
# hnix 0.9.0 does not provide an executable for ghc < 8.10, so define completions here for now.
|
||||||
hnix = generateOptparseApplicativeCompletion "hnix"
|
hnix = generateOptparseApplicativeCompletion "hnix"
|
||||||
(overrideCabal super.hnix (drv: {
|
(overrideCabal super.hnix (drv: {
|
||||||
@ -98,4 +92,11 @@ self: super: {
|
|||||||
|
|
||||||
# Break out of "Cabal < 3.2" constraint.
|
# Break out of "Cabal < 3.2" constraint.
|
||||||
stylish-haskell = doJailbreak super.stylish-haskell;
|
stylish-haskell = doJailbreak super.stylish-haskell;
|
||||||
|
|
||||||
|
# Agda 2.6.1.2 only declares a transformers dependency for ghc < 8.10.3.
|
||||||
|
# https://github.com/agda/agda/issues/5109
|
||||||
|
Agda = appendPatch super.Agda (pkgs.fetchpatch {
|
||||||
|
url = "https://github.com/agda/agda/commit/76278c23d447b49f59fac581ca4ac605792aabbc.patch";
|
||||||
|
sha256 = "1g34g8a09j73h89pk4cdmri0nb0qg664hkff45amcr9kyz14a9f3";
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
@ -59,6 +59,7 @@ self: super: {
|
|||||||
# Jailbreaks & Version Updates
|
# Jailbreaks & Version Updates
|
||||||
async = doJailbreak super.async;
|
async = doJailbreak super.async;
|
||||||
ChasingBottoms = markBrokenVersion "1.3.1.9" super.ChasingBottoms;
|
ChasingBottoms = markBrokenVersion "1.3.1.9" super.ChasingBottoms;
|
||||||
|
data-fix = doJailbreak super.data-fix;
|
||||||
dec = doJailbreak super.dec;
|
dec = doJailbreak super.dec;
|
||||||
ed25519 = doJailbreak super.ed25519;
|
ed25519 = doJailbreak super.ed25519;
|
||||||
hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; });
|
hashable = overrideCabal (doJailbreak (dontCheck super.hashable)) (drv: { postPatch = "sed -i -e 's,integer-gmp .*<1.1,integer-gmp < 2,' hashable.cabal"; });
|
||||||
@ -66,14 +67,16 @@ self: super: {
|
|||||||
integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; });
|
integer-logarithms = overrideCabal (doJailbreak super.integer-logarithms) (drv: { postPatch = "sed -i -e 's,integer-gmp <1.1,integer-gmp < 2,' integer-logarithms.cabal"; });
|
||||||
lukko = doJailbreak super.lukko;
|
lukko = doJailbreak super.lukko;
|
||||||
parallel = doJailbreak super.parallel;
|
parallel = doJailbreak super.parallel;
|
||||||
|
primitive = doJailbreak (dontCheck super.primitive);
|
||||||
regex-posix = doJailbreak super.regex-posix;
|
regex-posix = doJailbreak super.regex-posix;
|
||||||
resolv = doJailbreak super.resolv;
|
resolv = doJailbreak super.resolv;
|
||||||
singleton-bool = doJailbreak super.singleton-bool;
|
singleton-bool = doJailbreak super.singleton-bool;
|
||||||
split = doJailbreak super.split;
|
split = doJailbreak super.split;
|
||||||
splitmix = self.splitmix_0_1_0_3;
|
|
||||||
tar = doJailbreak super.tar;
|
tar = doJailbreak super.tar;
|
||||||
time-compat = doJailbreak super.time-compat;
|
time-compat = doJailbreak super.time-compat;
|
||||||
vector = doJailbreak (dontCheck super.vector);
|
vector = doJailbreak (dontCheck super.vector);
|
||||||
|
vector-binary-instances = doJailbreak super.vector-binary-instances;
|
||||||
|
vector-th-unbox = doJailbreak super.vector-th-unbox;
|
||||||
zlib = doJailbreak super.zlib;
|
zlib = doJailbreak super.zlib;
|
||||||
|
|
||||||
# Apply patches from head.hackage.
|
# Apply patches from head.hackage.
|
||||||
@ -93,7 +96,6 @@ self: super: {
|
|||||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
|
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
|
||||||
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
sha256 = "0rgzrq0513nlc1vw7nw4km4bcwn4ivxcgi33jly4a7n3c1r32v1f";
|
||||||
});
|
});
|
||||||
QuickCheck = super.QuickCheck_2_14_2;
|
|
||||||
regex-base = appendPatch (doJailbreak super.regex-base) (pkgs.fetchpatch {
|
regex-base = appendPatch (doJailbreak super.regex-base) (pkgs.fetchpatch {
|
||||||
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/regex-base-0.94.0.0.patch";
|
url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/regex-base-0.94.0.0.patch";
|
||||||
sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
|
sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -550,7 +550,6 @@ self: super: builtins.intersectAttrs super {
|
|||||||
|
|
||||||
# Break infinite recursion cycle between QuickCheck and splitmix.
|
# Break infinite recursion cycle between QuickCheck and splitmix.
|
||||||
splitmix = dontCheck super.splitmix;
|
splitmix = dontCheck super.splitmix;
|
||||||
splitmix_0_1_0_3 = dontCheck super.splitmix_0_1_0_3;
|
|
||||||
|
|
||||||
# Break infinite recursion cycle between tasty and clock.
|
# Break infinite recursion cycle between tasty and clock.
|
||||||
clock = dontCheck super.clock;
|
clock = dontCheck super.clock;
|
||||||
|
2975
pkgs/development/haskell-modules/hackage-packages.nix
generated
2975
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user