add piston nix pkg for ghc-haskell

This commit is contained in:
Dan Vargas 2022-02-11 11:14:14 -07:00
parent 61bac60830
commit 2bc7155895
8 changed files with 38 additions and 36 deletions

View file

@ -42,4 +42,5 @@ args: {
"jelly" = import ./jelly.nix args;
"openjdk-java" = import ./openjdk-java.nix args;
"iverilog" = import ./iverilog.nix args;
"ghc-haskell" = import ./ghc-haskell.nix args;
}

37
runtimes/ghc-haskell.nix Normal file
View file

@ -0,0 +1,37 @@
{pkgs, piston, ...}:
let
pkg = pkgs.haskell.compiler.ghcHEAD;
in piston.mkRuntime {
language = "haskell";
version = pkg.version;
runtime = "ghc";
aliases = [
"hs"
];
compile = ''
rename 's/$/\.hs/' "$@" # Add .hs extension
${pkg}/bin/ghc -dynamic -v0 -o out *.hs
chmod +x out
'';
run = ''
shift # Filename is only used to compile
./out "$@"
'';
tests = [
(piston.mkTest {
files = {
"test.hs" = ''
main = putStrLn "OK"
'';
};
args = [];
stdin = "";
packages = [];
main = "test.hs";
})
];
}