Merge master into nix-packages and fix conflicts
This commit is contained in:
commit
12fec39897
|
@ -35,6 +35,7 @@ expressWs(app);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
fss.chmodSync(path.join(config.data_directory, globals.data_directories.jobs), 0o711)
|
||||||
|
|
||||||
logger.info('Loading packages');
|
logger.info('Loading packages');
|
||||||
|
|
||||||
|
|
|
@ -152,12 +152,17 @@ class Job {
|
||||||
'--fsize=' + this.runtime.max_file_size,
|
'--fsize=' + this.runtime.max_file_size,
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const timeout_call = [
|
||||||
|
'timeout', '-s', '9', Math.ceil(timeout / 1000),
|
||||||
|
];
|
||||||
|
|
||||||
if (memory_limit >= 0) {
|
if (memory_limit >= 0) {
|
||||||
prlimit.push('--as=' + memory_limit);
|
prlimit.push('--as=' + memory_limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
const proc_call = [
|
const proc_call = [
|
||||||
'nice',
|
'nice',
|
||||||
|
...timeout_call,
|
||||||
...prlimit,
|
...prlimit,
|
||||||
...nonetwork,
|
...nonetwork,
|
||||||
'bash',
|
'bash',
|
||||||
|
@ -362,13 +367,21 @@ class Job {
|
||||||
|
|
||||||
const [_1, state, user_friendly] = state_line.split(/\s+/);
|
const [_1, state, user_friendly] = state_line.split(/\s+/);
|
||||||
|
|
||||||
if (state == 'Z')
|
const proc_id_int = parse_int(proc_id);
|
||||||
// Zombie process, just needs to be waited
|
|
||||||
|
// Skip over any processes that aren't ours.
|
||||||
|
if(ruid != this.uid && euid != this.uid) return -1;
|
||||||
|
|
||||||
|
if (state == 'Z'){
|
||||||
|
// Zombie process, just needs to be waited, regardless of the user id
|
||||||
|
if(!to_wait.includes(proc_id_int))
|
||||||
|
to_wait.push(proc_id_int);
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
// We should kill in all other state (Sleep, Stopped & Running)
|
// We should kill in all other state (Sleep, Stopped & Running)
|
||||||
|
|
||||||
if (ruid == this.uid || euid == this.uid)
|
return proc_id_int;
|
||||||
return parse_int(proc_id);
|
|
||||||
} catch {
|
} catch {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,11 +246,12 @@ async function run_non_interactively(files, argv) {
|
||||||
exports.handler = async argv => {
|
exports.handler = async argv => {
|
||||||
const files = [...(argv.files || []), argv.file].map(file_path => {
|
const files = [...(argv.files || []), argv.file].map(file_path => {
|
||||||
const buffer = fs.readFileSync(file_path);
|
const buffer = fs.readFileSync(file_path);
|
||||||
|
// Checks for <20> (the replacement character) after encoding the buffer to uf8
|
||||||
const encoding =
|
const encoding =
|
||||||
(buffer
|
(buffer
|
||||||
.toString()
|
.toString()
|
||||||
.split('')
|
.split('')
|
||||||
.some(x => x.charCodeAt(0) >= 128) &&
|
.some(x => x.charCodeAt(0) === 65533) &&
|
||||||
'base64') ||
|
'base64') ||
|
||||||
'utf8';
|
'utf8';
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -19,9 +19,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
|
@ -116,9 +116,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/follow-redirects": {
|
"node_modules/follow-redirects": {
|
||||||
"version": "1.14.3",
|
"version": "1.14.8",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
|
||||||
"integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw==",
|
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "individual",
|
"type": "individual",
|
||||||
|
@ -316,9 +316,9 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
|
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
|
||||||
},
|
},
|
||||||
"ansi-styles": {
|
"ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
|
@ -398,9 +398,9 @@
|
||||||
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
|
"integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
|
||||||
},
|
},
|
||||||
"follow-redirects": {
|
"follow-redirects": {
|
||||||
"version": "1.14.3",
|
"version": "1.14.8",
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.3.tgz",
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
|
||||||
"integrity": "sha512-3MkHxknWMUtb23apkgz/83fDoe+y+qr0TdgacGIA7bew+QLBo3vdgEN2xEsuXNivpFy4CyDhBBZnNZOtalmenw=="
|
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
|
||||||
},
|
},
|
||||||
"get-caller-file": {
|
"get-caller-file": {
|
||||||
"version": "2.0.5",
|
"version": "2.0.5",
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
curl -L https://github.com/emojicode/emojicode/releases/download/v1.0-beta.2/Emojicode-1.0-beta.2-Linux-x86_64.tar.gz -o emoji.tar.gz
|
||||||
|
tar xzf emoji.tar.gz
|
||||||
|
|
||||||
|
mv Emojicode-1.0-beta.2-Linux-x86_64 emoji
|
||||||
|
|
||||||
|
rm emoji.tar.gz
|
||||||
|
|
||||||
|
cd emoji
|
||||||
|
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
|
||||||
|
chmod +x emojicodec
|
||||||
|
|
||||||
|
cd ..
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
"$EMOJI_PATH"/emojicodec -S "$EMOJI_PATH"/packages "$1" -o "bruh.exe"
|
||||||
|
chmod +x "bruh.exe"
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put 'export' statements here for environment variables
|
||||||
|
export PATH=$PWD/bin:$PATH
|
||||||
|
export EMOJI_PATH=$PWD/emoji
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"language": "emojicode",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"aliases": [
|
||||||
|
"emojic"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
./"bruh.exe" "$@"
|
|
@ -0,0 +1,3 @@
|
||||||
|
🏁 🍇
|
||||||
|
😀 🔤OK🔤❗️
|
||||||
|
🍉
|
|
@ -0,0 +1,12 @@
|
||||||
|
curl -L https://ftp.gnu.org/gnu/gforth/gforth-0.7.3.tar.gz -o forth.tar.gz
|
||||||
|
tar xzf forth.tar.gz
|
||||||
|
rm forth.tar.gz
|
||||||
|
|
||||||
|
cd gforth-0.7.3/
|
||||||
|
./BUILD-FROM-SCRATCH --host=x86_64 --build=x86_64
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
chmod +x ./gforth
|
||||||
|
cd ..
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put 'export' statements here for environment variables
|
||||||
|
export PATH=$PWD/bin:$PATH
|
||||||
|
export FORTH_PATH=$PWD/gforth-0.7.3
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"language": "forth",
|
||||||
|
"version": "0.7.3",
|
||||||
|
"aliases": [
|
||||||
|
"gforth"
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
$FORTH_PATH/gforth "$@"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
.( OK) bye
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
curl -L https://ftp.gnu.org/gnu/smalltalk/smalltalk-3.2.3.tar.gz -o smalltalk-3.2.3.tar.gz
|
||||||
|
tar xzf smalltalk-3.2.3.tar.gz
|
||||||
|
|
||||||
|
rm smalltalk-3.2.3.tar.gz
|
||||||
|
|
||||||
|
cd smalltalk-3.2.3
|
||||||
|
|
||||||
|
./configure
|
||||||
|
rm libc.la
|
||||||
|
|
||||||
|
make
|
||||||
|
make install
|
||||||
|
|
||||||
|
chmod +x gst
|
||||||
|
cd ..
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put 'export' statements here for environment variables
|
||||||
|
export PATH=$PWD/bin:$PATH
|
||||||
|
export SMALLTALK_PATH=$PWD/smalltalk-3.2.3
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"language": "smalltalk",
|
||||||
|
"version": "3.2.3",
|
||||||
|
"aliases": ["st"]
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
code_file=`pwd`/"$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
cd $SMALLTALK_PATH
|
||||||
|
$SMALLTALK_PATH/gst "$code_file" -a "$@"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
'OK' display
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
code=`cat "$1"`
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
argv_text=""
|
||||||
|
|
||||||
|
for arg in "$@"
|
||||||
|
do
|
||||||
|
argv_text+='insert into argv (arg) values ("'"`echo "$arg" | sed 's/"/""/g'`"'");
|
||||||
|
'
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
sqlite3 <<< "create table argv (arg text);
|
||||||
|
$argv_text
|
||||||
|
$code"
|
||||||
|
|
|
@ -71,6 +71,7 @@ The following are approved and endorsed extensions/utilities to the core Piston
|
||||||
- [Pyston](https://github.com/ffaanngg/pyston), a Python wrapper for accessing the Piston API.
|
- [Pyston](https://github.com/ffaanngg/pyston), a Python wrapper for accessing the Piston API.
|
||||||
- [Go-Piston](https://github.com/milindmadhukar/go-piston), a Golang wrapper for accessing the Piston API.
|
- [Go-Piston](https://github.com/milindmadhukar/go-piston), a Golang wrapper for accessing the Piston API.
|
||||||
- [piston_rs](https://github.com/Jonxslays/piston_rs), a Rust wrapper for accessing the Piston API.
|
- [piston_rs](https://github.com/Jonxslays/piston_rs), a Rust wrapper for accessing the Piston API.
|
||||||
|
- [piston_rspy](https://github.com/Jonxslays/piston_rspy), Python bindings for accessing the Piston API via `piston_rs`.
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
@ -327,6 +328,7 @@ Content-Type: application/json
|
||||||
`dragon`,
|
`dragon`,
|
||||||
`elixir`,
|
`elixir`,
|
||||||
`emacs`,
|
`emacs`,
|
||||||
|
`emojicode`,
|
||||||
`erlang`,
|
`erlang`,
|
||||||
`file`,
|
`file`,
|
||||||
`forte`,
|
`forte`,
|
||||||
|
@ -378,6 +380,7 @@ Content-Type: application/json
|
||||||
`ruby`,
|
`ruby`,
|
||||||
`rust`,
|
`rust`,
|
||||||
`scala`,
|
`scala`,
|
||||||
|
`smalltalk`,
|
||||||
`sqlite3`,
|
`sqlite3`,
|
||||||
`swift`,
|
`swift`,
|
||||||
`typescript`,
|
`typescript`,
|
||||||
|
|
Loading…
Reference in New Issue