summary refs log tree commit diff
path: root/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
blob: 61f188aeddbcef1618fdc3bfb6588ee8091b43f1 (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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
{ pkgs, haskellLib }:

with haskellLib;

self: super: {

  # This compiler version needs llvm 5.x.
  llvmPackages = pkgs.llvmPackages_5;

  # Disable GHC 8.6.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-heap = null;
  ghc-prim = null;
  ghci = null;
  haskeline = null;
  hpc = null;
  integer-gmp = null;
  libiserv = null;
  mtl = null;
  parsec = null;
  pretty = null;
  process = null;
  rts = null;
  stm = null;
  template-haskell = null;
  terminfo = null;
  text = null;
  time = null;
  transformers = null;
  unix = null;
  xhtml = null;

  # Use to be a core-library, but no longer is since GHC 8.4.x.
  hoopl = self.hoopl_3_10_2_2;

  # LTS-12.x versions do not compile.
  base-orphans = self.base-orphans_0_8;
  brick = doJailbreak super.brick_0_41_2;      # https://github.com/jtdaugherty/brick/pull/188
  cassava-megaparsec = doJailbreak super.cassava-megaparsec;
  config-ini = doJailbreak super.config-ini;   # https://github.com/aisamanra/config-ini/issues/18
  contravariant = self.contravariant_1_5;
  free = self.free_5_1;
  haddock-library = dontCheck super.haddock-library_1_7_0;
  HaTeX = doJailbreak super.HaTeX;
  hledger = doJailbreak super.hledger;
  hledger-lib = doJailbreak super.hledger-lib;
  hledger-ui = doJailbreak super.hledger-ui;
  hpack = self.hpack_0_31_0;
  hslua = self.hslua_1_0_1;
  hslua-module-text = self.hslua-module-text_0_2_0;
  hspec = self.hspec_2_5_8;
  hspec-core = self.hspec-core_2_5_8;
  hspec-discover = self.hspec-discover_2_5_8;
  hspec-megaparsec = doJailbreak super.hspec-megaparsec;  # newer versions need megaparsec 7.x
  hspec-meta = self.hspec-meta_2_5_6;
  JuicyPixels = self.JuicyPixels_3_3_2;
  lens = self.lens_4_17;
  megaparsec = dontCheck (doJailbreak super.megaparsec);
  neat-interpolation = dontCheck super.neat-interpolation;  # test suite depends on broken HTF
  patience = markBrokenVersion "0.1.1" super.patience;
  primitive = self.primitive_0_6_4_0;
  QuickCheck = self.QuickCheck_2_12_6_1;
  semigroupoids = self.semigroupoids_5_3_1;
  tagged = self.tagged_0_8_6;
  vty = self.vty_5_25;
  wizards = doJailbreak super.wizards;
  wl-pprint-extras = doJailbreak super.wl-pprint-extras;
  yaml = self.yaml_0_11_0_0;

  # https://github.com/tibbe/unordered-containers/issues/214
  unordered-containers = dontCheck super.unordered-containers;

  # https://github.com/haskell/fgl/issues/79
  # https://github.com/haskell/fgl/issues/81
  fgl = appendPatch (overrideCabal super.fgl (drv: { editedCabalFile = null; })) ./patches/fgl-monad-fail.patch;

  # Test suite does not compile.
  cereal = dontCheck super.cereal;
  data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
  Diff = dontCheck super.Diff;
  http-api-data = doJailbreak super.http-api-data;
  persistent-sqlite = dontCheck super.persistent-sqlite;
  psqueues = dontCheck super.psqueues;    # won't cope with QuickCheck 2.12.x
  system-fileio = dontCheck super.system-fileio;  # avoid dependency on broken "patience"
  unicode-transforms = dontCheck super.unicode-transforms;
  monad-par = dontCheck super.monad-par;  # https://github.com/simonmar/monad-par/issues/66

  # https://github.com/bmillwood/haskell-src-meta/pull/80
  haskell-src-meta = doJailbreak super.haskell-src-meta;

  # The official 1.12 release is broken and unmaintained.
  polyparse = appendPatch (overrideCabal super.polyparse (drv: { editedCabalFile = null; })) (pkgs.fetchpatch {
    url = https://github.com/bergmark/polyparse/commit/8a69ee7e57db798c106d8b56dce05b1dfc4fed37.patch;
    sha256 = "11r73wx1w6bfrkrnk6r9k7rfzp6qrvkdikb2by37ld06c0w6nn57";
  });

  # https://github.com/skogsbaer/HTF/issues/69
  HTF = markBrokenVersion "0.13.2.4" super.HTF;

  # https://github.com/jgm/skylighting/issues/55
  skylighting-core = dontCheck super.skylighting-core;

  # https://github.com/joelburget/easytest/issues/12
  easytest = appendPatch super.easytest (pkgs.fetchpatch {
    url = https://github.com/joelburget/easytest/pull/13.patch;
    sha256 = "0gnsgga8x2yxyg27pya6rhmxfsxf167vsi4xdj98fn8v0j7zz1v1";
  });

  # https://github.com/jgm/pandoc/issues/4974
  pandoc = doJailbreak super.pandoc_2_3_1;

  # Break out of "yaml >=0.10.4.0 && <0.11".
  stack = doJailbreak super.stack;

  # https://github.com/vimus/libmpd-haskell/issues/109
  xmobar = disableCabalFlag (super.xmobar.override { libmpd = null; }) "with_mpd";

}