aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 6f6f44250afe1bbd9445d18bb62701859bd0d077 (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
{ pkgs ? (import <nixpkgs> {})
, compilerName ? "ghc801"
, extraPackages ? (p: [])
}:

rec {
  haskellPackages = pkgs.haskell.packages."${compilerName}".override {
    overrides = self: super: with super; {
      # threepenny-gui = pkgs.haskell.lib.appendPatch threepenny-gui ./threepenny.patch;
      encoding = pkgs.haskell.lib.doJailbreak encoding;
      cabal-test-quickcheck = pkgs.haskell.lib.doJailbreak cabal-test-quickcheck;
      extended-reals = pkgs.haskell.lib.doJailbreak extended-reals;
    };
  };
  thermoprint-spec = haskellPackages.callPackage ./spec/thermoprint-spec.nix {};
  thermoprint-bbcode = haskellPackages.callPackage ./tp-bbcode/thermoprint-bbcode.nix {
    inherit bbcode thermoprint-spec;
  };
  thermoprint-client = haskellPackages.callPackage ./client/thermoprint-client.nix {
    inherit thermoprint-spec;
  };
  thermoprint-server = pkgs.callPackage ./server/wrapped.nix {
    inherit (haskellPackages) ghcWithPackages;
    inherit extraPackages;
    thermoprint-server = haskellPackages.callPackage ./server/thermoprint-server.nix {
      inherit thermoprint-spec thermoprint-client;
    };
  };
  thermoprint-webgui = haskellPackages.callPackage ./webgui/thermoprint-webgui.nix {
    inherit thermoprint-bbcode thermoprint-client;
  };
  tprint = haskellPackages.callPackage ./tprint/tprint.nix {
    inherit thermoprint-bbcode thermoprint-client;
  };
  bbcode = haskellPackages.callPackage ./bbcode/bbcode.nix {};
}