summaryrefslogtreecommitdiffstats
path: root/pkgs/by-name/pr/prometheus-alertmanager/elm-ui.nix
blob: 7c0422035e055b13c4c0f8e7040e8ff53a8c487d (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
41
{
  buildNpmPackage,
  elmPackages,
  prometheus-alertmanager,
}:

buildNpmPackage (finalAttrs: {
  pname = "alertmanager-elm-ui";
  inherit (prometheus-alertmanager) src version meta;

  sourceRoot = "${finalAttrs.src.name}/ui/app";

  postPatch = ''
    # don't download elm from github
    sed -i '/"elm":/d' package.json
    substituteInPlace elm.json --replace-fail "0.19.1" "${elmPackages.elm.version}"
  '';

  postConfigure = (
    elmPackages.fetchElmDeps {
      # elm2nix convert > elm-srcs.nix
      elmPackages = import ./elm-srcs.nix;
      elmVersion = elmPackages.elm.version;
      # elm2nix snapshot > registry.dat
      registryDat = ./registry.dat;
    }
  );

  npmDepsHash = "sha256-2flvNJXsOhE0k10Eu8kWo3p3aAABFB/f3yeYNrIztpw=";

  nativeBuildInputs = [
    elmPackages.elm
  ];

  installPhase = ''
    runHook preInstall
    mkdir $out
    cp -r dist/* $out/
    runHook postInstall
  '';
})