From 38e58154222a40774bbd3170c92546deccc364ae Mon Sep 17 00:00:00 2001 From: Astavie Date: Thu, 15 Jun 2023 16:49:35 +0200 Subject: [PATCH] odin: 0.13.0 -> dev-2023-05 --- maintainers/maintainer-list.nix | 6 +++ pkgs/development/compilers/odin/default.nix | 51 ++++++++++++++------- pkgs/top-level/all-packages.nix | 4 +- 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 1bcc00c334b..42224cea975 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1429,6 +1429,12 @@ githubId = 453170; name = "Alastair Pharo"; }; + astavie = { + email = "astavie@pm.me"; + github = "astavie"; + githubId = 7745457; + name = "Astavie"; + }; astro = { email = "astro@spaceboyz.net"; github = "astro"; diff --git a/pkgs/development/compilers/odin/default.nix b/pkgs/development/compilers/odin/default.nix index 5845be142b6..f53981d21d2 100644 --- a/pkgs/development/compilers/odin/default.nix +++ b/pkgs/development/compilers/odin/default.nix @@ -1,31 +1,43 @@ { lib , fetchFromGitHub -, llvmPackages +, llvmPackages_13 , makeWrapper , libiconv +, MacOSX-SDK +, which }: let + llvmPackages = llvmPackages_13; inherit (llvmPackages) stdenv; in stdenv.mkDerivation rec { pname = "odin"; - version = "0.13.0"; + version = "dev-2023-05"; src = fetchFromGitHub { owner = "odin-lang"; repo = "Odin"; - rev = "v${version}"; - sha256 = "ke2HPxVtF/Lh74Tv6XbpM9iLBuXLdH1+IE78MAacfYY="; + rev = version; + sha256 = "sha256-qEewo2h4dpivJ7D4RxxBZbtrsiMJ7AgqJcucmanbgxY="; }; nativeBuildInputs = [ - makeWrapper + makeWrapper which ]; buildInputs = lib.optional stdenv.isDarwin libiconv; - postPatch = '' - sed -i 's/^GIT_SHA=.*$/GIT_SHA=/' Makefile + LLVM_CONFIG = "${llvmPackages.llvm.dev}/bin/llvm-config"; + + postPatch = lib.optionalString stdenv.isDarwin '' + sed -i src/main.cpp \ + -e 's|-syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk|-syslibroot ${MacOSX-SDK}|' + '' + '' + sed -i build_odin.sh \ + -e 's/^GIT_SHA=.*$/GIT_SHA=/' \ + -e 's/LLVM-C/LLVM/' \ + -e 's/framework System/lSystem/' + patchShebangs build_odin.sh ''; dontConfigure = true; @@ -37,21 +49,26 @@ in stdenv.mkDerivation rec { 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 - ])} + mkdir -p $out/share + cp -r core $out/share/core + cp -r vendor $out/share/vendor + + wrapProgram $out/bin/odin \ + --prefix PATH : ${lib.makeBinPath (with llvmPackages; [ + bintools + llvm + clang + lld + ])} \ + --set-default ODIN_ROOT $out/share ''; 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; + license = licenses.bsd3; + maintainers = with maintainers; [ luc65r astavie ]; + platforms = platforms.x86_64 ++ [ "aarch64-darwin" ]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 95f4b821a79..28cc694e182 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -27596,7 +27596,9 @@ with pkgs; octomap = callPackage ../development/libraries/octomap { }; - odin = callPackage ../development/compilers/odin { }; + odin = callPackage ../development/compilers/odin { + inherit (pkgs.darwin.apple_sdk_11_0) MacOSX-SDK; + }; odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };