diff --git a/pkgs/development/compilers/odin/default.nix b/pkgs/development/compilers/odin/default.nix new file mode 100644 index 000000000000..5845be142b62 --- /dev/null +++ b/pkgs/development/compilers/odin/default.nix @@ -0,0 +1,57 @@ +{ lib +, fetchFromGitHub +, llvmPackages +, makeWrapper +, libiconv +}: + +let + inherit (llvmPackages) stdenv; +in stdenv.mkDerivation rec { + pname = "odin"; + version = "0.13.0"; + + src = fetchFromGitHub { + owner = "odin-lang"; + repo = "Odin"; + rev = "v${version}"; + sha256 = "ke2HPxVtF/Lh74Tv6XbpM9iLBuXLdH1+IE78MAacfYY="; + }; + + nativeBuildInputs = [ + makeWrapper + ]; + + buildInputs = lib.optional stdenv.isDarwin libiconv; + + postPatch = '' + sed -i 's/^GIT_SHA=.*$/GIT_SHA=/' Makefile + ''; + + dontConfigure = true; + + buildFlags = [ + "release" + ]; + + installPhase = '' + mkdir -p $out/bin + cp odin $out/bin/odin + cp -r core $out/bin/core + + wrapProgram $out/bin/odin --prefix PATH : ${lib.makeBinPath (with llvmPackages; [ + bintools + llvm + clang + lld + ])} + ''; + + meta = with lib; { + description = "A fast, concise, readable, pragmatic and open sourced programming language"; + homepage = "https://odin-lang.org/"; + license = licenses.bsd2; + maintainers = with maintainers; [ luc65r ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a005df9e60b4..ce71d22094cb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21376,6 +21376,10 @@ in octomap = callPackage ../development/libraries/octomap { }; + odin = callPackage ../development/compilers/odin { + llvmPackages = llvmPackages_11; + }; + odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { }; odroid-xu3-bootloader = callPackage ../tools/misc/odroid-xu3-bootloader { };