summaryrefslogtreecommitdiff
path: root/Biz/Bild/Haskell.nix
blob: 2c0529a77b406e48247eae04053e531870173911 (plain)
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
_self: super:

let
  ghcCompiler = "ghc924";
  buildCabal = sel: name: sel.callCabal2nix name super.sources.${name} { };
  buildCabalSubdir = sel:
    { name, src ? super.sources.${name}, subdir ? name }:
    sel.callCabal2nix name (src + "/${subdir}") { };
in rec {

  haskell = super.haskell // {
    packages = super.haskell.packages // {
      "${ghcCompiler}" = super.haskell.packages."${ghcCompiler}".override
        (_old: {
          overrides = with super.pkgs.haskell.lib;
            sel: sup:
            super.overridePinnedDeps (buildCabal sel) // {
              acid-state =
                dontCheck sup.acid-state; # mac: "too many open files"
              clay = doJailbreak sup.clay;
              envy = doJailbreak sup.envy;
              fast-tags =
                sup.fast-tags.overrideAttrs (old: old // { patches = [ ]; });
              generic-data = dontCheck
                sup.generic-data; # https://github.com/Lysxia/generic-data/issues/56
              readable =
                doJailbreak sup.readable; # why is this even being built?
              servant-auth = doJailbreak (buildCabalSubdir sel {
                name = "servant-auth";
                subdir = "servant-auth/servant-auth";
              });
              servant-server = doJailbreak sup.servant-server;
              stripe-core = doJailbreak sup.stripe-core;
              stripe-haskell = dontCheck sup.stripe-haskell;
              stripe-http-client =
                doJailbreak (dontCheck sup.stripe-http-client);
              temporary = dontCheck sup.temporary;
              wai-middleware-metrics = dontCheck sup.wai-middleware-metrics;
            };
        });
    };
  };

}