Merge pull request #114407 from NixOS/haskell-updates

Update Haskell package set to Stackage Nightly 2021-02-25 (plus other fixes)
This commit is contained in:
Peter Simons 2021-02-26 23:57:43 +01:00 committed by GitHub
commit 8629446fc1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 1642 additions and 2267 deletions

View File

@ -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 = "1m9jfr5b0qwajwwmvcq02263bmnqgcqvpdr06sdwlfz3sxsjfp8r"; sha256 = "1lvl6i3ym7dyg215fkmslf3rnk29hz7f21jn91y1mghrhch7hvhl";
}; };
}).override { }).override {
dbus = if pkgs.stdenv.isLinux then self.dbus else null; dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@ -212,31 +212,11 @@ self: super: {
# base bound # base bound
digit = doJailbreak super.digit; digit = doJailbreak super.digit;
# 2020-06-05: HACK: does not pass own build suite - `dontCheck` We should # 2020-06-05: HACK: does not pass own build suite - `dontCheck`
# generate optparse-applicative completions for the hnix executable. Sadly hnix = generateOptparseApplicativeCompletion "hnix" (dontCheck super.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
# ghc 8.10.
hnix = dontCheck (super.hnix.override {
# 2021-01-07: NOTE: hnix-store-core pinned at ==0.2 in Stackage Nightly.
# https://github.com/haskell-nix/hnix-store/issues/104
# Until unpin, which may hold off in time due to Stackage maintenence bottleneck
# the 0_4_0_0 is used
hnix-store-core = self.hnix-store-core_0_4_1_0; # at least 1.7
});
# 2021-01-07: NOTE: hnix-store-core pinned at ==0.2 in Stackage Nightly.
# https://github.com/haskell-nix/hnix-store/issues/104
# Until unpin, which may hold off in time due to Stackage maintenence bottleneck
# the 0_4_0_0 is used
hnix-store-remote = (super.hnix-store-remote.override {
hnix-store-core = self.hnix-store-core_0_4_1_0; # at least 1.7
});
# https://github.com/haskell-nix/hnix-store/issues/127 # https://github.com/haskell-nix/hnix-store/issues/127
hnix-store-core_0_4_1_0 = addTestToolDepend super.hnix-store-core_0_4_1_0 self.tasty-discover; hnix-store-core = addTestToolDepend super.hnix-store-core self.tasty-discover;
# 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;
@ -684,8 +664,26 @@ self: super: {
''; '';
}); });
# The standard libraries are compiled separately. # * The standard libraries are compiled separately.
idris = generateOptparseApplicativeCompletion "idris" (dontCheck super.idris); # * We need multiple patches from master to fix compilation with
# updated dependencies (haskeline and megaparsec) which can be
# removed when the next idris release (1.3.4 probably) comes
# around.
idris = generateOptparseApplicativeCompletion "idris"
(doJailbreak (dontCheck
(appendPatches super.idris [
# compatibility with haskeline >= 0.8
(pkgs.fetchpatch {
url = "https://github.com/idris-lang/Idris-dev/commit/89a87cf666eb8b27190c779e72d0d76eadc1bc14.patch";
sha256 = "0fv493zlpgjsf57w0sncd4vqfkabfczp3xazjjmqw54m9rsfix35";
})
# compatibility with megaparsec >= 0.9
(pkgs.fetchpatch {
url = "https://github.com/idris-lang/Idris-dev/commit/6ea9bc913877d765048d7cdb7fc5aec60b196fac.patch";
sha256 = "0yms74d1xdxd1c08dnp45nb1ddzq54n6hqgzxx0r494wy614ir8q";
})
])
));
# https://github.com/pontarius/pontarius-xmpp/issues/105 # https://github.com/pontarius/pontarius-xmpp/issues/105
pontarius-xmpp = dontCheck super.pontarius-xmpp; pontarius-xmpp = dontCheck super.pontarius-xmpp;
@ -845,8 +843,11 @@ self: super: {
# https://github.com/alphaHeavy/protobuf/issues/34 # https://github.com/alphaHeavy/protobuf/issues/34
protobuf = dontCheck super.protobuf; protobuf = dontCheck super.protobuf;
# https://github.com/bos/text-icu/issues/32 # Is this package still maintained? https://github.com/haskell/text-icu/issues/30
text-icu = dontCheck super.text-icu; text-icu = overrideCabal super.text-icu (drv: {
doCheck = false; # https://github.com/bos/text-icu/issues/32
configureFlags = ["--ghc-option=-DU_DEFINE_FALSE_AND_TRUE=1"]; # https://github.com/haskell/text-icu/issues/49
});
# aarch64 and armv7l fixes. # aarch64 and armv7l fixes.
happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062 happy = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontCheck super.happy else super.happy; # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
@ -968,8 +969,10 @@ self: super: {
# musl fixes # musl fixes
# dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test # dontCheck: use of non-standard strptime "%s" which musl doesn't support; only used in test
unix-time = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.unix-time else super.unix-time; unix-time = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.unix-time else super.unix-time;
# dontCheck: printf double rounding behavior
prettyprinter = if pkgs.stdenv.hostPlatform.isMusl then dontCheck super.prettyprinter else super.prettyprinter; # The test suite runs for 20+ minutes on a very fast machine, which feels kinda disproportionate.
prettyprinter = dontCheck super.prettyprinter;
brittany = doJailbreak (dontCheck super.brittany); # Outdated upperbound on ghc-exactprint: https://github.com/lspitzner/brittany/issues/342
# Fix with Cabal 2.2, https://github.com/guillaume-nargeot/hpc-coveralls/pull/73 # Fix with Cabal 2.2, https://github.com/guillaume-nargeot/hpc-coveralls/pull/73
hpc-coveralls = appendPatch super.hpc-coveralls (pkgs.fetchpatch { hpc-coveralls = appendPatch super.hpc-coveralls (pkgs.fetchpatch {
@ -1408,16 +1411,8 @@ self: super: {
# 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests: # 2020-11-19: Checks nearly fixed, but still disabled because of flaky tests:
# https://github.com/haskell/haskell-language-server/issues/610 # https://github.com/haskell/haskell-language-server/issues/610
# https://github.com/haskell/haskell-language-server/issues/611 # https://github.com/haskell/haskell-language-server/issues/611
haskell-language-server = overrideCabal (dontCheck super.haskell-language-server) { haskell-language-server = dontCheck super.haskell-language-server;
# 2020-02-19: Override is necessary because of wrong bound on upstream, remove after next hackage update
preConfigure = ''
substituteInPlace haskell-language-server.cabal --replace "hls-explicit-imports-plugin ==0.1.0.1" "hls-explicit-imports-plugin ==0.1.0.0"
'';
};
# 2021-02-08: Jailbreaking because of
# https://github.com/haskell/haskell-language-server/issues/1329
hls-tactics-plugin = doJailbreak super.hls-tactics-plugin;
# 2021-02-11: Jailbreaking because of syntax error on bound revision # 2021-02-11: Jailbreaking because of syntax error on bound revision
hls-explicit-imports-plugin = doJailbreak super.hls-explicit-imports-plugin; hls-explicit-imports-plugin = doJailbreak super.hls-explicit-imports-plugin;
@ -1532,7 +1527,7 @@ self: super: {
# 2020-12-05: http-client is fixed on too old version # 2020-12-05: http-client is fixed on too old version
essence-of-live-coding-warp = super.essence-of-live-coding-warp.override { essence-of-live-coding-warp = super.essence-of-live-coding-warp.override {
http-client = self.http-client_0_7_5; http-client = self.http-client_0_7_6;
}; };
# 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)
@ -1591,4 +1586,27 @@ self: super: {
# Overly strict version bounds: https://github.com/Profpatsch/yarn-lock/issues/8 # Overly strict version bounds: https://github.com/Profpatsch/yarn-lock/issues/8
yarn-lock = doJailbreak super.yarn-lock; yarn-lock = doJailbreak super.yarn-lock;
# Dependency to regex-tdfa-text can be removed for later regex-tdfa versions.
# Fix protolude compilation error by applying patch from pull-request.
# Override can be removed for the next release > 0.8.0.
yarn2nix = overrideCabal (super.yarn2nix.override {
regex-tdfa-text = null;
}) (attrs: {
jailbreak = true;
# remove dependency on regex-tdfa-text
# which has been merged into regex-tdfa
postPatch = ''
sed -i '/regex-tdfa-text/d' yarn2nix.cabal
'';
patches = (attrs.patches or []) ++ [
# fix a compilation error related to protolude 0.3
(pkgs.fetchpatch {
url = "https://github.com/Profpatsch/yarn2nix/commit/ca78cf06226819b2e78cb6cdbc157d27afb41532.patch";
sha256 = "1vkczwzhxilnp87apyb18nycn834y5nbw4yr1kpwlwhrhalvzw61";
includes = [ "*/ResolveLockfile.hs" ];
})
];
});
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -42,20 +42,13 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# The proper 3.2.0.0 release does not compile with ghc-8.10.1, so we take the cabal-install = super.cabal-install.override {
# hitherto unreleased next version from the '3.2' branch of the upstream git Cabal = super.Cabal_3_4_0_0;
# repository for the time being. hackage-security = super.hackage-security.override { Cabal = super.Cabal_3_4_0_0; };
cabal-install = assert super.cabal-install.version == "3.2.0.0"; # Usung dontCheck to break test dependency cycles
overrideCabal super.cabal-install (drv: { edit-distance = dontCheck (super.edit-distance.override { random = super.random_1_2_0; });
postUnpack = "sourceRoot+=/cabal-install; echo source root reset to $sourceRoot"; random = super.random_1_2_0;
version = "3.2.0.0-git"; };
editedCabalFile = null;
src = pkgs.fetchgit {
url = "git://github.com/haskell/cabal.git";
rev = "9bd4cc0591616aeae78e17167338371a2542a475";
sha256 = "005q1shh7vqgykkp72hhmswmrfpz761x0q0jqfnl3wqim4xd9dg0";
};
});
# Jailbreak to fix the build. # Jailbreak to fix the build.
base-noprelude = doJailbreak super.base-noprelude; base-noprelude = doJailbreak super.base-noprelude;

View File

@ -43,19 +43,12 @@ self: super: {
unix = null; unix = null;
xhtml = null; xhtml = null;
# Take the 3.4.x release candidate. # Build cabal-install with the compiler's native Cabal.
cabal-install = assert super.cabal-install.version == "3.2.0.0"; cabal-install = (doJailbreak super.cabal-install).override {
overrideCabal (doJailbreak super.cabal-install) (drv: { # Use dontCheck to break test dependency cycles
postUnpack = "sourceRoot+=/cabal-install; echo source root reset to $sourceRoot"; edit-distance = dontCheck (super.edit-distance.override { random = super.random_1_2_0; });
version = "cabal-install-3.4.0.0-rc4"; random = super.random_1_2_0;
editedCabalFile = null; };
src = pkgs.fetchgit {
url = "git://github.com/haskell/cabal.git";
rev = "cabal-install-3.4.0.0-rc4";
sha256 = "049hllk1d8jid9yg70hmcsdgb0n7hm24p39vavllaahfb0qfimrk";
};
executableHaskellDepends = drv.executableHaskellDepends ++ [ self.regex-base self.regex-posix ];
});
# Jailbreaks & Version Updates # Jailbreaks & Version Updates
async = doJailbreak super.async; async = doJailbreak super.async;
@ -99,10 +92,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";
}); });
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";
sha256 = "0k5fglbl7nnhn8400c4cpnflxcbj9p3xi5prl9jfmszr31jwdy5d";
});
# The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x. # The test suite depends on ChasingBottoms, which is broken with ghc-9.0.x.
unordered-containers = dontCheck super.unordered-containers; unordered-containers = dontCheck super.unordered-containers;

File diff suppressed because it is too large Load Diff

View File

@ -155,6 +155,9 @@ stdenv.mkDerivation rec {
"-DPORT=GTK" "-DPORT=GTK"
"-DUSE_LIBHYPHEN=OFF" "-DUSE_LIBHYPHEN=OFF"
"-DUSE_WPE_RENDERER=OFF" "-DUSE_WPE_RENDERER=OFF"
# ensure backward compatibility with the latest version of icu:
# http://linuxfromscratch.org/blfs/view/svn/x/webkitgtk.html
"-DCMAKE_CXX_FLAGS=-DU_DEFINE_FALSE_AND_TRUE=1"
] ++ optionals stdenv.isDarwin [ ] ++ optionals stdenv.isDarwin [
"-DENABLE_GRAPHICS_CONTEXT_3D=OFF" "-DENABLE_GRAPHICS_CONTEXT_3D=OFF"
"-DENABLE_GTKDOC=OFF" "-DENABLE_GTKDOC=OFF"

View File

@ -1,4 +1,4 @@
{ lib, supportedGhcVersions ? [ "865" "884" "8103" ], stdenv, haskellPackages { lib, supportedGhcVersions ? [ "865" "884" "8104" ], stdenv, haskellPackages
, haskell }: , haskell }:
# #
# The recommended way to override this package is # The recommended way to override this package is