-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
67 lines (57 loc) · 2.35 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
{}:
(import ./reflex-platform {}).project ({ pkgs, ... }: {
packages = {
common = ./common;
backend = ./backend;
frontend = ./frontend;
};
# android.frontend = {
# executableName = "frontend";
# applicationId = "org.example.frontend";
# displayName = "Example Android App";
# };
# ios.frontend = {
# executableName = "frontend";
# bundleIdentifier = "org.example.frontend";
# bundleName = "Example iOS App";
# };
shells = {
ghc = ["common" "backend" "frontend"];
ghcjs = ["common" "frontend"];
};
overrides = self: super: let
# servant >= 0.12
# Not using v0.13 as they require latest http-types which jsaddle doesn't work with.
servant= pkgs.fetchFromGitHub {
owner = "haskell-servant";
repo = "servant";
rev = "7e9910b27ee42c635bb71f87bbdaa6056ab22c23";
sha256 = "0j2j6x8wdc3jzpixaq4wrpb4873bj4jvqmfbhcybdqx8cl8v36yp";
};
servant-reflex = pkgs.fetchFromGitHub {
owner = "imalsogreg";
repo = "servant-reflex";
rev = "115da63dbfac37c1fd4f5e652466778ac461e148";
sha256 = "1r829j3qy7vwcng7xpwfp2w5605i43w5x8g5skgd1iz7a5mfmq5i";
};
semantic-reflex = pkgs.fetchFromGitHub {
owner = "tomsmalley";
repo = "semantic-reflex";
rev = "b6075f6b052de5071b16c9d29526dda44ea4c092";
sha256 = "1scwwcvj0ycd6zd5i01d1w03c4xifrrs5ywwyylp38fqz62zm21g";
};
skipTest = pkgs.haskell.lib.dontCheck;
in
{
# Comment this out when building for Android.
# https://github.com/reflex-frp/reflex-platform/pull/281#discussion_r181538045
reflex-dom = pkgs.haskell.lib.addBuildDepend (pkgs.haskell.lib.enableCabalFlag super.reflex-dom "use-warp") self.jsaddle-warp;
servant = skipTest (self.callCabal2nix "servant" "${servant}/servant" {});
servant-server = self.callCabal2nix "servant-server" "${servant}/servant-server" {};
servant-client = self.callCabal2nix "servant-client" "${servant}/servant-client" {};
servant-client-core = self.callCabal2nix "servant-client-core" "${servant}/servant-client-core" {};
servant-client-ghcjs = self.callCabal2nix "servant-client-ghcjs" "${servant}/servant-client-ghcjs" {};
servant-reflex = self.callCabal2nix "servant-reflex" "${servant-reflex}" {};
semantic-reflex = self.callCabal2nix "semantic-reflex" "${semantic-reflex}/semantic-reflex" {};
};
})