Merge pull request #83963 from NixOS/haskell-updates
Update Haskell package set to LTS 15.6 (plus other fixes)
This commit is contained in:
commit
9242acfbbc
@ -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";
|
||||
}
|
||||
|
@ -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
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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;
|
||||
@ -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
|
||||
'';
|
||||
});
|
||||
|
||||
@ -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
|
||||
@ -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:
|
||||
@ -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
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
@ -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;
|
||||
|
@ -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;
|
||||
@ -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;
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -572,17 +572,34 @@ self: super: builtins.intersectAttrs super {
|
||||
# The test-suite requires a running PostgreSQL server.
|
||||
Frames-beam = dontCheck super.Frames-beam;
|
||||
|
||||
futhark = if pkgs.stdenv.isDarwin then super.futhark else with pkgs;
|
||||
let path = stdenv.lib.makeBinPath [ gcc ];
|
||||
in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/futhark \
|
||||
--prefix PATH : "${path}" \
|
||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
||||
--set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
|
||||
'';
|
||||
});
|
||||
# * Compile manpages (which are in RST and are compiled with Sphinx).
|
||||
#
|
||||
# * Wrap so that binary can find GCC and OpenCL headers (dubious if
|
||||
# a good idea).
|
||||
futhark = with pkgs;
|
||||
let maybeWrap =
|
||||
if pkgs.stdenv.isDarwin then ""
|
||||
else
|
||||
let path = stdenv.lib.makeBinPath [ gcc ];
|
||||
in ''
|
||||
wrapProgram $out/bin/futhark \
|
||||
--prefix PATH : "${path}" \
|
||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
||||
--set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
|
||||
'';
|
||||
in overrideCabal (addBuildTools super.futhark [makeWrapper python37Packages.sphinx])
|
||||
(_drv: {
|
||||
postBuild = (_drv.postBuild or "") + ''
|
||||
make -C docs man
|
||||
'';
|
||||
|
||||
postInstall = (_drv.postInstall or "") + ''
|
||||
mkdir -p $out/share/man/man1
|
||||
mv docs/_build/man/*.1 $out/share/man/man1/
|
||||
''
|
||||
+ maybeWrap;
|
||||
});
|
||||
|
||||
git-annex = with pkgs;
|
||||
if (!stdenv.isLinux) then
|
||||
|
2725
pkgs/development/haskell-modules/hackage-packages.nix
generated
2725
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@ -18883,7 +18883,7 @@ in
|
||||
|
||||
dablin = callPackage ../applications/radio/dablin { };
|
||||
|
||||
darcs = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskellPackages.darcs) (drv: {
|
||||
darcs = haskell.lib.overrideCabal (haskell.lib.justStaticExecutables haskell.packages.ghc865.darcs) (drv: {
|
||||
configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
|
||||
});
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user