Merge master into staging-next
This commit is contained in:
@@ -48,6 +48,18 @@ self: super: {
|
||||
# Needs older QuickCheck version
|
||||
attoparsec-varword = dontCheck super.attoparsec-varword;
|
||||
|
||||
# https://github.com/koalaman/shellcheck/issues/1778
|
||||
ShellCheck = overrideCabal super.ShellCheck (drv: {
|
||||
patches = [
|
||||
# cabal 3.0 support
|
||||
( pkgs.fetchpatch {
|
||||
url = "https://github.com/koalaman/shellcheck/commit/2c026f1ec7c205c731ff2a0ccd85365f37245.patch";
|
||||
sha256 = "0z6yf350ngr6rwfkvdy670c476fgzj8a0n4ppdm1xr8r1lij7sfz";
|
||||
excludes = [ "Dockerfile" ];
|
||||
})
|
||||
];
|
||||
});
|
||||
|
||||
# Tests are failing
|
||||
# https://github.com/bos/statistics/issues/123
|
||||
statistics = dontCheck super.statistics;
|
||||
@@ -69,12 +81,12 @@ self: super: {
|
||||
|
||||
# The Hackage tarball is purposefully broken, because it's not intended to be, like, useful.
|
||||
# https://git-annex.branchable.com/bugs/bash_completion_file_is_missing_in_the_6.20160527_tarball_on_hackage/
|
||||
git-annex = (overrideSrc super.git-annex {
|
||||
git-annex = (overrideSrc (appendPatch super.git-annex ./patches/git-annex-fix-build-with-ghc-8.8.x.patch) {
|
||||
src = pkgs.fetchgit {
|
||||
name = "git-annex-${super.git-annex.version}-src";
|
||||
url = "git://git-annex.branchable.com/";
|
||||
rev = "refs/tags/" + super.git-annex.version;
|
||||
sha256 = "1shb1jgm78bx88rbsr1nmimjzzfqw96qdr38mcrr1c2qz5ky820v";
|
||||
sha256 = "0pl0yip7zp4i78cj9jqkmm33wqaaaxjq3ggnfmv95y79yijd6yh4";
|
||||
};
|
||||
}).override {
|
||||
dbus = if pkgs.stdenv.isLinux then self.dbus else null;
|
||||
@@ -394,11 +406,6 @@ self: super: {
|
||||
Random123 = dontCheck super.Random123;
|
||||
systemd = dontCheck super.systemd;
|
||||
|
||||
# use the correct version of network
|
||||
systemd_2_2_0 = dontCheck (super.systemd_2_2_0.override {
|
||||
network = self.network_3_1_1_1;
|
||||
});
|
||||
|
||||
# https://github.com/eli-frey/cmdtheline/issues/28
|
||||
cmdtheline = dontCheck super.cmdtheline;
|
||||
|
||||
@@ -526,7 +533,9 @@ self: super: {
|
||||
|
||||
# Won't compile with recent versions of QuickCheck.
|
||||
inilist = dontCheck super.inilist;
|
||||
MissingH = dontCheck super.MissingH;
|
||||
|
||||
# Doesn't accept recent versions of 'base' or QuickCheck.
|
||||
MissingH = dontCheck (doJailbreak super.MissingH);
|
||||
|
||||
# https://github.com/yaccz/saturnin/issues/3
|
||||
Saturnin = dontCheck super.Saturnin;
|
||||
@@ -688,15 +697,6 @@ self: super: {
|
||||
# https://github.com/goldfirere/singletons/issues/122
|
||||
singletons = dontCheck super.singletons;
|
||||
|
||||
# Fix an aarch64 issue with cryptonite-0.25:
|
||||
# https://github.com/haskell-crypto/cryptonite/issues/234
|
||||
# This has been committed upstream, but there is, as of yet, no new release.
|
||||
# Also, disable the test suite to avoid https://github.com/haskell-crypto/cryptonite/issues/260.
|
||||
cryptonite = appendPatch (dontCheck super.cryptonite) (pkgs.fetchpatch {
|
||||
url = https://github.com/haskell-crypto/cryptonite/commit/4622e5fc8ece82f4cf31358e31cd02cf020e558e.patch;
|
||||
sha256 = "1m2d47ni4jbrpvxry50imj91qahr3r7zkqm157clrzlmw6gzpgnq";
|
||||
});
|
||||
|
||||
# Djinn's last release was 2014, incompatible with Semigroup-Monoid Proposal
|
||||
# https://github.com/augustss/djinn/pull/8
|
||||
djinn = appendPatch super.djinn (pkgs.fetchpatch {
|
||||
@@ -1042,34 +1042,7 @@ self: super: {
|
||||
vector-algorithms = dontCheck super.vector-algorithms;
|
||||
|
||||
# The test suite attempts to use the network.
|
||||
dhall =
|
||||
generateOptparseApplicativeCompletion "dhall" (
|
||||
dontCheck super.dhall
|
||||
);
|
||||
# https://github.com/dhall-lang/dhall-haskell/commit/dedd5e0ea6fd12f87d887af3d2220eebc61ee8af
|
||||
# This raises the lower bound on prettyprinter to 1.5.1 since
|
||||
# `removeTrailingWhitespace` is buggy in earlier versions.
|
||||
# This will probably be able to be removed when we update to LTS-15.
|
||||
dhall_1_29_0 =
|
||||
dontCheck (super.dhall_1_29_0.override {
|
||||
prettyprinter = self.prettyprinter_1_6_0;
|
||||
prettyprinter-ansi-terminal =
|
||||
self.prettyprinter-ansi-terminal.override {
|
||||
prettyprinter = self.prettyprinter_1_6_0;
|
||||
};
|
||||
});
|
||||
dhall-bash_1_0_27 = super.dhall-bash_1_0_27.override { dhall = self.dhall_1_29_0; };
|
||||
dhall-json_1_6_1 = super.dhall-json_1_6_1.override {
|
||||
dhall = self.dhall_1_29_0;
|
||||
prettyprinter = self.prettyprinter_1_6_0;
|
||||
prettyprinter-ansi-terminal =
|
||||
self.prettyprinter-ansi-terminal.override {
|
||||
prettyprinter = self.prettyprinter_1_6_0;
|
||||
};
|
||||
};
|
||||
|
||||
# Tests for dhall access the network.
|
||||
dhall_1_27_0 = dontCheck super.dhall_1_27_0;
|
||||
dhall = generateOptparseApplicativeCompletion "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
|
||||
@@ -1096,7 +1069,6 @@ self: super: {
|
||||
|
||||
# The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
|
||||
haddock-library = doJailbreak (dontCheck super.haddock-library);
|
||||
haddock-library_1_8_0 = doJailbreak super.haddock-library_1_8_0;
|
||||
|
||||
# Generate shell completion.
|
||||
cabal2nix = generateOptparseApplicativeCompletion "cabal2nix" super.cabal2nix;
|
||||
@@ -1205,12 +1177,6 @@ self: super: {
|
||||
# Fix build with attr-2.4.48 (see #53716)
|
||||
xattr = appendPatch super.xattr ./patches/xattr-fix-build.patch;
|
||||
|
||||
# These packages needs network 3.x, which is not in LTS-13.x.
|
||||
network-bsd_2_8_1_0 = super.network-bsd_2_8_1_0.override { network = self.network_3_0_1_1; };
|
||||
lambdabot-core = super.lambdabot-core.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-reference-plugins = super.lambdabot-reference-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; hslogger = self.hslogger_1_3_0_0; });
|
||||
lambdabot-haskell-plugins = super.lambdabot-haskell-plugins.overrideScope (self: super: { network = self.network_3_0_1_1; });
|
||||
|
||||
# Some tests depend on a postgresql instance
|
||||
# Haddock failure: https://github.com/haskell/haddock/issues/979
|
||||
esqueleto = dontHaddock (dontCheck super.esqueleto);
|
||||
@@ -1235,12 +1201,6 @@ self: super: {
|
||||
# Test suite won't link for no apparent reason.
|
||||
constraints-deriving = dontCheck super.constraints-deriving;
|
||||
|
||||
# Use a matching version of ghc-lib-parser.
|
||||
ghc-lib-parser-ex = super.ghc-lib-parser-ex.override { ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205; };
|
||||
|
||||
# https://github.com/sol/hpack/issues/366
|
||||
hpack = self.hpack_0_33_0;
|
||||
|
||||
# QuickCheck >=2.3 && <2.13, hspec >=2.1 && <2.7
|
||||
graphviz = dontCheck super.graphviz;
|
||||
|
||||
@@ -1256,10 +1216,6 @@ self: super: {
|
||||
'';
|
||||
});
|
||||
|
||||
# The LTS-14.x version of their dependencies are too old.
|
||||
cabal-plan = super.cabal-plan.overrideScope (self: super: { optparse-applicative = self.optparse-applicative_0_15_1_0; ansi-terminal = self.ansi-terminal_0_10_2; base-compat = self.base-compat_0_11_1; semialign = self.semialign_1_1; time-compat = doJailbreak super.time-compat; });
|
||||
hoogle = super.hoogle.override { haskell-src-exts = self.haskell-src-exts_1_23_0; };
|
||||
|
||||
# Version bounds for http-client are too strict:
|
||||
# https://github.com/bitnomial/prometheus/issues/34
|
||||
prometheus = doJailbreak super.prometheus;
|
||||
@@ -1296,10 +1252,6 @@ self: super: {
|
||||
# upstream issue: https://github.com/vmchale/atspkg/issues/12
|
||||
language-ats = dontCheck super.language-ats;
|
||||
|
||||
# polysemy-plugin requires polysemy >= 1.2.0.0
|
||||
polysemy = self.polysemy_1_2_3_0;
|
||||
polysemy-zoo = self.polysemy-zoo_0_6_0_1;
|
||||
|
||||
# https://github.com/Happstack/web-routes-th/pull/3
|
||||
web-routes-th = doJailbreak super.web-routes-th;
|
||||
|
||||
@@ -1330,32 +1282,8 @@ self: super: {
|
||||
# https://github.com/kazu-yamamoto/dns/issues/150
|
||||
dns = dontCheck super.dns;
|
||||
|
||||
# needs newer version of the systemd package
|
||||
spacecookie = super.spacecookie.override { systemd = self.systemd_2_2_0; };
|
||||
|
||||
# 2019-12-19 - glirc wants regex-tdfa >=1.3 which results in errors with regex-base which errors more
|
||||
# hoping to make a proper derivation with plugins enabled and more reliable building -- kiwi
|
||||
# 2020-01-17 - as of recently the basic doJailbreak is not enough and have to override regex-tdfa which needs an override for regex-base
|
||||
|
||||
glirc = doJailbreak (super.glirc.override {
|
||||
regex-tdfa = self.regex-tdfa_1_3_1_0;
|
||||
});
|
||||
|
||||
regex-tdfa_1_3_1_0 = doJailbreak (super.regex-tdfa_1_3_1_0.override {
|
||||
regex-base = self.regex-base_0_94_0_0;
|
||||
});
|
||||
|
||||
# 2020-01-19 - there were conflicting versions of brick, vty, and brick-skylighting;
|
||||
# multiple versions of them were being pulled in by the others which is not allowed.
|
||||
# There are more complicated ways of doing this but I was able to make it fairly simple -- kiwi
|
||||
matterhorn = doJailbreak (super.matterhorn.override {
|
||||
brick-skylighting = self.brick-skylighting.override {
|
||||
brick = self.brick_0_51;
|
||||
};
|
||||
});
|
||||
|
||||
# 2020-01-19 - because of QuickCheck bounds | was broken anyway and is needed for matterhorn -- kiwi
|
||||
Unique = doJailbreak super.Unique;
|
||||
# Support recent versions of fast-logger.
|
||||
spacecookie = doJailbreak super.spacecookie;
|
||||
|
||||
# apply patches from https://github.com/snapframework/snap-server/pull/126
|
||||
# manually until they are accepted upstream
|
||||
@@ -1380,17 +1308,97 @@ self: super: {
|
||||
|
||||
# Needs ghc-lib-parser 8.8.1 (does not build with 8.8.0)
|
||||
ormolu = doJailbreak (super.ormolu.override {
|
||||
ghc-lib-parser = self.ghc-lib-parser_8_8_2_20200205;
|
||||
ghc-lib-parser = self.ghc-lib-parser_8_8_3_20200224;
|
||||
});
|
||||
|
||||
# krank-0.1.0 does not accept PyF-0.9.0.0.
|
||||
krank = doJailbreak super.krank;
|
||||
|
||||
# prettyprinter-1.6.0 fails its doctest suite.
|
||||
prettyprinter_1_6_0 = dontCheck super.prettyprinter_1_6_0;
|
||||
|
||||
# the test suite has an overly tight restriction on doctest
|
||||
# See https://github.com/ekmett/perhaps/pull/5
|
||||
perhaps = doJailbreak super.perhaps;
|
||||
|
||||
# it wants to build a statically linked binary by default
|
||||
hledger-flow = overrideCabal super.hledger-flow ( drv: {
|
||||
postPatch = (drv.postPatch or "") + ''
|
||||
substituteInPlace hledger-flow.cabal --replace "-static" ""
|
||||
'';
|
||||
});
|
||||
|
||||
# cabal-fmt requires Cabal3
|
||||
cabal-fmt = super.cabal-fmt.override { Cabal = self.Cabal_3_0_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
|
||||
# patch here. That single patch is for the gtk2hs super-repo, out of which
|
||||
# we extract the patch for each indvidiual project (glib/gio/pango/gtk/gtk3).
|
||||
glib = appendPatch super.glib (pkgs.fetchpatch {
|
||||
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
|
||||
includes = [ "glib.cabal" ];
|
||||
stripLen = 1;
|
||||
sha256 = "1zdss1xgsbijs3kx8dp5a81qryrfc1zm1xrd20whna3dqakf8b7g";
|
||||
});
|
||||
gio = appendPatch super.gio (pkgs.fetchpatch {
|
||||
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
|
||||
includes = [ "gio.cabal" ];
|
||||
stripLen = 1;
|
||||
sha256 = "0d72k6gqvgax9jcqi3gz1gqnar7jg8p5065z3mw2fcwvdw46s2zv";
|
||||
});
|
||||
pango = appendPatch super.pango (pkgs.fetchpatch {
|
||||
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
|
||||
includes = [ "pango.cabal" ];
|
||||
stripLen = 1;
|
||||
sha256 = "0dc221wlmyhc24h6ybfhbkxmcx4i6bvkbr1zgqidbnj3yp6w0l5w";
|
||||
});
|
||||
# gtk/gtk3 have an additional complication: independent of the above
|
||||
# 0.13.8.0-specific fix, they need to be told on Darwin to use the Quartz
|
||||
# rather than X11 backend (see eg https://github.com/gtk2hs/gtk2hs/issues/249).
|
||||
gtk3 =
|
||||
let
|
||||
patchedGtk3 = appendPatch super.gtk3 (pkgs.fetchpatch {
|
||||
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
|
||||
includes = [ "gtk3.cabal" ];
|
||||
stripLen = 1;
|
||||
sha256 = "0zvj0dzfwf9bksfhi0m4v0h5aij236gd0qhyr1adpdcjrkd8zbkd";
|
||||
});
|
||||
in
|
||||
# The appendConfigureFlags should remain even after we can drop patchedGtk3.
|
||||
appendConfigureFlags patchedGtk3 (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
|
||||
gtk =
|
||||
let
|
||||
patchedGtk = appendPatch super.gtk (pkgs.fetchpatch {
|
||||
url = "https://github.com/gtk2hs/gtk2hs/commit/1cf2f9bff2427d39986e32880d1383cfff49ab0e.patch";
|
||||
includes = [ "gtk.cabal-renamed" ];
|
||||
stripLen = 1;
|
||||
sha256 = "0wb0scvmhg8b42hxpns9m6zak3r8b25a2z7wg6vl56n17nb635l7";
|
||||
# One final complication: the gtk cabal file in the source repo (as seen
|
||||
# by the patch) is `gtk.cabal-renamed`, but this gets changed to the usual
|
||||
# `gtk.cabal` before uploading to Hackage by a script.
|
||||
postFetch = ''
|
||||
substituteInPlace $out --replace "-renamed" ""
|
||||
'';
|
||||
});
|
||||
in
|
||||
# The appendConfigureFlags should remain even after we can drop patchedGtk.
|
||||
appendConfigureFlags patchedGtk (pkgs.lib.optional pkgs.stdenv.isDarwin "-f have-quartz-gtk");
|
||||
|
||||
# Chart-tests needs and compiles some modules from Chart itself
|
||||
Chart-tests = (addExtraLibrary super.Chart-tests self.QuickCheck).overrideAttrs (old: {
|
||||
preCheck = old.postPatch or "" + ''
|
||||
tar --one-top-level=../chart --strip-components=1 -xf ${self.Chart.src}
|
||||
'';
|
||||
});
|
||||
|
||||
# Unnecessary upper bound on vector <0.12.1
|
||||
bitwise-enum = doJailbreak super.bitwise-enum;
|
||||
|
||||
# This breaks because of version bounds, but compiles and runs fine.
|
||||
# Last commit is 5 years ago, so we likely won't get upstream fixed soon.
|
||||
# https://bitbucket.org/rvlm/hakyll-contrib-hyphenation/src/master/
|
||||
# Therefore we jailbreak it.
|
||||
hakyll-contrib-hyphenation = doJailbreak super.hakyll-contrib-hyphenation;
|
||||
|
||||
# https://github.com/bergmark/feed/issues/43
|
||||
feed = dontCheck super.feed;
|
||||
|
||||
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
|
||||
|
||||
@@ -44,27 +44,21 @@ self: super: {
|
||||
|
||||
# Jailbreak to fix the build.
|
||||
async = doJailbreak super.async;
|
||||
ChasingBottoms = doJailbreak super.ChasingBottoms;
|
||||
hashable = doJailbreak super.hashable;
|
||||
primitive_0_7_0_0 = doJailbreak (dontCheck super.primitive_0_7_0_0); # evaluating the test suite gives an infinite recursion
|
||||
regex-base_0_94_0_0 = doJailbreak super.regex-base_0_94_0_0;
|
||||
regex-compat_0_95_2_0 = doJailbreak super.regex-compat_0_95_2_0;
|
||||
regex-posix_0_96_0_0 = doJailbreak super.regex-posix_0_96_0_0;
|
||||
parallel = doJailbreak super.parallel;
|
||||
regex-base = doJailbreak super.regex-base;
|
||||
regex-compat = doJailbreak super.regex-compat;
|
||||
regex-pcre-builtin = doJailbreak super.regex-pcre-builtin;
|
||||
regex-posix = doJailbreak super.regex-posix;
|
||||
regex-tdfa = doJailbreak super.regex-tdfa;
|
||||
split = doJailbreak super.split;
|
||||
tar = doJailbreak super.tar;
|
||||
tasty-expected-failure = doJailbreak super.tasty-expected-failure;
|
||||
unliftio-core = doJailbreak super.unliftio-core;
|
||||
vector = doJailbreak super.vector;
|
||||
zlib = doJailbreak super.zlib;
|
||||
parallel = doJailbreak super.parallel;
|
||||
split = doJailbreak super.split;
|
||||
|
||||
# Use the latest version to fix the build.
|
||||
generic-deriving = self.generic-deriving_1_13_1;
|
||||
optparse-applicative = self.optparse-applicative_0_15_1_0;
|
||||
primitive = self.primitive_0_7_0_0;
|
||||
regex-base = self.regex-base_0_94_0_0;
|
||||
regex-compat = self.regex-compat_0_95_2_0;
|
||||
regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
|
||||
regex-posix = self.regex-posix_0_96_0_0;
|
||||
regex-tdfa = self.regex-tdfa_1_3_1_0;
|
||||
|
||||
}
|
||||
|
||||
@@ -87,4 +87,8 @@ self: super: {
|
||||
# Builds only with ghc-8.8.x and beyond.
|
||||
policeman = markBroken super.policeman;
|
||||
|
||||
# https://github.com/pikajude/stylish-cabal/issues/12
|
||||
stylish-cabal = doDistribute (markUnbroken (super.stylish-cabal.override { haddock-library = self.haddock-library_1_7_0; }));
|
||||
haddock-library_1_7_0 = dontCheck super.haddock-library_1_7_0;
|
||||
|
||||
}
|
||||
|
||||
@@ -68,86 +68,26 @@ self: super: {
|
||||
io-streams-haproxy = doJailbreak super.io-streams-haproxy; # base >=4.5 && <4.13
|
||||
snap-server = doJailbreak super.snap-server;
|
||||
xmobar = doJailbreak super.xmobar;
|
||||
|
||||
# use latest version to fix the build
|
||||
brick = self.brick_0_51;
|
||||
dbus = self.dbus_1_2_11;
|
||||
doctemplates = self.doctemplates_0_8;
|
||||
exact-pi = doJailbreak super.exact-pi;
|
||||
generics-sop = self.generics-sop_0_5_0_0;
|
||||
hackage-db = self.hackage-db_2_1_0;
|
||||
haddock-library = self.haddock-library_1_8_0;
|
||||
haskell-src-meta = self.haskell-src-meta_0_8_5;
|
||||
haskell-src-meta_0_8_5 = dontCheck super.haskell-src-meta_0_8_5;
|
||||
HaTeX = self.HaTeX_3_22_0_0;
|
||||
HsYAML = self.HsYAML_0_2_1_0;
|
||||
json-autotype = doJailbreak super.json-autotype;
|
||||
lens = self.lens_4_19;
|
||||
memory = self.memory_0_15_0;
|
||||
microlens = self.microlens_0_4_11_2;
|
||||
microlens-ghc = self.microlens-ghc_0_4_12;
|
||||
microlens-mtl = self.microlens-mtl_0_2_0_1;
|
||||
microlens-platform = self.microlens-platform_0_4_1;
|
||||
microlens-th = self.microlens-th_0_4_3_4;
|
||||
network = self.network_3_1_1_1;
|
||||
optparse-applicative = self.optparse-applicative_0_15_1_0;
|
||||
pandoc = dontCheck super.pandoc_2_9_1_1; # https://github.com/jgm/pandoc/issues/6086
|
||||
pandoc-types = self.pandoc-types_1_20;
|
||||
prettyprinter = self.prettyprinter_1_6_0;
|
||||
primitive = dontCheck super.primitive_0_7_0_0; # evaluating the test suite gives an infinite recursion
|
||||
regex-base = self.regex-base_0_94_0_0;
|
||||
regex-compat = self.regex-compat_0_95_2_0;
|
||||
regex-pcre-builtin = self.regex-pcre-builtin_0_95_1_1_8_43;
|
||||
regex-posix = self.regex-posix_0_96_0_0;
|
||||
regex-tdfa = self.regex-tdfa_1_3_1_0;
|
||||
shelly = self.shelly_1_9_0;
|
||||
singletons = self.singletons_2_6;
|
||||
skylighting = self.skylighting_0_8_3_2;
|
||||
skylighting-core = self.skylighting-core_0_8_3_2;
|
||||
sop-core = self.sop-core_0_5_0_0;
|
||||
texmath = self.texmath_0_12;
|
||||
th-desugar = self.th-desugar_1_10;
|
||||
tls = self.tls_1_5_3;
|
||||
trifecta = self.trifecta_2_1;
|
||||
vty = self.vty_5_26;
|
||||
xml-conduit = overrideCabal super.xml-conduit (drv: { version = "1.9.0.0"; sha256 = "1p57v127882rxvvmwjmvnqdmk3x2wg1z4d8y03849h0xaz1vid0w"; });
|
||||
xmonad-contrib = self.xmonad-contrib_0_16;
|
||||
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";
|
||||
});
|
||||
polyparse = appendPatch (doJailbreak super.polyparse) (pkgs.fetchpatch {
|
||||
url = "https://raw.githubusercontent.com/hvr/head.hackage/master/patches/polyparse-1.12.1.patch";
|
||||
sha256 = "01b2gnsq0x4fd9na8zpk6pajym55mbz64hgzawlwxdw0y6681kr5";
|
||||
});
|
||||
foundation = dontCheck super.foundation;
|
||||
vault = dontHaddock super.vault;
|
||||
|
||||
# https://github.com/snapframework/snap-core/issues/288
|
||||
snap-core = overrideCabal super.snap-core (drv: { prePatch = "substituteInPlace src/Snap/Internal/Core.hs --replace 'fail = Fail.fail' ''"; });
|
||||
# needs a release
|
||||
json = overrideCabal super.json (drv: { prePatch = "substituteInPlace json.cabal --replace '4.13' '4.14'"; patches = [(
|
||||
pkgs.fetchpatch {
|
||||
url = "https://github.com/GaloisInc/json/commit/9d36ca5d865be7e4b2126b68a444b901941d2492.patch";
|
||||
sha256 = "0vyi5nbivkqg6zngq7rb3wwcj9043m4hmyk155nrcddl8j2smfzv";
|
||||
}
|
||||
)]; });
|
||||
|
||||
# Upstream ships a broken Setup.hs file.
|
||||
csv = overrideCabal super.csv (drv: { prePatch = "rm Setup.hs"; });
|
||||
|
||||
# mark broken packages
|
||||
bencode = markBrokenVersion "0.6.0.0" super.bencode;
|
||||
easytest = markBroken super.easytest;
|
||||
easytest_0_3 = markBroken super.easytest_0_3;
|
||||
haskell-src = markBrokenVersion "1.0.3.0" super.haskell-src;
|
||||
|
||||
# The LTS-14.x version of the dependencies are too old.
|
||||
policeman = super.policeman.overrideScope (self: super: { ansi-terminal = self.ansi-terminal_0_10_2; relude = self.relude_0_6_0_0; });
|
||||
|
||||
# https://github.com/kowainik/relude/issues/241
|
||||
relude_0_6_0_0 = dontCheck super.relude_0_6_0_0;
|
||||
relude = dontCheck super.relude;
|
||||
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -640,18 +640,22 @@ self: super: builtins.intersectAttrs super {
|
||||
# we can safely jailbreak spago and use the older directory package from
|
||||
# LTS-14.
|
||||
spagoWithOverrides = doJailbreak (super.spago.override {
|
||||
# spago requires dhall_1_27_0.
|
||||
dhall = self.dhall_1_27_0;
|
||||
# spago requires dhall-1.29.0.
|
||||
dhall = self.dhall_1_29_0;
|
||||
});
|
||||
|
||||
# This defines the version of the purescript-docs-search release we are using.
|
||||
# This is defined in the src/Spago/Prelude.hs file in the spago source.
|
||||
docsSearchVersion = "v0.0.8";
|
||||
|
||||
docsSearchAppJsFile = pkgs.fetchurl {
|
||||
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/docs-search-app.js";
|
||||
sha256 = "11721x455qzh40vzfmralaynn9v8b5wix86r107hhs08vhryjib2";
|
||||
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js";
|
||||
sha256 = "00pzi7pgjicpa0mg0al80gh2q1q2lqiyb3kjarpydlmn8dfjny7v";
|
||||
};
|
||||
|
||||
purescriptDocsSearchFile = pkgs.fetchurl {
|
||||
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/v0.0.5/purescript-docs-search";
|
||||
sha256 = "16p1fmdvpwz1yswav8qjsd26c9airb22xncqw1rjnbd8lcpqx0p5";
|
||||
url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search";
|
||||
sha256 = "1hsi1hc4p1z2xbw82w2jxmmczw6mravli1r89vrkivb72sqdjya7";
|
||||
};
|
||||
|
||||
spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
|
||||
@@ -676,6 +680,11 @@ self: super: builtins.intersectAttrs super {
|
||||
# https://github.com/spacchetti/spago/issues/510
|
||||
cp ${docsSearchAppJsFile} "$sourceRoot/templates/docs-search-app.js"
|
||||
cp ${purescriptDocsSearchFile} "$sourceRoot/templates/purescript-docs-search"
|
||||
|
||||
# For some weird reason, on Darwin, the open(2) call to embed these files
|
||||
# requires write permissions. The easiest resolution is just to permit that
|
||||
# (doesn't cause any harm on other systems).
|
||||
chmod u+w "$sourceRoot/templates/docs-search-app.js" "$sourceRoot/templates/purescript-docs-search"
|
||||
'';
|
||||
});
|
||||
|
||||
@@ -688,4 +697,17 @@ self: super: builtins.intersectAttrs super {
|
||||
# checks SQL statements at compile time, and so requires a running PostgreSQL
|
||||
# database to run it's test suite
|
||||
postgresql-typed = dontCheck super.postgresql-typed;
|
||||
|
||||
# mplayer-spot uses mplayer at runtime.
|
||||
mplayer-spot =
|
||||
let path = pkgs.stdenv.lib.makeBinPath [ pkgs.mplayer ];
|
||||
in overrideCabal (addBuildTool super.mplayer-spot pkgs.makeWrapper) (oldAttrs: {
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/mplayer-spot --prefix PATH : "${path}"
|
||||
'';
|
||||
});
|
||||
|
||||
# break infinite recursion with base-orphans
|
||||
primitive = dontCheck super.primitive;
|
||||
|
||||
}
|
||||
|
||||
14209
pkgs/development/haskell-modules/hackage-packages.nix
generated
14209
pkgs/development/haskell-modules/hackage-packages.nix
generated
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,125 @@
|
||||
From f8d8959e43abd88c5e977079f0948e45cf4c0b0c Mon Sep 17 00:00:00 2001
|
||||
From: Peter Simons <simons@cryp.to>
|
||||
Date: Fri, 28 Feb 2020 11:56:48 +0100
|
||||
Subject: [PATCH] Fix build with ghc-8.8.x.
|
||||
|
||||
The 'fail' method has been moved to the 'MonadFail' class. I made the changes
|
||||
so that the code still compiles with previous versions of 'base' that don't
|
||||
have the new MonadFail class exported by Prelude yet.
|
||||
---
|
||||
CmdLine/GitAnnex/Options.hs | 5 +++--
|
||||
Command/Expire.hs | 5 +++--
|
||||
Command/Init.hs | 7 ++++---
|
||||
Utility/HumanTime.hs | 5 +++--
|
||||
4 files changed, 13 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/CmdLine/GitAnnex/Options.hs b/CmdLine/GitAnnex/Options.hs
|
||||
index 030c83dd5..a9a36d76f 100644
|
||||
--- a/CmdLine/GitAnnex/Options.hs
|
||||
+++ b/CmdLine/GitAnnex/Options.hs
|
||||
@@ -9,6 +9,7 @@
|
||||
|
||||
module CmdLine.GitAnnex.Options where
|
||||
|
||||
+import Control.Monad.Fail as Fail ( MonadFail(..) )
|
||||
import Options.Applicative
|
||||
import qualified Data.Map as M
|
||||
|
||||
@@ -215,8 +216,8 @@ parseAllOption = flag' WantAllKeys
|
||||
<> help "operate on all versions of all files"
|
||||
)
|
||||
|
||||
-parseKey :: Monad m => String -> m Key
|
||||
-parseKey = maybe (fail "invalid key") return . deserializeKey
|
||||
+parseKey :: MonadFail m => String -> m Key
|
||||
+parseKey = maybe (Fail.fail "invalid key") return . deserializeKey
|
||||
|
||||
-- Options to match properties of annexed files.
|
||||
annexedMatchingOptions :: [GlobalOption]
|
||||
diff --git a/Command/Expire.hs b/Command/Expire.hs
|
||||
index 83c38e569..37dc33883 100644
|
||||
--- a/Command/Expire.hs
|
||||
+++ b/Command/Expire.hs
|
||||
@@ -17,6 +17,7 @@ import Annex.VectorClock
|
||||
import qualified Remote
|
||||
import Utility.HumanTime
|
||||
|
||||
+import Control.Monad.Fail as Fail ( MonadFail(..) )
|
||||
import Data.Time.Clock.POSIX
|
||||
import qualified Data.Map as M
|
||||
|
||||
@@ -105,9 +106,9 @@ parseExpire ps = do
|
||||
Nothing -> giveup $ "bad expire time: " ++ s
|
||||
Just d -> Just (now - durationToPOSIXTime d)
|
||||
|
||||
-parseActivity :: Monad m => String -> m Activity
|
||||
+parseActivity :: MonadFail m => String -> m Activity
|
||||
parseActivity s = case readish s of
|
||||
- Nothing -> fail $ "Unknown activity. Choose from: " ++
|
||||
+ Nothing -> Fail.fail $ "Unknown activity. Choose from: " ++
|
||||
unwords (map show [minBound..maxBound :: Activity])
|
||||
Just v -> return v
|
||||
|
||||
diff --git a/Command/Init.hs b/Command/Init.hs
|
||||
index db6cb14fb..879a1110f 100644
|
||||
--- a/Command/Init.hs
|
||||
+++ b/Command/Init.hs
|
||||
@@ -13,6 +13,7 @@ import Annex.Version
|
||||
import Types.RepoVersion
|
||||
import qualified Annex.SpecialRemote
|
||||
|
||||
+import Control.Monad.Fail as Fail ( MonadFail(..) )
|
||||
import qualified Data.Map as M
|
||||
|
||||
cmd :: Command
|
||||
@@ -33,14 +34,14 @@ optParser desc = InitOptions
|
||||
<> help "Override default annex.version"
|
||||
))
|
||||
|
||||
-parseRepoVersion :: Monad m => String -> m RepoVersion
|
||||
+parseRepoVersion :: MonadFail m => String -> m RepoVersion
|
||||
parseRepoVersion s = case RepoVersion <$> readish s of
|
||||
- Nothing -> fail $ "version parse error"
|
||||
+ Nothing -> Fail.fail $ "version parse error"
|
||||
Just v
|
||||
| v `elem` supportedVersions -> return v
|
||||
| otherwise -> case M.lookup v autoUpgradeableVersions of
|
||||
Just v' -> return v'
|
||||
- Nothing -> fail $ s ++ " is not a currently supported repository version"
|
||||
+ Nothing -> Fail.fail $ s ++ " is not a currently supported repository version"
|
||||
|
||||
seek :: InitOptions -> CommandSeek
|
||||
seek = commandAction . start
|
||||
diff --git a/Utility/HumanTime.hs b/Utility/HumanTime.hs
|
||||
index 01fbeacfb..d2e70f332 100644
|
||||
--- a/Utility/HumanTime.hs
|
||||
+++ b/Utility/HumanTime.hs
|
||||
@@ -19,6 +19,7 @@ module Utility.HumanTime (
|
||||
import Utility.PartialPrelude
|
||||
import Utility.QuickCheck
|
||||
|
||||
+import Control.Monad.Fail as Fail ( MonadFail(..) )
|
||||
import qualified Data.Map as M
|
||||
import Data.Time.Clock
|
||||
import Data.Time.Clock.POSIX (POSIXTime)
|
||||
@@ -44,7 +45,7 @@ daysToDuration :: Integer -> Duration
|
||||
daysToDuration i = Duration $ i * dsecs
|
||||
|
||||
{- Parses a human-input time duration, of the form "5h", "1m", "5h1m", etc -}
|
||||
-parseDuration :: Monad m => String -> m Duration
|
||||
+parseDuration :: MonadFail m => String -> m Duration
|
||||
parseDuration = maybe parsefail (return . Duration) . go 0
|
||||
where
|
||||
go n [] = return n
|
||||
@@ -55,7 +56,7 @@ parseDuration = maybe parsefail (return . Duration) . go 0
|
||||
u <- M.lookup c unitmap
|
||||
go (n + num * u) rest
|
||||
_ -> return $ n + num
|
||||
- parsefail = fail "duration parse error; expected eg \"5m\" or \"1h5m\""
|
||||
+ parsefail = Fail.fail "duration parse error; expected eg \"5m\" or \"1h5m\""
|
||||
|
||||
fromDuration :: Duration -> String
|
||||
fromDuration Duration { durationSeconds = d }
|
||||
--
|
||||
2.25.1
|
||||
|
||||
Reference in New Issue
Block a user