Browse Source

Add Nix derivation

Lyla Bravo 4 years ago
parent
commit
5923470e35
1 changed files with 27 additions and 0 deletions
  1. 27 0
      default.nix

+ 27 - 0
default.nix

@@ -0,0 +1,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 $@
+''