From 7199dd266e1d89b1cc440e748a1c9170ac3469d4 Mon Sep 17 00:00:00 2001 From: Hydrazer Date: Fri, 23 Dec 2022 19:28:44 -0700 Subject: [PATCH 1/4] pkg(k-1.0.0): Added k 1.0.0 --- packages/ngnk/1.0.0/build.sh | 9 +++++++++ packages/ngnk/1.0.0/environment | 4 ++++ packages/ngnk/1.0.0/metadata.json | 5 +++++ packages/ngnk/1.0.0/run | 3 +++ packages/ngnk/1.0.0/test.k | 1 + readme.md | 1 + 6 files changed, 23 insertions(+) create mode 100755 packages/ngnk/1.0.0/build.sh create mode 100644 packages/ngnk/1.0.0/environment create mode 100644 packages/ngnk/1.0.0/metadata.json create mode 100644 packages/ngnk/1.0.0/run create mode 100644 packages/ngnk/1.0.0/test.k diff --git a/packages/ngnk/1.0.0/build.sh b/packages/ngnk/1.0.0/build.sh new file mode 100755 index 0000000..b437840 --- /dev/null +++ b/packages/ngnk/1.0.0/build.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +git clone "https://codeberg.org/ngn/k" k +cd k + +git checkout 040f73b56f379a8298cb1747075c9e947dfe0e42 +make CC=gcc \ No newline at end of file diff --git a/packages/ngnk/1.0.0/environment b/packages/ngnk/1.0.0/environment new file mode 100644 index 0000000..2ad3aad --- /dev/null +++ b/packages/ngnk/1.0.0/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +export PATH=$PWD/bin:$PATH +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/ngnk/1.0.0/run b/packages/ngnk/1.0.0/run new file mode 100644 index 0000000..5309fc9 --- /dev/null +++ b/packages/ngnk/1.0.0/run @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$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" diff --git a/readme.md b/readme.md index 1135e90..ce7db6e 100644 --- a/readme.md +++ b/readme.md @@ -350,6 +350,7 @@ Content-Type: application/json `javascript`, `jelly`, `julia`, +`k`, `kotlin`, `lisp`, `llvm_ir`, From 6ef0cdf7b4c96e71d49ae267dc905c177ede1d51 Mon Sep 17 00:00:00 2001 From: Omar Brikaa Date: Sat, 8 Feb 2025 15:10:50 +0200 Subject: [PATCH 2/4] Provide HOME in sandbox (#702) --- api/src/job.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/api/src/job.js b/api/src/job.js index d46120b..31f688d 100644 --- a/api/src/job.js +++ b/api/src/job.js @@ -156,6 +156,8 @@ class Job { '-s', '-c', '/box/submission', + '-E', + 'HOME=/tmp', '-e', `--dir=${this.runtime.pkgdir}`, `--dir=/etc:noexec`, From 1d55a41a2d563318388596b46d7da772027339ba Mon Sep 17 00:00:00 2001 From: Omar Brikaa Date: Sat, 8 Feb 2025 20:46:46 +0200 Subject: [PATCH 3/4] Explicitly provide env vars instead of inheriting them from parent (#703) --- api/src/job.js | 8 +++----- api/src/runtime.js | 10 +--------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/api/src/job.js b/api/src/job.js index 31f688d..8c3fa79 100644 --- a/api/src/job.js +++ b/api/src/job.js @@ -158,7 +158,9 @@ class Job { '/box/submission', '-E', 'HOME=/tmp', - '-e', + ...this.runtime.env_vars.flat_map(v => ['-E', v]), + '-E', + `PISTON_LANGUAGE=${this.runtime.language}`, `--dir=${this.runtime.pkgdir}`, `--dir=/etc:noexec`, `--processes=${this.runtime.max_process_count}`, @@ -177,10 +179,6 @@ 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 9a2adf4..90a2225 100644 --- a/api/src/runtime.js +++ b/api/src/runtime.js @@ -178,15 +178,7 @@ 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') - .map(line => line.split('=', 2)) - .forEach(([key, val]) => { - this._env_vars[key.trim()] = val.trim(); - }); + this._env_vars = env_content.trim().split('\n'); } return this._env_vars; From c54bd64372a340b4112c0866b29f27e849cea434 Mon Sep 17 00:00:00 2001 From: scpchicken Date: Sat, 8 Feb 2025 20:42:07 -0700 Subject: [PATCH 4/4] pkg(k-1.0.0): Added k 1.0.0 --- packages/k/1.0.0/build.sh | 9 +++++++++ packages/k/1.0.0/environment | 5 +++++ packages/k/1.0.0/metadata.json | 5 +++++ packages/k/1.0.0/run | 3 +++ packages/k/1.0.0/test.k | 1 + readme.md | 1 + 6 files changed, 24 insertions(+) create mode 100644 packages/k/1.0.0/build.sh create mode 100644 packages/k/1.0.0/environment create mode 100644 packages/k/1.0.0/metadata.json create mode 100644 packages/k/1.0.0/run create mode 100644 packages/k/1.0.0/test.k diff --git a/packages/k/1.0.0/build.sh b/packages/k/1.0.0/build.sh new file mode 100644 index 0000000..567cc06 --- /dev/null +++ b/packages/k/1.0.0/build.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -e + +git clone "https://codeberg.org/ngn/k" k +cd k + +git checkout 544d014afd8dd84b18c2011cabd3aa3d76571ca3 +make CC=gcc diff --git a/packages/k/1.0.0/environment b/packages/k/1.0.0/environment new file mode 100644 index 0000000..7cde4ae --- /dev/null +++ b/packages/k/1.0.0/environment @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# k path +export PATH=$PWD/bin:$PATH +export K_PATH=$PWD/k diff --git a/packages/k/1.0.0/metadata.json b/packages/k/1.0.0/metadata.json new file mode 100644 index 0000000..3a557f6 --- /dev/null +++ b/packages/k/1.0.0/metadata.json @@ -0,0 +1,5 @@ +{ + "language": "k", + "version": "1.0.0", + "aliases": ["ngnk"] +} diff --git a/packages/k/1.0.0/run b/packages/k/1.0.0/run new file mode 100644 index 0000000..18293ae --- /dev/null +++ b/packages/k/1.0.0/run @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +$K_PATH/k "$@" diff --git a/packages/k/1.0.0/test.k b/packages/k/1.0.0/test.k new file mode 100644 index 0000000..16fddca --- /dev/null +++ b/packages/k/1.0.0/test.k @@ -0,0 +1 @@ +`0:`c$2/'((1 0 0 1 1 1 1);(1 0 0 1 0 1 1)) diff --git a/readme.md b/readme.md index 7724fdb..02a712f 100644 --- a/readme.md +++ b/readme.md @@ -404,6 +404,7 @@ Errors may return status codes as follows: `javascript`, `jelly`, `julia`, +`k`, `kotlin`, `lisp`, `llvm_ir`,