forked from kadena-io/pact
-
Notifications
You must be signed in to change notification settings - Fork 0
/
project.nix
46 lines (41 loc) · 1.31 KB
/
project.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
{ rpRef ? "dfac4599b37bbfdb754afa32d25ba4832623277a"
, rpSha ? "03hicg0x77nz4wmwaxnlwf9y0xbypjjdzg3hak756m1qq8vpgc17"
, system ? builtins.currentSystem
}:
let kpkgs = import ./dep/kpkgs { inherit system; };
in {
inherit kpkgs;
proj =
kpkgs.rp.project ({ pkgs, hackGet, ... }: with pkgs.haskell.lib; {
name = "pact";
overrides = self: super: {
# The z3 dependency needs to be conditional so pact can be a
# dependency of ghcjs apps.
pact = if self.ghc.isGhcjs or false
then super.pact
else addBuildDepend super.pact pkgs.z3;
pact-time = dontCheck (self.callHackageDirect {
pkg = "pact-time";
ver = "0.2.0.0";
sha256 = "1cfn74j6dr4279bil9k0n1wff074sdlz6g1haqyyy38wm5mdd7mr";
} {});
};
packages = {
pact = kpkgs.gitignoreSource ./.;
# Example of how to override kpkgs using callHackageDirect
# foo = dontCheck (kpkgs.callHackageDirect {
# pkg = "foo";
# ver = "0.1";
# sha256 = "0000000000000000000000000000000000000000000000000000";
# } {});
};
shellToolOverrides = ghc: super: {
z3 = pkgs.z3;
stack = pkgs.stack;
};
shells = {
ghc = ["pact"];
ghcjs = ["pact"];
};
});
}