Merge master into staging-next

This commit is contained in:
Frederik Rietdijk
2020-02-29 15:29:11 +01:00
124 changed files with 14588 additions and 19752 deletions

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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;
}

File diff suppressed because it is too large Load Diff

View File

@@ -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