Compare commits

...

6 Commits

Author SHA1 Message Date
Jarrod Sanders 657628c457
Merge 945c8a946b into 1d55a41a2d 2025-04-07 10:25:19 +00:00
Omar Brikaa 1d55a41a2d
Explicitly provide env vars instead of inheriting them from parent (#703) 2025-02-08 20:46:46 +02:00
Omar Brikaa 6ef0cdf7b4
Provide HOME in sandbox (#702) 2025-02-08 15:10:50 +02:00
Thomas Hobson 945c8a946b
Merge branch 'master' into ada 2022-02-24 18:27:16 +13:00
Jarrod Sanders 16af89ab01
Merge branch 'master' into ada 2022-01-30 20:43:20 -05:00
Jarrod Sanders 9276abde3e pkg(ada-2012): Added ada 2012 2022-01-30 19:56:03 -05:00
8 changed files with 87 additions and 14 deletions

View File

@ -156,7 +156,11 @@ class Job {
'-s',
'-c',
'/box/submission',
'-e',
'-E',
'HOME=/tmp',
...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}`,
@ -175,10 +179,6 @@ class Job {
...args,
],
{
env: {
...this.runtime.env_vars,
PISTON_LANGUAGE: this.runtime.language,
},
stdio: 'pipe',
}
);

View File

@ -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;

19
packages/ada/2012/build.sh Executable file
View File

@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Using the precompiled binary packages from https://github.com/annexi-strayline/gnat-packs
compname="gnat-10.3.0-base.tar.xz"
curl -L "https://gnat-packs.annexi-strayline.com/x86_64-linux-gnu/gnat-10.3.0-base.tar.xz" -o $compname
xz -cd $compname | sudo tar xP
#curl -L "https://storage.googleapis.com/dart-archive/channels/stable/release/2.12.1/sdk/dartsdk-linux-x64-release.zip" -o dart.zip
#
#unzip dart.zip
#rm dart.zip
#
#cp -r dart-sdk/* .
#rm -rf dart-sdk
#
#chmod -R +rx bin

30
packages/ada/2012/compile Normal file
View File

@ -0,0 +1,30 @@
#!/bin/bash
# split out all units in to their own files
gnatchop $@
# TODO try to compile more than just the hello unit
if [ -e "test.adb" ]
then
gnatmake "test.adb"
else
echo "It looks like you don't have a \"test\" unit"
fi
#case "${PISTON_LANGUAGE}" in
# ada)
# rename 's/$/\.cs/' "$@" # Add .cs extension
# csc -out:out *.cs
# ;;
# basic)
# rename 's/$/\.vb/' "$@" # Add .vb extension
# vbnc -out:out *.vb
# ;;
# *)
# echo "How did you get here? (${PISTON_LANGUAGE})"
# exit 1
# ;;
#esac

View File

@ -0,0 +1,7 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
#export PATH=$PWD/bin:$PATH
export PATH=/opt/gcc-fsf-gnat/bin:$PATH
export LD_LIBRARY_PATH=/opt/gcc-fsf-gnat/lib64:/opt/gcc-fsf-gnat/lib

View File

@ -0,0 +1,5 @@
{
"language": "ada",
"version": "2012",
"aliases": ["gnat"]
}

14
packages/ada/2012/run Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
#dart run "$@"
# assure there is only one unit in the given file
gnatchop "$1"
numSourceFiles=$(ls -1q *.adb | wc -l)
gnatmake "test.adb"

View File

@ -0,0 +1,6 @@
with Ada.Text_IO;
use Ada.Text_IO;
procedure Code is
begin
Put_Line ("OK");
end Code;