about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/compilers/elm/packages/ghc9_6/default.nix
blob: 13ba7faa030886efeddf3648124af2dd9b6eeedd (plain) (blame)
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
{ pkgs, lib, makeWrapper, nodejs, fetchElmDeps }:

self: pkgs.haskell.packages.ghc96.override {
  overrides = self: super: with pkgs.haskell.lib.compose; with lib;
    let
      elmPkgs = rec {
        elm = overrideCabal
          (drv: {
            # sadly with parallelism most of the time breaks compilation
            enableParallelBuilding = false;
            preConfigure = fetchElmDeps {
              elmPackages = (import ../elm-srcs.nix);
              elmVersion = drv.version;
              registryDat = ../../registry.dat;
            };
            buildTools = drv.buildTools or [ ] ++ [ makeWrapper ];
            postInstall = ''
              wrapProgram $out/bin/elm \
                --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
            '';

            description = "A delightful language for reliable webapps";
            homepage = "https://elm-lang.org/";
            license = licenses.bsd3;
            maintainers = with maintainers; [ domenkozar turbomack ];
          })
          (self.callPackage ./elm { });

        inherit fetchElmDeps;
        elmVersion = elmPkgs.elm.version;
      };
    in
    elmPkgs // {
      inherit elmPkgs;

      ansi-wl-pprint = overrideCabal
        (drv: {
          jailbreak = true;
        })
        (self.callPackage ./ansi-wl-pprint { });
    };
}