diff --git a/api/src/job.js b/api/src/job.js index 8c3fa79..d46120b 100644 --- a/api/src/job.js +++ b/api/src/job.js @@ -156,11 +156,7 @@ class Job { '-s', '-c', '/box/submission', - '-E', - 'HOME=/tmp', - ...this.runtime.env_vars.flat_map(v => ['-E', v]), - '-E', - `PISTON_LANGUAGE=${this.runtime.language}`, + '-e', `--dir=${this.runtime.pkgdir}`, `--dir=/etc:noexec`, `--processes=${this.runtime.max_process_count}`, @@ -179,6 +175,10 @@ class Job { ...args, ], { + env: { + ...this.runtime.env_vars, + PISTON_LANGUAGE: this.runtime.language, + }, stdio: 'pipe', } ); diff --git a/api/src/runtime.js b/api/src/runtime.js index 90a2225..9a2adf4 100644 --- a/api/src/runtime.js +++ b/api/src/runtime.js @@ -178,7 +178,15 @@ class Runtime { const env_file = path.join(this.pkgdir, '.env'); const env_content = fss.read_file_sync(env_file).toString(); - this._env_vars = env_content.trim().split('\n'); + this._env_vars = {}; + + env_content + .trim() + .split('\n') + .map(line => line.split('=', 2)) + .forEach(([key, val]) => { + this._env_vars[key.trim()] = val.trim(); + }); } return this._env_vars; diff --git a/packages/k/1.0.0/metadata.json b/packages/k/1.0.0/metadata.json deleted file mode 100644 index 3a557f6..0000000 --- a/packages/k/1.0.0/metadata.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "language": "k", - "version": "1.0.0", - "aliases": ["ngnk"] -} diff --git a/packages/k/1.0.0/test.k b/packages/k/1.0.0/test.k deleted file mode 100644 index 16fddca..0000000 --- a/packages/k/1.0.0/test.k +++ /dev/null @@ -1 +0,0 @@ -`0:`c$2/'((1 0 0 1 1 1 1);(1 0 0 1 0 1 1)) diff --git a/packages/k/1.0.0/build.sh b/packages/ngnk/1.0.0/build.sh old mode 100644 new mode 100755 similarity index 53% rename from packages/k/1.0.0/build.sh rename to packages/ngnk/1.0.0/build.sh index 567cc06..b437840 --- a/packages/k/1.0.0/build.sh +++ b/packages/ngnk/1.0.0/build.sh @@ -5,5 +5,5 @@ set -e git clone "https://codeberg.org/ngn/k" k cd k -git checkout 544d014afd8dd84b18c2011cabd3aa3d76571ca3 -make CC=gcc +git checkout 040f73b56f379a8298cb1747075c9e947dfe0e42 +make CC=gcc \ No newline at end of file diff --git a/packages/k/1.0.0/environment b/packages/ngnk/1.0.0/environment similarity index 61% rename from packages/k/1.0.0/environment rename to packages/ngnk/1.0.0/environment index 7cde4ae..2ad3aad 100644 --- a/packages/k/1.0.0/environment +++ b/packages/ngnk/1.0.0/environment @@ -1,5 +1,4 @@ #!/usr/bin/env bash -# k path export PATH=$PWD/bin:$PATH -export K_PATH=$PWD/k +export K_PATH=$PWD/k \ No newline at end of file diff --git a/packages/ngnk/1.0.0/metadata.json b/packages/ngnk/1.0.0/metadata.json new file mode 100644 index 0000000..9b467f1 --- /dev/null +++ b/packages/ngnk/1.0.0/metadata.json @@ -0,0 +1,5 @@ +{ + "language": "ngnk", + "version": "1.0.0", + "aliases": ["k"] +} \ No newline at end of file diff --git a/packages/k/1.0.0/run b/packages/ngnk/1.0.0/run similarity index 58% rename from packages/k/1.0.0/run rename to packages/ngnk/1.0.0/run index 18293ae..5309fc9 100644 --- a/packages/k/1.0.0/run +++ b/packages/ngnk/1.0.0/run @@ -1,3 +1,3 @@ #!/usr/bin/env bash -$K_PATH/k "$@" +$K_PATH/k "$@" \ No newline at end of file diff --git a/packages/ngnk/1.0.0/test.k b/packages/ngnk/1.0.0/test.k new file mode 100644 index 0000000..18627b8 --- /dev/null +++ b/packages/ngnk/1.0.0/test.k @@ -0,0 +1 @@ +`0:"OK"