default.nix 701 B

123456789101112131415161718192021222324252627
  1. { pkgs ? import <nixpkgs> { } }:
  2. let
  3. odin-unwrapped = pkgs.llvmPackages_11.stdenv.mkDerivation (rec {
  4. name = "odin-unwrapped";
  5. src = ./.;
  6. dontConfigure = true;
  7. nativeBuildInputs = [ pkgs.git ];
  8. buildPhase = ''
  9. make debug SHELL=${pkgs.llvmPackages_11.stdenv.shell}
  10. '';
  11. installPhase = ''
  12. mkdir -p $out/bin
  13. cp odin $out/bin/odin
  14. cp -r core $out/bin/core
  15. '';
  16. });
  17. path = builtins.map (path: path + "/bin") (with pkgs.llvmPackages_11; [
  18. bintools
  19. llvm
  20. clang
  21. lld
  22. ]);
  23. in
  24. pkgs.writeScriptBin "odin" ''
  25. #!${pkgs.llvmPackages_11.stdenv.shell}
  26. PATH="${(builtins.concatStringsSep ":" path)}" exec ${odin-unwrapped}/bin/odin $@
  27. ''