about summary refs log tree commit diff
path: root/tools/magrathea/default.nix
blob: 5e8019852abdca63e7c4ae80e8f8068c78919edf (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
# magrathea helps you build planets
#
# it is a tool for working with monorepos in the style of tvl's depot
{ pkgs, ... }:

let
  inherit (pkgs)
    stdenv
    chicken
    chickenPackages
    makeWrapper
    git
    nix
    lib
    ;

in
stdenv.mkDerivation {
  name = "magrathea";
  src = ./.;
  dontInstall = true;

  nativeBuildInputs = [ chicken makeWrapper ];
  buildInputs = with chickenPackages.chickenEggs; [
    matchable
    srfi-13
  ];

  propagatedBuildInputs = [ git ];

  buildPhase = ''
    mkdir -p $out/bin
    csc -o $out/bin/mg -host -static ${./mg.scm}
  '';

  fixupPhase = ''
    wrapProgram $out/bin/mg --prefix PATH ${lib.makeBinPath [ nix ]}
  '';
}