diff --git a/runtimes/default.nix b/runtimes/default.nix index ffdfe8f..e1a1f9a 100644 --- a/runtimes/default.nix +++ b/runtimes/default.nix @@ -14,6 +14,7 @@ args: { "erlang" = import ./erlang.nix args; "gawk-awk" = import ./gawk-awk.nix args; "openjdk11_headless-java" = import ./openjdk11_headless-java.nix args; - "zig" = import ./zig.nix args; "ruby" = import ./ruby.nix args; + "zig" = import ./zig.nix args; + "vlang" = import ./vlang.nix args; } diff --git a/runtimes/vlang.nix b/runtimes/vlang.nix new file mode 100644 index 0000000..c203c1b --- /dev/null +++ b/runtimes/vlang.nix @@ -0,0 +1,40 @@ +{pkgs, piston, ...}: +let + pkg = pkgs.vlang; +in piston.mkRuntime { + language = "vlang"; + version = pkg.version; + + aliases = [ + "v" + ]; + + run = '' + # vlang env + export VMODULES="$PWD" + export TMPDIR="$PWD" + + # modify file extension + mv "$1" "$1.v" + filename="$1.v" + shift + + ${pkg}/bin/v run "$filename" "$@" + ''; + + tests = [ + (piston.mkTest { + files = { + "file0.code" = '' + fn main() { + println('OK') + } + ''; + }; + args = []; + stdin = ""; + packages = []; + main = "file0.code"; + }) + ]; +} \ No newline at end of file