summaryrefslogtreecommitdiff
path: root/pkgs/development/compilers/microhs/boot.nix
blob: b55587a8438f52384189af87cb697195377ccb48 (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
{
  stdenvNoCC,
  hugs,
  makeWrapper,
  microhs-src,
}:

stdenvNoCC.mkDerivation {
  pname = "microhs";
  version = "${microhs-src.version}-hugs";

  inherit (microhs-src)
    src
    patches
    postPatch
    meta
    ;

  nativeBuildInputs = [ makeWrapper ];

  dontBuild = true;

  installPhase = ''
    runHook preInstall

    mkdir -p "$out/bin" "$out/share/microhs-hugs"
    s="$out/share/microhs-hugs/src"
    cp -r . "$s"

    makeWrapper ${hugs}/bin/runhugs "$out/bin/mhs" \
      --add-flags "'+P$s/hugs:$s/src:$s/paths:{Hugs}/packages/*:hugs/obj' -98 +o +w -h100m '$s/hugs/Main.hs'"

    runHook postInstall
  '';

  passthru = {
    isMhs = true;
    usesHugs = true;
  };
}