diff --git a/api/main.go b/api/main.go index 446f3e4..1273576 100644 --- a/api/main.go +++ b/api/main.go @@ -83,6 +83,7 @@ func Execute(res http.ResponseWriter, req *http.Request) { "lua", "nasm", "asm", "nasm64", "asm64", + "nim", "node", "javascript", "js", "perl", "pl", "php", diff --git a/lxc/executors/nim b/lxc/executors/nim new file mode 100755 index 0000000..c6e6caf --- /dev/null +++ b/lxc/executors/nim @@ -0,0 +1,4 @@ +cd /tmp/$2 +timeout -s KILL 10 nim --hints:off c code.code +runuser runner$1 -c "cd /tmp/$2 ; cat args.args | xargs -d '\n' timeout -s KILL 3 ./code" + diff --git a/lxc/tests/test.nim b/lxc/tests/test.nim new file mode 100644 index 0000000..bd50e25 --- /dev/null +++ b/lxc/tests/test.nim @@ -0,0 +1 @@ +echo("good") diff --git a/lxc/versions b/lxc/versions index c53e779..31bcd39 100755 --- a/lxc/versions +++ b/lxc/versions @@ -69,6 +69,9 @@ echo 'nasm' lxc-attach --clear-env -n piston -- /bin/bash -l -c "nasm -version" echo '---' +echo 'nim' +lxc-attack --clear-env -n piston -- /bin/bash -l -c "nim -v | head -n1" + echo 'node' lxc-attach --clear-env -n piston -- /bin/bash -l -c "node --version" echo '---' diff --git a/readme.md b/readme.md index 94e3b44..ca014db 100644 --- a/readme.md +++ b/readme.md @@ -240,6 +240,18 @@ echo 'export DENO_INSTALL="/opt/.deno"' >> /opt/.profile echo 'export PATH="$DENO_INSTALL/bin:$PATH"' >> /opt/.profile source /opt/.profile +# install nim +# final binary: /opt/nim/bin/nim +# get version: /opt/nim/bin/nim -v +cd /opt && mkdir nim && cd nim +wget https://nim-lang.org/download/nim-1.4.0-linux_x64.tar.xz +unxz nim-1.4.0-linux_x64.tar.xz +tar -xf nim-1.4.0-linux_x64.tar +cd nim-1.4.0 +./install.sh /opt +echo 'export PATH=$PATH:/opt/nim/bin' >> /opt/.profile +source /opt/.profile + # create runnable users and apply limits for i in {1..150}; do useradd -M runner$i