]> Git — Sourcephile - tmp/julm/android.git/blob - nix/overlays/ghc.nix
learnability(haskell): clarify the build
[tmp/julm/android.git] / nix / overlays / ghc.nix
1 inputs: finalPkgs: previousPkgs:
2 {
3 haskell = previousPkgs.haskell // {
4 packages = previousPkgs.haskell.packages // {
5
6 ghc9122 = previousPkgs.haskell.packages.ghc9122.extend (
7 with previousPkgs.haskell.lib;
8 finalHaskellPkgs: previousHaskellPkgs: {
9 # miso
10 miso = finalHaskellPkgs.callCabal2nix "miso" inputs.miso { };
11 miso-lynx = finalHaskellPkgs.callCabal2nix "miso-lynx" inputs.miso-lynx { };
12
13 # deps
14 jsaddle = finalHaskellPkgs.callCabal2nix "jsaddle" "${inputs.miso.inputs.jsaddle}/jsaddle" { };
15 jsaddle-warp = dontCheck (
16 finalHaskellPkgs.callCabal2nix "jsaddle-warp" "${inputs.miso.inputs.jsaddle}/jsaddle-warp" { }
17 );
18
19 # cruft
20 crypton = dontCheck previousHaskellPkgs.crypton;
21 cryptonite = dontCheck previousHaskellPkgs.cryptonite;
22 monad-logger = doJailbreak previousHaskellPkgs.monad-logger;
23 string-interpolate = doJailbreak previousHaskellPkgs.string-interpolate;
24 servant-server = doJailbreak previousHaskellPkgs.servant-server;
25 }
26 );
27 ghcNative = previousPkgs.haskell.packages.ghc9122.extend (
28 with previousPkgs.haskell.lib;
29 finalHaskellPkgs: previousHaskellPkgs: {
30 # miso
31 miso = finalHaskellPkgs.callCabal2nix "miso" inputs.miso {};
32 miso-lynx = finalHaskellPkgs.callCabal2nix "miso-lynx" inputs.miso-lynx {};
33
34 # deps
35 jsaddle = finalHaskellPkgs.callCabal2nix "jsaddle" "${inputs.miso.inputs.jsaddle}/jsaddle" {};
36 ghcjs-base = finalHaskellPkgs.callCabal2nix "ghcjs-base" inputs.ghcjs-base {};
37
38 # cruft
39 crypton = dontCheck previousHaskellPkgs.crypton;
40 cryptonite = dontCheck previousHaskellPkgs.cryptonite;
41 monad-logger = doJailbreak previousHaskellPkgs.monad-logger;
42 string-interpolate = doJailbreak previousHaskellPkgs.string-interpolate;
43 servant-server = doJailbreak previousHaskellPkgs.servant-server;
44
45 /* Includes BigInt patch to support the jsbi polyfill, for Quick/PrimJS */
46 ghc = previousHaskellPkgs.ghc.overrideAttrs (drv: drv // {
47 patches = (drv.patches or []) ++ [ "${inputs.miso}/nix/patches/jsbi.patch" ];
48 });
49 }
50 );
51 };
52 };
53 }