forked from odin-lang/Odin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
27 lines (27 loc) · 701 Bytes
/
default.nix
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 $@
''