~toastal/easy-purescript-nix

6f89295ef657cae610c391697cbeae0570604a53 — Jun Matsushita 1 year, 1 month ago 8cf4006
Upgrade to purs 0.15.10 and provide aarch64-darwin builds
3 files changed, 37 insertions(+), 7 deletions(-)

M default.nix
A purs/0.15.10.nix
M purs/0.15.9.nix
M default.nix => default.nix +4 -1
@@ 6,6 6,9 @@ let
  };

  inputs = rec {
    purs-0_15_10 = import ./purs/0.15.10.nix {
      inherit pkgs;
    };
    purs-0_15_9 = import ./purs/0.15.9.nix {
      inherit pkgs;
    };


@@ 103,7 106,7 @@ let
      inherit pkgs;
    };

    purs = purs-0_15_9;
    purs = purs-0_15_10;

    purs-simple = purs;


A purs/0.15.10.nix => purs/0.15.10.nix +29 -0
@@ 0,0 1,29 @@
{ pkgs ? import <nixpkgs> { }, system ? pkgs.stdenv.hostPlatform.system }:

let
  version = "v0.15.10";

  urls = {
    "x86_64-linux" = {
      url = "https://github.com/purescript/purescript/releases/download/${version}/linux64.tar.gz";
      sha256 = "03p5f2m5xvrqgiacs4yfc2dgz6frlxy90h6z1nm6wan40p2vd41r";
    };
    "x86_64-darwin" = {
      url = "https://github.com/purescript/purescript/releases/download/${version}/macos.tar.gz";
      sha256 = "14yd00v3dsnnwj2f645vy0apnp1843ms9ffd2ccv7bj5p4kxsdzg";
    };
    "aarch64-darwin" = {
      url = "https://github.com/purescript/purescript/releases/download/${version}/macos-arm64.tar.gz";
      sha256 = "1pk6mkjy09qvh8lsygb5gb77i2fqwjzz8jdjkxlyzynp3wpkcjp7";
    };
  };

  src =
    if builtins.hasAttr system urls then
      (pkgs.fetchurl urls.${system})
    else
      throw "Architecture not supported: ${system}";
in
import ./mkPursDerivation.nix {
  inherit pkgs version src;
}

M purs/0.15.9.nix => purs/0.15.9.nix +4 -6
@@ 12,17 12,15 @@ let
      url = "https://github.com/purescript/purescript/releases/download/${version}/macos.tar.gz";
      sha256 = "1xxg79rlf7li9f73wdbwif1dyy4hnzpypy6wx4zbnvap53habq9f";
    };
    "aarch64-darwin" = {
      url = "https://github.com/purescript/purescript/releases/download/${version}/macos-arm64.tar.gz";
      sha256 = "16ci26pgrw0zmnyn1zj129y9624cqwzrhqglc8mgfg4k7rxvqy2a";
    };
  };

  src =
    if builtins.hasAttr system urls then
      (pkgs.fetchurl urls.${system})
    else if system == "aarch64-darwin" then
      let
        useArch = "x86_64-darwin";
        msg = "Using the non-native ${useArch} binary. While this binary may run under Rosetta 2 translation, no guarantees can be made about stability or performance.";
      in
      pkgs.lib.warn msg (pkgs.fetchurl urls.${useArch})
    else
      throw "Architecture not supported: ${system}";
in