diff options
author | Francois-Rene Rideau | 2020-11-25 02:30:06 -0500 |
---|---|---|
committer | Francois-Rene Rideau | 2023-08-08 15:26:40 -0400 |
commit | 0afac45561abdf6f4d3cd932f9016112a5af48c5 (patch) | |
tree | 5416a8948333759c0acc4f019fa69c15a4411c53 /pkgs/development/compilers/gerbil | |
parent | d676fab367b1653898d71aaa3573de14fbcd8e44 (diff) |
glow-lang: init at 2023-04-26
Post Release v0.3.2
Diffstat (limited to 'pkgs/development/compilers/gerbil')
-rw-r--r-- | pkgs/development/compilers/gerbil/gerbil-support.nix | 2 | ||||
-rw-r--r-- | pkgs/development/compilers/gerbil/glow-lang.nix | 55 |
2 files changed, 56 insertions, 1 deletions
diff --git a/pkgs/development/compilers/gerbil/gerbil-support.nix b/pkgs/development/compilers/gerbil/gerbil-support.nix index e4b85fe5b54e..3d57e2a73c52 100644 --- a/pkgs/development/compilers/gerbil/gerbil-support.nix +++ b/pkgs/development/compilers/gerbil/gerbil-support.nix @@ -5,7 +5,7 @@ prePackages-unstable = let pks = [ ./gerbil-libp2p.nix ./smug-gerbil.nix ./ftw.nix ./gerbil-utils.nix ./gerbil-crypto.nix ./gerbil-poo.nix - ./gerbil-persist.nix ./gerbil-ethereum.nix ]; + ./gerbil-persist.nix ./gerbil-ethereum.nix ./glow-lang.nix ]; call = pkg: callPackage pkg prePackage-defaults; pkgName = pkg: lib.removeSuffix ".nix" (baseNameOf pkg); f = pkg: { name = pkgName pkg; value = call pkg; }; in diff --git a/pkgs/development/compilers/gerbil/glow-lang.nix b/pkgs/development/compilers/gerbil/glow-lang.nix new file mode 100644 index 000000000000..c6e5aa10fa3a --- /dev/null +++ b/pkgs/development/compilers/gerbil/glow-lang.nix @@ -0,0 +1,55 @@ +{ lib, fetchFromGitHub, gerbil-support, gerbilPackages, gerbil, ... }: + +rec { + pname = "glow-lang"; + version = "unstable-2023-04-26"; + git-version = "0.3.2-222-gb19cd980"; + softwareName = "Glow"; + gerbil-package = "mukn/glow"; + version-path = "version"; + + gerbilInputs = with gerbilPackages; + [ gerbil-utils gerbil-crypto gerbil-poo gerbil-persist gerbil-ethereum + gerbil-libp2p smug-gerbil ftw ]; + + pre-src = { + fun = fetchFromGitHub; + owner = "Glow-Lang"; + repo = "glow"; + rev = "b19cd98082dfc5156d1b4fc83cde161572d6a211"; + sha256 = "0k3qy5826pxqr9ylnnpq4iikxf4j50987vhpa5qiv99j0p643xr3"; + }; + + postPatch = '' + substituteInPlace "runtime/glow-path.ss" --replace \ + '(def glow-install-path (source-path "dapps"))' \ + '(def glow-install-path "$out")' + ''; + + postInstall = '' + mkdir -p $out/bin $out/gerbil/lib/mukn/glow $out/share/glow/dapps + cp main.ss $out/gerbil/lib/mukn/glow/ + cp dapps/{buy_sig,coin_flip,rps_simple}.glow $out/share/glow/dapps/ + cat > $out/bin/glow <<EOF + #!/bin/sh + ORIG_GERBIL_LOADPATH="\$GERBIL_LOADPATH" + ORIG_GERBIL_PATH="\$GERBIL_PATH" + ORIG_GERBIL_HOME="\$GERBIL_HOME" + unset GERBIL_HOME + GERBIL_LOADPATH="${gerbil-support.gerbilLoadPath (["$out"] ++ gerbilInputs)}" + GLOW_SOURCE="\''${GLOW_SOURCE:-$out/share/glow}" + GERBIL_PATH="\$HOME/.cache/glow/gerbil" + export GERBIL_PATH GERBIL_LOADPATH GLOW_SOURCE ORIG_GERBIL_PATH ORIG_GERBIL_LOADPATH ORIG_GERBIL_HOME + exec ${gerbil}/bin/gxi $out/gerbil/lib/mukn/glow/main.ss "\$@" + EOF + chmod a+x $out/bin/glow + ''; + + meta = with lib; { + description = "Glow: language for safe Decentralized Applications (DApps)"; + homepage = "https://glow-lang.org"; + license = licenses.asl20; + platforms = platforms.unix; + maintainers = with maintainers; [ fare ]; + }; +} |