-
Notifications
You must be signed in to change notification settings - Fork 2
/
default.nix
91 lines (80 loc) · 3.86 KB
/
default.nix
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
{ rpRef ? "ea3c9a1536a987916502701fb6d319a880fdec96", rpSha ? "0339ds5xa4ymc7xs8nzpa4mvm09lzscisdgpdfc6rykwhbgw9w2a" }:
let rp = (import <nixpkgs> {}).fetchFromGitHub {
owner = "mightybyte";
repo = "reflex-platform";
rev = rpRef;
sha256 = rpSha;
};
in
(import rp {}).project ({ pkgs, ... }: {
name = "pact-web-umbrella";
overrides = self: super:
let guardGhcjs = p: if self.ghc.isGhcjs or false then null else p;
in {
blake2 = guardGhcjs super.blake2;
cacophony = guardGhcjs (pkgs.haskell.lib.dontCheck (self.callHackage "cacophony" "0.8.0" {}));
cryptonite = guardGhcjs (self.callHackage "cryptonite" "0.23" {});
haskeline = guardGhcjs (self.callHackage "haskeline" "0.7.4.2" {});
katip = guardGhcjs (pkgs.haskell.lib.doJailbreak (self.callHackage "katip" "0.3.1.4" {}));
ridley = guardGhcjs (pkgs.haskell.lib.dontCheck (self.callHackage "ridley" "0.3.1.2" {}));
# Needed to work with the below version of statistics
criterion = guardGhcjs (pkgs.haskell.lib.dontCheck (self.callCabal2nix "criterion" (pkgs.fetchFromGitHub {
owner = "bos";
repo = "criterion";
rev = "5a704392b670c189475649c32d05eeca9370d340";
sha256 = "1kp0l78l14w0mmva1gs9g30zdfjx4jkl5avl6a3vbww3q50if8pv";
}) {}));
# Version 1.6.4, needed by weeder, not in callHackage yet
extra = guardGhcjs (pkgs.haskell.lib.dontCheck (self.callCabal2nix "extra" (pkgs.fetchFromGitHub {
owner = "ndmitchell";
repo = "extra";
rev = "4064bfa7e48a7f1b79f791560d51dbefed879219";
sha256 = "1p7rc5m70rkm1ma8gnihfwyxysr0n3wxk8ijhp6qjnqp5zwifhhn";
}) {}));
pact = pkgs.haskell.lib.dontCheck (self.callCabal2nix "pact" (pkgs.fetchFromGitHub {
owner = "kadena-io";
repo = "pact";
rev = "8f4216d274749507158c5e23be8c4b32a75191a6";
sha256 = "13rpmjyr1x5z0yfxzr16ml1nmx6ln6bs9xwlzh5c6c6kkqwxpkjv";
}) {});
reflex-dom-ace = (self.callCabal2nix "reflex-dom-ace" (pkgs.fetchFromGitHub {
owner = "reflex-frp";
repo = "reflex-dom-ace";
rev = "24e1ee4b84f50bd5b6b4401c4bdc28963ce8d80f";
sha256 = "0hdn00cd17a7zp56krqs3y5mpcml75pn8mnmhwyixqgscqd1q9y5";
}) {});
# sbv >= 7.6
sbv = pkgs.haskell.lib.dontCheck (self.callCabal2nix "sbv" (pkgs.fetchFromGitHub {
owner = "LeventErkok";
repo = "sbv";
rev = "dbbdd396d069dc8235f5c8cf58209886318f6525";
sha256 = "0s607qbgiykgqv2b5sxcvzqpj1alxzqw6szcjzhs4hxcbbwkd60y";
}) {});
# dontCheck is here because a couple tests were failing
statistics = guardGhcjs (pkgs.haskell.lib.dontCheck (self.callCabal2nix "statistics" (pkgs.fetchFromGitHub {
owner = "bos";
repo = "statistics";
rev = "1ed1f2844c5a2209f5ea72e60df7d14d3bb7ac1a";
sha256 = "1jjmdhfn198pfl3k5c4826xddskqkfsxyw6l5nmwrc8ibhhnxl7p";
}) {}));
thyme = pkgs.haskell.lib.dontCheck (pkgs.haskell.lib.enableCabalFlag (self.callCabal2nix "thyme" (pkgs.fetchFromGitHub {
owner = "kadena-io";
repo = "thyme";
rev = "6ee9fcb026ebdb49b810802a981d166680d867c9";
sha256 = "09fcf896bs6i71qhj5w6qbwllkv3gywnn5wfsdrcm0w1y6h8i88f";
}) {}) "ghcjs");
};
packages = {
pact-ghcjs = builtins.filterSource
(path: type: !(builtins.elem (baseNameOf path)
["result" "dist" "dist-ghcjs" ".git"]))
./.;
};
tools = ghc: [
pkgs.z3
];
shells = {
ghc = ["pact-ghcjs"];
ghcjs = ["pact-ghcjs"];
};
})