summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
blob: 43f769ff6fd54f67da78c7cd7306a1768ed72f1e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
{ pkgs, haskellLib }:

with haskellLib;

self: super: {

  # Suitable LLVM version.
  llvmPackages = pkgs.llvmPackages_37;

  # Disable GHC 8.0.x core libraries.
  array = null;
  base = null;
  binary = null;
  bytestring = null;
  Cabal = null;
  containers = null;
  deepseq = null;
  directory = null;
  filepath = null;
  ghc-boot = null;
  ghc-boot-th = null;
  ghc-compact = null;
  ghc-prim = null;
  ghci = null;
  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;

  # These are now core libraries in GHC 8.4.x.
  mtl = self.mtl_2_2_2;
  parsec = self.parsec_3_1_13_0;
  stm = self.stm_2_5_0_0;
  text = self.text_1_2_3_1;

  # https://github.com/bmillwood/applicative-quoters/issues/6
  applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
    url = "https://patch-diff.githubusercontent.com/raw/bmillwood/applicative-quoters/pull/7.patch";
    sha256 = "026vv2k3ks73jngwifszv8l59clg88pcdr4mz0wr0gamivkfa1zy";
  });

  # Requires ghc 8.2
  ghc-proofs = dontDistribute super.ghc-proofs;

  # https://github.com/thoughtbot/yesod-auth-oauth2/pull/77
  yesod-auth-oauth2 = doJailbreak super.yesod-auth-oauth2;

  # https://github.com/nominolo/ghc-syb/issues/20
  ghc-syb-utils = dontCheck super.ghc-syb-utils;

  # Newer versions require ghc>=8.2
  apply-refact = super.apply-refact_0_3_0_1;

  # This builds needs the latest Cabal version.
  cabal2nix = super.cabal2nix.overrideScope (self: super: { Cabal = self.Cabal_2_0_1_1; });

  # Add appropriate Cabal library to build this code.
  stack = addSetupDepend super.stack self.Cabal_2_0_1_1;

  # inline-c > 0.5.6.0 requires template-haskell >= 2.12
  inline-c = super.inline-c_0_5_6_1;
  inline-c-cpp = super.inline-c-cpp_0_1_0_0;

  # test dep hedgehog pulls in concurrent-output, which does not build
  # due to processing version mismatch
  either = dontCheck super.either;

  # test dep tasty has a version mismatch
  indents = dontCheck super.indents;

  # Newer versions require GHC 8.2.
  haddock-library = self.haddock-library_1_4_3;
  haddock-api = self.haddock-api_2_17_4;
  haddock = self.haddock_2_17_5;

  # GHC 8.0 doesn't have semigroups included by default
  ListLike = addBuildDepend super.ListLike self.semigroups;

  # Add missing build depedency for this compiler.
  base-compat-batteries = addBuildDepend super.base-compat-batteries self.bifunctors;

}