Merge pull request #83963 from NixOS/haskell-updates
Update Haskell package set to LTS 15.6 (plus other fixes)
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{ fetchurl }:
|
{ fetchurl }:
|
||||||
|
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/e0bc864e0b6edb5e5ce1ec4bfa763a442b343bf5.tar.gz";
|
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/90b24a91103dca4f0df6cb28cecb205a7d7ab650.tar.gz";
|
||||||
sha256 = "1lmjxam58srrv9cjqajqz4bishx8hy99db3cx83i95qb3qiiiz6m";
|
sha256 = "1zfj8c6s9icqg83ycfvd150s4jd07ccbjg2w2mn10rx5ng76mn53";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,9 +37,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'";
|
||||||
|
|
||||||
# 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
|
# enable using a local hoogle with extra packagages in the database
|
||||||
# nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
|
# nix-shell -p "haskellPackages.hoogleLocal { packages = with haskellPackages; [ mtl lens ]; }"
|
||||||
# $ hoogle server
|
# $ hoogle server
|
||||||
@@ -86,7 +83,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 = "0y2qcjahi705c6nnypqpa5w3bzyzk4kqvbwfnpiaxzk5vna589gg";
|
sha256 = "1jjw6ar8ddcncwzksyx2xky50sm2jg1zjr7iiqk0vn8qq0fn2gwy";
|
||||||
};
|
};
|
||||||
}).override {
|
}).override {
|
||||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||||
@@ -326,6 +323,7 @@ self: super: {
|
|||||||
hs2048 = dontCheck super.hs2048;
|
hs2048 = dontCheck super.hs2048;
|
||||||
hsbencher = dontCheck super.hsbencher;
|
hsbencher = dontCheck super.hsbencher;
|
||||||
hsexif = dontCheck super.hsexif;
|
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;
|
hspec-server = dontCheck super.hspec-server;
|
||||||
HTF = dontCheck super.HTF;
|
HTF = dontCheck super.HTF;
|
||||||
htsn = dontCheck super.htsn;
|
htsn = dontCheck super.htsn;
|
||||||
@@ -359,7 +357,6 @@ self: super: {
|
|||||||
optional = dontCheck super.optional;
|
optional = dontCheck super.optional;
|
||||||
orgmode-parse = dontCheck super.orgmode-parse;
|
orgmode-parse = dontCheck super.orgmode-parse;
|
||||||
os-release = dontCheck super.os-release;
|
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;
|
persistent-redis = dontCheck super.persistent-redis;
|
||||||
pipes-extra = dontCheck super.pipes-extra;
|
pipes-extra = dontCheck super.pipes-extra;
|
||||||
pipes-websockets = dontCheck super.pipes-websockets;
|
pipes-websockets = dontCheck super.pipes-websockets;
|
||||||
@@ -1192,10 +1189,10 @@ self: super: {
|
|||||||
});
|
});
|
||||||
|
|
||||||
# Remove unecessary constraint:
|
# Remove unecessary constraint:
|
||||||
# https://github.com/agrafix/superbuffer/pull/2
|
# https://github.com/haskell-infra/hackage-trustees/issues/258
|
||||||
superbuffer = overrideCabal super.superbuffer (drv: {
|
data-accessor-template = overrideCabal super.data-accessor-template (drv: {
|
||||||
postPatch = ''
|
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 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
|
# 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
|
# 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-0.8 needs cabal-install-parsers ==0.1, but we have 0.2.
|
||||||
haskell-ci = doJailbreak super.haskell-ci;
|
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;
|
persistent-mysql = dontCheck super.persistent-mysql;
|
||||||
|
|
||||||
# Fix EdisonAPI and EdisonCore for GHC 8.8:
|
# 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.
|
# Needs a version that's newer than LTS-15.x provides.
|
||||||
weeder = super.weeder.override { generic-lens = self.generic-lens_2_0_0_0; };
|
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
|
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ self: super: {
|
|||||||
text = self.text_1_2_4_0;
|
text = self.text_1_2_4_0;
|
||||||
|
|
||||||
# Needs Cabal 3.0.x.
|
# 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
|
# https://github.com/bmillwood/applicative-quoters/issues/6
|
||||||
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
|
applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ self: super: {
|
|||||||
unix = null;
|
unix = null;
|
||||||
xhtml = null;
|
xhtml = null;
|
||||||
|
|
||||||
# Needs Cabal 3.0.x.
|
# Needs Cabal 3.2.x.
|
||||||
cabal-install = super.cabal-install.overrideScope (self: super: { 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_0_0_0; };
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_2_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
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ self: super: {
|
|||||||
xhtml = null;
|
xhtml = null;
|
||||||
|
|
||||||
# Needs Cabal 3.0.x.
|
# Needs Cabal 3.0.x.
|
||||||
cabal-install = super.cabal-install.overrideScope (self: super: { 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_0_0_0; };
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_3_2_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;
|
||||||
@@ -76,12 +76,10 @@ self: super: {
|
|||||||
|
|
||||||
# cabal2nix needs the latest version of Cabal, and the one
|
# cabal2nix needs the latest version of Cabal, and the one
|
||||||
# hackage-db uses must match, so take the latest
|
# hackage-db uses must match, so take the latest
|
||||||
cabal2nix = super.cabal2nix.overrideScope (self: super: {
|
cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_3_2_0_0; });
|
||||||
Cabal = self.Cabal_3_0_0_0;
|
|
||||||
});
|
|
||||||
|
|
||||||
# cabal2spec needs a recent version of Cabal
|
# 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.
|
# Builds only with ghc-8.8.x and beyond.
|
||||||
policeman = markBroken super.policeman;
|
policeman = markBroken super.policeman;
|
||||||
|
|||||||
@@ -41,10 +41,13 @@ self: super: {
|
|||||||
unix = null;
|
unix = null;
|
||||||
xhtml = 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.
|
# Ignore overly restrictive upper version bounds.
|
||||||
aeson-diff = doJailbreak super.aeson-diff;
|
aeson-diff = doJailbreak super.aeson-diff;
|
||||||
async = doJailbreak super.async;
|
async = doJailbreak super.async;
|
||||||
cabal-install = doJailbreak super.cabal-install;
|
|
||||||
ChasingBottoms = doJailbreak super.ChasingBottoms;
|
ChasingBottoms = doJailbreak super.ChasingBottoms;
|
||||||
chell = doJailbreak super.chell;
|
chell = doJailbreak super.chell;
|
||||||
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
|
cryptohash-sha256 = doJailbreak super.cryptohash-sha256;
|
||||||
@@ -72,12 +75,6 @@ self: super: {
|
|||||||
time-compat = doJailbreak super.time-compat;
|
time-compat = doJailbreak super.time-compat;
|
||||||
http-media = doJailbreak super.http-media;
|
http-media = doJailbreak super.http-media;
|
||||||
servant-server = doJailbreak super.servant-server;
|
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;
|
foundation = dontCheck super.foundation;
|
||||||
vault = dontHaddock super.vault;
|
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.
|
# The test-suite requires a running PostgreSQL server.
|
||||||
Frames-beam = dontCheck super.Frames-beam;
|
Frames-beam = dontCheck super.Frames-beam;
|
||||||
|
|
||||||
futhark = if pkgs.stdenv.isDarwin then super.futhark else with pkgs;
|
# * Compile manpages (which are in RST and are compiled with Sphinx).
|
||||||
let path = stdenv.lib.makeBinPath [ gcc ];
|
#
|
||||||
in overrideCabal (addBuildTool super.futhark makeWrapper) (_drv: {
|
# * Wrap so that binary can find GCC and OpenCL headers (dubious if
|
||||||
postInstall = ''
|
# a good idea).
|
||||||
wrapProgram $out/bin/futhark \
|
futhark = with pkgs;
|
||||||
--prefix PATH : "${path}" \
|
let maybeWrap =
|
||||||
--set NIX_CC_WRAPPER_x86_64_unknown_linux_gnu_TARGET_HOST 1 \
|
if pkgs.stdenv.isDarwin then ""
|
||||||
--set NIX_CFLAGS_COMPILE "-I${opencl-headers}/include" \
|
else
|
||||||
--set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
|
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;
|
git-annex = with pkgs;
|
||||||
if (!stdenv.isLinux) then
|
if (!stdenv.isLinux) then
|
||||||
|
|||||||
+1325
-1400
File diff suppressed because it is too large
Load Diff
@@ -18883,7 +18883,7 @@ in
|
|||||||
|
|
||||||
dablin = callPackage ../applications/radio/dablin { };
|
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"];
|
configureFlags = (stdenv.lib.remove "-flibrary" drv.configureFlags or []) ++ ["-f-library"];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user