-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathrelease.nix
123 lines (117 loc) · 4.41 KB
/
release.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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{ reflex-platform ? import ./reflex-platform
}:
let
rp = reflex-platform {};
pkgs = rp.nixpkgs;
supportedSystems = [ "x86_64-linux" "x86_64-darwin" ];
inherit (pkgs) lib;
haskellLib = pkgs.haskell.lib;
commonOverrides = self: super: {
vty = self.callHackageDirect {
pkg = "vty";
ver = "5.38";
sha256 = "0kcd3ln9xmc62ka0i7habzvjjar8z63mlvl15rdhf8hqmda0b7r7";
} {};
reflex = self.callCabal2nix "reflex" (rp.hackGet ./dep/reflex) {};
reflex-process = self.callCabal2nix "reflex-process" (rp.hackGet ./dep/reflex-process) {};
reflex-vty = self.callHackageDirect {
pkg = "reflex-vty";
ver = "0.5.1.0";
sha256 = "0h6fh2aiy5m9l5v1fnrdi3pwx15p37vqv1yhp6556yzcb3bnbmyp";
} {};
reflex-fsnotify = self.callHackageDirect {
pkg = "reflex-fsnotify";
ver = "0.3.0.0";
sha256 = "11wnvjk2kznfcj7m2fnfmh6xskggy0i913rw1kh64lzny7yghh39";
} {};
fsnotify = haskellLib.dontCheck (self.callHackage "fsnotify" "0.4.1.0" {});
};
ghcs = lib.genAttrs supportedSystems (system: let
rp = reflex-platform { inherit system; __useNewerCompiler = true; };
rpOld = reflex-platform { inherit system; __useNewerCompiler = false; };
rpGhc = rp.ghc.override {
overrides = commonOverrides;
};
rpGhc865 = rpOld.ghc.override {
overrides = commonOverrides;
};
nixGhc945 = (import ./nixpkgs { inherit system; }).haskell.packages.ghc945.override {
overrides = self: super: commonOverrides self super // {
hlint = self.callHackageDirect {
pkg = "hlint";
ver = "3.5";
sha256 = "1np43k54918v54saqqgnd82ccd6225njwxpg2031asi70jam80x9";
} {};
# Jailbroken until https://github.com/audreyt/string-qq/pull/3
string-qq = pkgs.haskell.lib.dontCheck super.string-qq;
patch = self.callHackageDirect {
pkg = "patch";
ver = "0.0.8.2";
sha256 = "160zqqhjg48fr3a33gffd82qm3728c8hwf8sn37pbpv82fw71rzg";
} {};
reflex = self.callHackageDirect {
pkg = "reflex";
ver = "0.9.0.1";
sha256 = "1yrcashxxclvlvv3cs5gv75rvlsg1gb0m36kssnk2zvhbh94240y";
} {};
};
};
nixGhc961 = (import ./nixpkgs { inherit system; }).haskell.packages.ghc961.override {
overrides = self: super: commonOverrides self super // {
patch = self.callHackageDirect {
pkg = "patch";
ver = "0.0.8.2";
sha256 = "160zqqhjg48fr3a33gffd82qm3728c8hwf8sn37pbpv82fw71rzg";
} {};
reflex = self.callHackageDirect {
pkg = "reflex";
ver = "0.9.0.1";
sha256 = "1yrcashxxclvlvv3cs5gv75rvlsg1gb0m36kssnk2zvhbh94240y";
} {};
these-lens = self.callHackageDirect {
pkg = "these-lens";
ver = "1.0.1.3";
sha256 = "0n1vkr57jz5yvy4jm15v5cs42rp342ni0gisib7aqyhibpicqs5c";
} {};
these = self.callHackageDirect {
pkg = "these";
ver = "1.2";
sha256 = "1iaaq1fsvg8c3l0czcicshkmbbr00hnwkdamjbkljsa1qvlilaf0";
} {};
lens = self.callHackageDirect {
pkg = "lens";
ver = "5.2.2";
sha256 = "0c4a421sxfjm1cj3nvgwkr4glll23mqnsvs2iv5qh85931h2f3cy";
} {};
assoc = self.callHackageDirect {
pkg = "assoc";
ver = "1.1";
sha256 = "1krvcafrbj98z5hv55gq4zb1in5yd71nmz9zdiqgnywjzbrvpf75";
} {};
strict = self.callHackageDirect {
pkg = "strict";
ver = "0.5";
sha256 = "02iyvrr7nd7fnivz78lzdchy8zw1cghqj1qx2yzbbb9869h1mny7";
} {};
vty = self.callHackageDirect {
pkg = "vty";
ver = "5.38";
sha256 = "0kcd3ln9xmc62ka0i7habzvjjar8z63mlvl15rdhf8hqmda0b7r7";
} {};
# Jailbroken until https://github.com/audreyt/string-qq/pull/3
string-qq = haskellLib.dontCheck super.string-qq;
# Tests aren't compatible with transformers-0.6
bimap = haskellLib.dontCheck super.bimap;
exception-transformers = haskellLib.doJailbreak (haskellLib.dontCheck super.exception-transformers);
};
};
in
{
recurseForDerivations = true;
ghc865 = rpGhc865.callCabal2nix "reflex-ghci" (import ./src.nix) {};
ghc810 = rpGhc.callCabal2nix "reflex-ghci" (import ./src.nix) {};
ghc945 = nixGhc945.callCabal2nix "reflex-ghci" (import ./src.nix) {};
ghc961 = nixGhc961.callCabal2nix "reflex-ghci" (import ./src.nix) {};
});
in
ghcs