aboutsummaryrefslogtreecommitdiff
path: root/default.nix
blob: 64d20f674831bea9d63234d638d10ed5f8675e8d (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
{ pkgs ? import <nixpkgs> { } }:
let
  odin-unwrapped = pkgs.llvmPackages_11.stdenv.mkDerivation (rec {
    name = "odin-unwrapped";
    src = ./.;
    dontConfigure = true;
    nativeBuildInputs = [ pkgs.git ];
    buildPhase = ''
      make debug SHELL=${pkgs.llvmPackages_11.stdenv.shell}
    '';
    installPhase = ''
      mkdir -p $out/bin
      cp odin $out/bin/odin
      cp -r core $out/bin/core
    '';
  });
  path = builtins.map (path: path + "/bin") (with pkgs.llvmPackages_11; [
    bintools
    llvm
    clang
    lld
  ]);
in
pkgs.writeScriptBin "odin" ''
  #!${pkgs.llvmPackages_11.stdenv.shell} 
  PATH="${(builtins.concatStringsSep ":" path)}" exec ${odin-unwrapped}/bin/odin $@
''