aboutsummaryrefslogtreecommitdiffstats
path: root/pkgs/default.nix
blob: fd7290f8038a417cbdc0f372e5c5e6ecce6345ae (plain)
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
{ sources ? import ../nix/sources.nix
}:
(self: super:
  let
    pkgs = self;
    haskellLib = pkgs.haskell.lib;
  in
  {
    haskell = super.haskell // {
      packageOverrides = pkgs.lib.composeManyExtensions [
        super.haskell.packageOverrides
        (self: super: {
          acms = (self.callCabal2nix "acms" ../acms { }).overrideAttrs (oldAttrs:
            pkgs.lib.optionalAttrs pkgs.stdenv.isx86_64
              {
                nativeBuildInputs = (oldAttrs.nativeBuildInputs or [ ]) ++ [ pkgs.makeWrapper ];
                postInstall = (oldAttrs.postInstall or "") + ''
                  wrapProgram $out/bin/acms \
                    --set-default APPROOT ${pkgs.pkgsCross.ghcjs.haskell.packages.ghc910.frontend}
                '';
              });
          astore = haskellLib.doJailbreak (self.callCabal2nix "astore" sources.json2sql { });
          autotypes = self.callCabal2nix "autotypes" ../autotypes { };
          frontend = (self.callCabal2nix "frontend" ../frontend { }).overrideAttrs (_: {
            installPhase = ''
              cp -a dist/build/frontend/frontend.jsexe $out
            '';
          });
          sh = haskellLib.dontCheck (self.callCabal2nix "sh" sources.sh { });
          repline = haskellLib.doJailbreak super.repline;
          uuid = haskellLib.doJailbreak super.uuid;
          websockets = haskellLib.doJailbreak super.websockets;
          hinotify = super.hinotify.overrideAttrs (_: {
            version = "0.4.2";
            src = builtins.fetchTarball "https://hackage.haskell.org/package/hinotify-0.4.2/hinotify-0.4.2.tar.gz";
          });
        })
      ];
    };
  })