2017-08-01 17:44:08 +01:00
|
|
|
|
{ pkgs, haskellLib }:
|
2015-01-07 19:31:32 +00:00
|
|
|
|
|
2017-08-01 17:44:08 +01:00
|
|
|
|
with haskellLib;
|
2015-01-07 19:31:32 +00:00
|
|
|
|
|
|
|
|
|
self: super: {
|
|
|
|
|
|
2015-03-09 19:11:23 +00:00
|
|
|
|
# Suitable LLVM version.
|
|
|
|
|
llvmPackages = pkgs.llvmPackages_35;
|
|
|
|
|
|
2015-01-19 11:12:28 +00:00
|
|
|
|
# Disable GHC 7.10.x core libraries.
|
2015-01-07 19:31:32 +00:00
|
|
|
|
array = null;
|
|
|
|
|
base = null;
|
|
|
|
|
binary = null;
|
|
|
|
|
bin-package-db = null;
|
|
|
|
|
bytestring = null;
|
|
|
|
|
Cabal = null;
|
|
|
|
|
containers = null;
|
|
|
|
|
deepseq = null;
|
|
|
|
|
directory = null;
|
|
|
|
|
filepath = null;
|
2016-05-28 12:13:24 +01:00
|
|
|
|
ghc-boot = null;
|
|
|
|
|
ghc-boot-th = null;
|
2015-01-07 19:31:32 +00:00
|
|
|
|
ghc-prim = null;
|
2016-05-28 12:13:24 +01:00
|
|
|
|
ghci = null;
|
2015-01-07 19:31:32 +00:00
|
|
|
|
haskeline = null;
|
|
|
|
|
hoopl = null;
|
|
|
|
|
hpc = null;
|
|
|
|
|
integer-gmp = null;
|
|
|
|
|
pretty = null;
|
|
|
|
|
process = null;
|
|
|
|
|
rts = null;
|
|
|
|
|
template-haskell = null;
|
|
|
|
|
terminfo = null;
|
|
|
|
|
time = null;
|
|
|
|
|
transformers = null;
|
|
|
|
|
unix = null;
|
|
|
|
|
xhtml = null;
|
|
|
|
|
|
2018-07-10 00:23:50 +01:00
|
|
|
|
# These are now core libraries in GHC 8.4.x.
|
|
|
|
|
mtl = self.mtl_2_2_2;
|
|
|
|
|
parsec = self.parsec_3_1_13_0;
|
|
|
|
|
parsec_3_1_13_0 = addBuildDepends super.parsec_3_1_13_0 [self.fail self.semigroups];
|
2018-09-12 09:27:39 +01:00
|
|
|
|
stm = self.stm_2_4_5_1;
|
2018-07-10 00:23:50 +01:00
|
|
|
|
text = self.text_1_2_3_0;
|
|
|
|
|
|
2016-05-06 11:11:34 +01:00
|
|
|
|
# Build jailbreak-cabal with the latest version of Cabal.
|
2016-12-08 10:51:30 +00:00
|
|
|
|
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = self.Cabal_1_24_2_0; };
|
2015-01-09 18:17:59 +00:00
|
|
|
|
|
2018-07-09 17:22:23 +01:00
|
|
|
|
gtk2hs-buildtools = super.gtk2hs-buildtools.override { Cabal = self.buildHaskellPackages.Cabal_1_24_2_0; };
|
2017-02-27 22:56:26 +00:00
|
|
|
|
|
2018-03-12 09:36:01 +00:00
|
|
|
|
# https://github.com/mrkkrp/megaparsec/issues/282
|
|
|
|
|
megaparsec = addBuildDepend (dontCheck super.megaparsec) self.fail;
|
2017-02-27 22:56:55 +00:00
|
|
|
|
|
2015-04-25 03:09:43 +01:00
|
|
|
|
Extra = appendPatch super.Extra (pkgs.fetchpatch {
|
|
|
|
|
url = "https://github.com/seereason/sr-extra/commit/29787ad4c20c962924b823d02a7335da98143603.patch";
|
|
|
|
|
sha256 = "193i1xmq6z0jalwmq0mhqk1khz6zz0i1hs6lgfd7ybd6qyaqnf5f";
|
|
|
|
|
});
|
|
|
|
|
|
2017-09-10 09:45:33 +01:00
|
|
|
|
# Requires ghc 8.2
|
|
|
|
|
ghc-proofs = dontDistribute super.ghc-proofs;
|
|
|
|
|
|
2015-01-09 19:57:39 +00:00
|
|
|
|
# haddock: No input file(s).
|
2015-01-10 19:27:16 +00:00
|
|
|
|
nats = dontHaddock super.nats;
|
2015-12-31 17:26:26 +00:00
|
|
|
|
bytestring-builder = dontHaddock super.bytestring-builder;
|
2015-01-09 19:57:39 +00:00
|
|
|
|
|
2015-01-07 19:31:32 +00:00
|
|
|
|
# Setup: At least the following dependencies are missing: base <4.8
|
|
|
|
|
hspec-expectations = overrideCabal super.hspec-expectations (drv: {
|
2015-08-06 13:10:48 +01:00
|
|
|
|
postPatch = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
|
2015-01-07 19:31:32 +00:00
|
|
|
|
});
|
2015-01-09 18:38:34 +00:00
|
|
|
|
utf8-string = overrideCabal super.utf8-string (drv: {
|
2015-08-06 13:10:48 +01:00
|
|
|
|
postPatch = "sed -i -e 's|base >= 3 && < 4.8|base|' utf8-string.cabal";
|
2015-01-09 18:38:34 +00:00
|
|
|
|
});
|
2015-01-07 19:31:32 +00:00
|
|
|
|
|
2015-04-11 20:23:53 +01:00
|
|
|
|
# acid-state/safecopy#25 acid-state/safecopy#26
|
|
|
|
|
safecopy = dontCheck (super.safecopy);
|
|
|
|
|
|
2015-04-22 14:18:56 +01:00
|
|
|
|
# test suite broken, some instance is declared twice.
|
2015-04-22 20:00:01 +01:00
|
|
|
|
# https://bitbucket.org/FlorianHartwig/attobencode/issue/1
|
2015-04-22 14:18:56 +01:00
|
|
|
|
AttoBencode = dontCheck super.AttoBencode;
|
|
|
|
|
|
2015-01-09 18:53:07 +00:00
|
|
|
|
# Test suite fails with some (seemingly harmless) error.
|
|
|
|
|
# https://code.google.com/p/scrapyourboilerplate/issues/detail?id=24
|
2015-01-10 19:27:16 +00:00
|
|
|
|
syb = dontCheck super.syb;
|
2015-01-09 18:53:07 +00:00
|
|
|
|
|
2015-01-12 14:46:35 +00:00
|
|
|
|
# Test suite has stricter version bounds
|
|
|
|
|
retry = dontCheck super.retry;
|
|
|
|
|
|
2015-08-12 19:45:12 +01:00
|
|
|
|
# test/System/Posix/Types/OrphansSpec.hs:19:13:
|
|
|
|
|
# Not in scope: type constructor or class ‘Int32’
|
|
|
|
|
base-orphans = dontCheck super.base-orphans;
|
|
|
|
|
|
2015-01-12 14:58:56 +00:00
|
|
|
|
# Test suite fails with time >= 1.5
|
|
|
|
|
http-date = dontCheck super.http-date;
|
|
|
|
|
|
2015-01-10 10:02:37 +00:00
|
|
|
|
# Version 1.19.5 fails its test suite.
|
2015-01-10 19:27:16 +00:00
|
|
|
|
happy = dontCheck super.happy;
|
2015-01-10 10:02:37 +00:00
|
|
|
|
|
2015-01-30 17:43:29 +00:00
|
|
|
|
# Upstream was notified about the over-specified constraint on 'base'
|
|
|
|
|
# but refused to do anything about it because he "doesn't want to
|
|
|
|
|
# support a moving target". Go figure.
|
|
|
|
|
barecheck = doJailbreak super.barecheck;
|
|
|
|
|
|
2015-02-23 01:31:28 +00:00
|
|
|
|
# https://github.com/kazu-yamamoto/unix-time/issues/30
|
|
|
|
|
unix-time = dontCheck super.unix-time;
|
|
|
|
|
|
2015-04-11 22:20:06 +01:00
|
|
|
|
# diagrams/monoid-extras#19
|
|
|
|
|
monoid-extras = overrideCabal super.monoid-extras (drv: {
|
|
|
|
|
prePatch = "sed -i 's|4\.8|4.9|' monoid-extras.cabal";
|
|
|
|
|
});
|
2015-04-11 22:26:32 +01:00
|
|
|
|
|
|
|
|
|
# diagrams/statestack#5
|
|
|
|
|
statestack = overrideCabal super.statestack (drv: {
|
|
|
|
|
prePatch = "sed -i 's|4\.8|4.9|' statestack.cabal";
|
|
|
|
|
});
|
2015-04-11 22:40:04 +01:00
|
|
|
|
|
|
|
|
|
# diagrams/diagrams-core#83
|
|
|
|
|
diagrams-core = overrideCabal super.diagrams-core (drv: {
|
|
|
|
|
prePatch = "sed -i 's|4\.8|4.9|' diagrams-core.cabal";
|
|
|
|
|
});
|
2015-04-11 23:22:50 +01:00
|
|
|
|
|
2015-04-14 19:24:58 +01:00
|
|
|
|
timezone-olson = doJailbreak super.timezone-olson;
|
|
|
|
|
xmonad-extras = overrideCabal super.xmonad-extras (drv: {
|
|
|
|
|
postPatch = ''
|
|
|
|
|
sed -i -e "s,<\*,<¤,g" XMonad/Actions/Volume.hs
|
|
|
|
|
'';
|
|
|
|
|
});
|
2015-03-31 14:30:28 +01:00
|
|
|
|
|
|
|
|
|
# Workaround for a workaround, see comment for "ghcjs" flag.
|
|
|
|
|
jsaddle = let jsaddle' = disableCabalFlag super.jsaddle "ghcjs";
|
|
|
|
|
in addBuildDepends jsaddle' [ self.glib self.gtk3 self.webkitgtk3
|
|
|
|
|
self.webkitgtk3-javascriptcore ];
|
|
|
|
|
|
2015-04-17 16:40:48 +01:00
|
|
|
|
# https://github.com/lymar/hastache/issues/47
|
|
|
|
|
hastache = dontCheck super.hastache;
|
|
|
|
|
|
2015-04-19 18:48:11 +01:00
|
|
|
|
# The compat library is empty in the presence of mtl 2.2.x.
|
|
|
|
|
mtl-compat = dontHaddock super.mtl-compat;
|
|
|
|
|
|
2015-04-19 19:05:11 +01:00
|
|
|
|
# https://github.com/bos/bloomfilter/issues/11
|
|
|
|
|
bloomfilter = dontHaddock (appendConfigureFlag super.bloomfilter "--ghc-option=-XFlexibleContexts");
|
|
|
|
|
|
2015-04-19 19:18:13 +01:00
|
|
|
|
# https://github.com/ocharles/tasty-rerun/issues/5
|
|
|
|
|
tasty-rerun = dontHaddock (appendConfigureFlag super.tasty-rerun "--ghc-option=-XFlexibleContexts");
|
|
|
|
|
|
2015-05-18 14:59:44 +01:00
|
|
|
|
# http://hub.darcs.net/ivanm/graphviz/issue/5
|
2016-10-19 14:11:51 +01:00
|
|
|
|
graphviz = dontCheck (appendPatch super.graphviz ./patches/graphviz-fix-ghc710.patch);
|
2015-05-18 14:59:44 +01:00
|
|
|
|
|
2015-05-05 20:24:27 +01:00
|
|
|
|
# https://github.com/HugoDaniel/RFC3339/issues/14
|
|
|
|
|
timerep = dontCheck super.timerep;
|
|
|
|
|
|
2015-05-18 17:16:38 +01:00
|
|
|
|
# Required to fix version 0.91.0.0.
|
|
|
|
|
wx = dontHaddock (appendConfigureFlag super.wx "--ghc-option=-XFlexibleContexts");
|
|
|
|
|
|
2015-07-13 12:05:15 +01:00
|
|
|
|
# Inexplicable haddock failure
|
|
|
|
|
# https://github.com/gregwebs/aeson-applicative/issues/2
|
|
|
|
|
aeson-applicative = dontHaddock super.aeson-applicative;
|
2015-07-17 17:01:41 +01:00
|
|
|
|
|
|
|
|
|
# GHC 7.10.1 is affected by https://github.com/srijs/hwsl2/issues/1.
|
|
|
|
|
hwsl2 = dontCheck super.hwsl2;
|
|
|
|
|
|
2015-08-06 16:14:50 +01:00
|
|
|
|
# https://github.com/haskell/haddock/issues/427
|
2016-07-26 22:35:13 +01:00
|
|
|
|
haddock = dontCheck self.haddock_2_16_1;
|
2015-08-06 16:14:50 +01:00
|
|
|
|
|
2016-05-29 20:24:44 +01:00
|
|
|
|
# haddock-api >= 2.17 is GHC 8.0 only
|
|
|
|
|
haddock-api = self.haddock-api_2_16_1;
|
2016-10-12 15:47:55 +01:00
|
|
|
|
haddock-library = self.haddock-library_1_2_1;
|
2016-05-29 20:24:44 +01:00
|
|
|
|
|
2015-08-19 18:15:38 +01:00
|
|
|
|
# The tests in vty-ui do not build, but vty-ui itself builds.
|
|
|
|
|
vty-ui = enableCabalFlag super.vty-ui "no-tests";
|
|
|
|
|
|
2016-01-08 17:43:24 +00:00
|
|
|
|
# https://github.com/fpco/stackage/issues/1112
|
2017-12-29 16:36:56 +00:00
|
|
|
|
vector-algorithms = addBuildDepends (dontCheck super.vector-algorithms) [ self.mtl self.mwc-random ];
|
2016-01-08 17:43:24 +00:00
|
|
|
|
|
2017-08-13 21:31:56 +01:00
|
|
|
|
# vector with ghc < 8.0 needs semigroups
|
|
|
|
|
vector = addBuildDepend super.vector self.semigroups;
|
|
|
|
|
|
|
|
|
|
# too strict dependency on directory
|
|
|
|
|
tasty-ant-xml = doJailbreak super.tasty-ant-xml;
|
|
|
|
|
|
2016-05-06 13:02:28 +01:00
|
|
|
|
# https://github.com/thoughtpolice/hs-ed25519/issues/13
|
|
|
|
|
ed25519 = dontCheck super.ed25519;
|
|
|
|
|
|
2017-02-27 19:26:27 +00:00
|
|
|
|
# Breaks a dependency cycle between QuickCheck and semigroups
|
|
|
|
|
hashable = dontCheck super.hashable;
|
|
|
|
|
unordered-containers = dontCheck super.unordered-containers;
|
|
|
|
|
|
2016-05-28 12:37:35 +01:00
|
|
|
|
# GHC versions prior to 8.x require additional build inputs.
|
2016-05-28 12:53:04 +01:00
|
|
|
|
aeson = disableCabalFlag (addBuildDepend super.aeson self.semigroups) "old-locale";
|
2017-12-29 16:36:56 +00:00
|
|
|
|
ansi-wl-pprint = addBuildDepend super.ansi-wl-pprint self.semigroups;
|
|
|
|
|
attoparsec = addBuildDepends super.attoparsec (with self; [semigroups fail]);
|
2016-06-01 17:17:46 +01:00
|
|
|
|
bytes = addBuildDepend super.bytes self.doctest;
|
2016-09-07 18:17:33 +01:00
|
|
|
|
case-insensitive = addBuildDepend super.case-insensitive self.semigroups;
|
2018-03-12 09:26:54 +00:00
|
|
|
|
cmdargs = addBuildDepend super.cmdargs self.semigroups;
|
2018-02-07 12:07:09 +00:00
|
|
|
|
contravariant = addBuildDepend super.contravariant self.semigroups;
|
2017-12-29 16:36:56 +00:00
|
|
|
|
dependent-map = addBuildDepend super.dependent-map self.semigroups;
|
|
|
|
|
distributive = addBuildDepend (dontCheck super.distributive) self.semigroups;
|
|
|
|
|
Glob = addBuildDepends super.Glob (with self; [semigroups]);
|
2016-09-07 18:17:33 +01:00
|
|
|
|
hoauth2 = overrideCabal super.hoauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.wai self.warp ]; });
|
2016-06-11 14:40:43 +01:00
|
|
|
|
hslogger = addBuildDepend super.hslogger self.HUnit;
|
2016-09-07 18:17:33 +01:00
|
|
|
|
intervals = addBuildDepends super.intervals (with self; [doctest QuickCheck]);
|
2017-03-06 01:46:42 +00:00
|
|
|
|
lens = addBuildDepend super.lens self.generic-deriving;
|
2017-12-29 16:36:56 +00:00
|
|
|
|
mono-traversable = addBuildDepend super.mono-traversable self.semigroups;
|
|
|
|
|
natural-transformation = addBuildDepend super.natural-transformation self.semigroups;
|
|
|
|
|
optparse-applicative = addBuildDepends super.optparse-applicative [self.semigroups self.fail];
|
2018-03-12 09:30:47 +00:00
|
|
|
|
parser-combinators = addBuildDepend super.parser-combinators self.semigroups;
|
2017-02-27 19:25:19 +00:00
|
|
|
|
QuickCheck = addBuildDepend super.QuickCheck self.semigroups;
|
2018-02-20 17:19:21 +00:00
|
|
|
|
reflection = addBuildDepend super.reflection self.semigroups;
|
2017-08-23 13:30:10 +01:00
|
|
|
|
semigroups = addBuildDepends (dontCheck super.semigroups) (with self; [hashable tagged text unordered-containers]);
|
2018-03-12 09:07:18 +00:00
|
|
|
|
tar = addBuildDepend super.tar self.semigroups;
|
2016-09-07 18:15:43 +01:00
|
|
|
|
texmath = addBuildDepend super.texmath self.network-uri;
|
2016-09-07 18:17:33 +01:00
|
|
|
|
yesod-auth-oauth2 = overrideCabal super.yesod-auth-oauth2 (drv: { testDepends = (drv.testDepends or []) ++ [ self.load-env self.yesod ]; });
|
2017-12-29 16:36:56 +00:00
|
|
|
|
|
|
|
|
|
# cereal must have `fail` in pre-ghc-8.0.x versions and tests require
|
|
|
|
|
# bytestring>=0.10.8.1.
|
2016-07-30 11:44:57 +01:00
|
|
|
|
cereal = dontCheck (addBuildDepend super.cereal self.fail);
|
2016-05-28 12:37:35 +01:00
|
|
|
|
|
2017-08-23 13:28:01 +01:00
|
|
|
|
# The test suite requires Cabal 1.24.x or later to compile.
|
|
|
|
|
comonad = dontCheck super.comonad;
|
2017-08-23 15:06:40 +01:00
|
|
|
|
semigroupoids = dontCheck super.semigroupoids;
|
2017-08-23 13:28:01 +01:00
|
|
|
|
|
2017-12-29 16:36:56 +00:00
|
|
|
|
# Newer versions require base >=4.9 && <5.
|
|
|
|
|
colour = self.colour_2_3_3;
|
|
|
|
|
|
|
|
|
|
# https://github.com/atzedijkstra/chr/issues/1
|
|
|
|
|
chr-pretty = doJailbreak super.chr-pretty;
|
|
|
|
|
chr-parse = doJailbreak super.chr-parse;
|
|
|
|
|
|
2018-04-02 04:25:37 +01:00
|
|
|
|
# The autogenerated Nix expressions don't take into
|
|
|
|
|
# account `if impl(ghc >= x.y)`, which is a common method to depend
|
|
|
|
|
# on `semigroups` or `fail` when building with GHC < 8.0.
|
|
|
|
|
system-filepath = addBuildDepend super.system-filepath self.semigroups;
|
|
|
|
|
haskell-src-exts = addBuildDepend super.haskell-src-exts self.semigroups;
|
|
|
|
|
free = addBuildDepend super.free self.fail;
|
|
|
|
|
|
|
|
|
|
# Newer versions don't build without base-4.9
|
|
|
|
|
resourcet = self.resourcet_1_1_11;
|
|
|
|
|
conduit = self.conduit_1_2_13_1;
|
|
|
|
|
|
2015-01-10 10:02:37 +00:00
|
|
|
|
}
|