Merge branch 'v3' of https://github.com/engineer-man/piston into v3
This commit is contained in:
commit
b4390e033e
|
@ -5,7 +5,7 @@ RUN for i in $(seq 1001 1500); do \
|
|||
useradd -M runner$i -g $i -u $i ; \
|
||||
done
|
||||
RUN apt-get update && \
|
||||
apt-get install -y libxml2 gnupg tar coreutils util-linux libc6-dev binutils build-essential locales libpcre3-dev libevent-dev && \
|
||||
apt-get install -y libxml2 gnupg tar coreutils util-linux libc6-dev binutils build-essential locales libpcre3-dev libevent-dev libgmp3-dev libncurses6 libncurses5 libedit-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
export PATH=$PWD/bin:$PATH
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
# Emacs version 27.1 supports Docker builds
|
||||
# Otherwise, older versions will work too, but you will have to disable `/proc/sys/kernel/randomize_va_space` which is less secure
|
||||
curl -L "http://ftpmirror.gnu.org/emacs/emacs-27.1.tar.gz" -o emacs.tar.gz
|
||||
tar xzf emacs.tar.gz --strip-components=1
|
||||
rm emacs.tar.gz
|
||||
|
||||
# Building without all that X11 stuff
|
||||
./configure --prefix="$PREFIX" --with-x=no --with-x-toolkit=no --with-xpm=no --with-jpeg=no --with-png=no --with-gif=no --with-tiff=no --with-gnutls=no
|
||||
make -j$(nproc)
|
||||
make install -j$(nproc)
|
||||
|
||||
cd ..
|
||||
|
||||
rm -rf build
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "emacs",
|
||||
"version": "27.1.0",
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>",
|
||||
"aliases": ["emacs", "el", "elisp"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
emacs -Q --script "$@"
|
|
@ -0,0 +1 @@
|
|||
(princ "OK")
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
# Platform specific because a true source compile would require GHC to be installed already on the latest
|
||||
curl -L "https://downloads.haskell.org/~ghc/9.0.1/ghc-9.0.1-x86_64-deb10-linux.tar.xz" -o ghc.tar.xz
|
||||
tar xf ghc.tar.xz --strip-components=1
|
||||
rm ghc.tar.xz
|
||||
|
||||
./configure --prefix="$PREFIX"
|
||||
make install -j$(nproc)
|
||||
|
||||
cd ../
|
||||
|
||||
rm -rf build
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Compile haskell file(s)
|
||||
ghc -dynamic -v0 -o out "$@"
|
||||
chmod +x out
|
|
@ -0,0 +1 @@
|
|||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "haskell",
|
||||
"version": "9.0.1",
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>",
|
||||
"aliases": ["haskell", "hs"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
shift # Filename is only used to compile
|
||||
./out "$@"
|
|
@ -0,0 +1 @@
|
|||
main = putStrLn "OK"
|
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to build your package in here
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
# Prebuilt binary install since source compile requires lisp to be installed already
|
||||
curl -L "http://prdownloads.sourceforge.net/sbcl/sbcl-2.1.2-x86-64-linux-binary.tar.bz2" -o sbcl.tar.bz2
|
||||
tar xf sbcl.tar.bz2 --strip-components=1
|
||||
rm sbcl.tar.bz2
|
||||
|
||||
INSTALL_ROOT=$PREFIX sh install.sh
|
||||
|
||||
cd ../
|
||||
|
||||
rm -rf build
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "lisp",
|
||||
"version": "2.1.2",
|
||||
"aliases": ["lisp","cl","sbcl","commonlisp"],
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
sbcl --script "$@"
|
|
@ -0,0 +1 @@
|
|||
(write-line "OK")
|
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
# Cloning lolcode source
|
||||
git clone https://github.com/justinmeza/lci.git lolcode
|
||||
cd lolcode
|
||||
|
||||
# Building and installing lolcode
|
||||
cmake -DCMAKE_INSTALL_PREFIX:STRING="$PREFIX" .
|
||||
make -j$(nproc)
|
||||
make install -j$(nproc)
|
||||
|
||||
# Cleaning up
|
||||
cd ../ && rm -rf lolcode
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "lolcode",
|
||||
"version": "0.11.2",
|
||||
"author": "Shivansh-007 <Shivansh-007@users.noreply.github.com>",
|
||||
"aliases": ["lol", "lci"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
lci "$@"
|
|
@ -0,0 +1,4 @@
|
|||
HAI 1.2
|
||||
CAN HAS STDIO?
|
||||
VISIBLE "OK"
|
||||
KTHXBYE
|
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to build your package in here
|
||||
curl -R -O -L http://www.lua.org/ftp/lua-5.4.2.tar.gz
|
||||
tar zxf lua-5.4.2.tar.gz
|
||||
rm lua-5.4.2.tar.gz
|
||||
|
||||
cd lua-5.4.2
|
||||
# Building Lua
|
||||
make linux
|
||||
# To check that Lua has been built correctly
|
||||
make test
|
||||
# Installing Lua
|
||||
make linux install
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH="$PWD/lua-5.4.2/src:$PATH"
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "lua",
|
||||
"version": "5.4.2",
|
||||
"author": "Shivansh-007 <Shivansh-007@users.noreply.github.com>",
|
||||
"aliases": ["lua"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
lua "$@"
|
|
@ -0,0 +1 @@
|
|||
print("OK")
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
# Prebuilt binary - source *can* be built, but it requires gcc
|
||||
curl -L "https://nim-lang.org/download/nim-1.4.4-linux_x64.tar.xz" -o nim.tar.xz
|
||||
tar xf nim.tar.xz --strip-components=1
|
||||
rm nim.tar.xz
|
||||
|
||||
./install.sh "$PREFIX"
|
||||
|
||||
cd ../
|
||||
|
||||
rm -rf build
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Compile nim file(s)
|
||||
nim --hints:off --out:out --nimcache:./ c "$@"
|
||||
chmod +x out
|
|
@ -0,0 +1 @@
|
|||
export PATH=$PWD/nim/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "nim",
|
||||
"version": "1.4.4",
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>",
|
||||
"aliases": ["nim"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
shift # Filename is only used to compile
|
||||
./out "$@"
|
|
@ -0,0 +1 @@
|
|||
echo("OK")
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
osabie "$@"
|
||||
# osabie only takes filename and stdin
|
||||
osabie "$1"
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
source ../../python/3.9.1/build.sh
|
||||
|
||||
git clone -q https://github.com/betaveros/paradoc.git paradoc
|
|
@ -0,0 +1,2 @@
|
|||
export PYTHONPATH=$PYTHONPATH:$PWD/paradoc
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "paradoc",
|
||||
"version": "0.6.0",
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>",
|
||||
"aliases": ["paradoc"]
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Paradoc only takes filename and stdin
|
||||
python3 -m paradoc "$1"
|
|
@ -0,0 +1 @@
|
|||
"OK"
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
|
||||
PREFIX=$(realpath $(dirname $0))
|
||||
|
||||
mkdir -p build
|
||||
|
||||
cd build
|
||||
|
||||
# Source compile
|
||||
curl -L "https://www.swi-prolog.org/download/stable/src/swipl-8.2.4.tar.gz" -o swipl.tar.gz
|
||||
tar xzf swipl.tar.gz --strip-components=1
|
||||
rm swipl.tar.gz
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DSWIPL_PACKAGES_JAVA=OFF -DSWIPL_PACKAGES_X=OFF -DMULTI_THREADED=OFF -DINSTALL_DOCUMENTATION=OFF ..
|
||||
make -j$(nproc)
|
||||
make install -j$(nproc)
|
||||
|
||||
cd ../../
|
||||
|
||||
rm -rf build
|
|
@ -0,0 +1 @@
|
|||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "prolog",
|
||||
"version": "8.2.4",
|
||||
"aliases": ["prolog","plg"],
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
swipl -g true -t halt "$@"
|
|
@ -0,0 +1 @@
|
|||
:- write('OK'), nl.
|
|
@ -1,3 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
shift
|
||||
./binary "$@"
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Scala depends on Java
|
||||
mkdir -p java
|
||||
cd java
|
||||
curl "https://download.java.net/java/GA/jdk15.0.2/0d1cfde4252546c6931946de8db48ee2/7/GPL/openjdk-15.0.2_linux-x64_bin.tar.gz" -o java.tar.gz
|
||||
tar xzf java.tar.gz --strip-components=1
|
||||
rm java.tar.gz
|
||||
cd ..
|
||||
|
||||
mkdir -p scala
|
||||
cd scala
|
||||
curl -L "https://github.com/lampepfl/dotty/releases/download/3.0.0-RC1/scala3-3.0.0-RC1.tar.gz" -o scala.tar.gz
|
||||
tar -xzf scala.tar.gz --strip-components=1
|
||||
rm scala.tar.gz
|
||||
cd ..
|
|
@ -0,0 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Scala requires JAVA_HOME to be set
|
||||
export JAVA_HOME=$PWD/java
|
||||
export PATH=$PWD/scala/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "scala",
|
||||
"version": "3.0.0",
|
||||
"aliases": ["scala","sc"],
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put instructions to run the runtime
|
||||
scala -color never "$@"
|
|
@ -0,0 +1,3 @@
|
|||
@main def run(): Unit = {
|
||||
println("OK")
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Binary install
|
||||
curl -L "https://swift.org/builds/swift-5.3.3-release/ubuntu1804/swift-5.3.3-RELEASE/swift-5.3.3-RELEASE-ubuntu18.04.tar.gz" -o swift.tar.gz
|
||||
tar xzf swift.tar.gz --strip-components=2
|
||||
rm swift.tar.gz
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Put 'export' statements here for environment variables
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "swift",
|
||||
"version": "5.3.3",
|
||||
"aliases": ["swift"],
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Setting clang cache to current dir to avoid permission error on /tmp
|
||||
swift -module-cache-path . "$@"
|
|
@ -0,0 +1 @@
|
|||
print("OK")
|
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
mkdir -p bin
|
||||
cd bin/
|
||||
|
||||
curl -L "https://ziglang.org/download/0.7.1/zig-linux-x86_64-0.7.1.tar.xz" -o zig.tar.xz
|
||||
tar xf zig.tar.xz --strip-components=1
|
||||
rm zig.tar.xz
|
||||
|
||||
cd ../
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# optimizing for small programs
|
||||
zig build-exe -O ReleaseSmall --color off --cache-dir . --global-cache-dir . --name out "$@"
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# compiler path
|
||||
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"language": "zig",
|
||||
"version": "0.7.1",
|
||||
"aliases": ["zig"],
|
||||
"author": "Dan Vargas <danvargas46@gmail.com>"
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
shift # Filename is only used in compile step, so we can take it out here
|
||||
./out "$@"
|
|
@ -0,0 +1,6 @@
|
|||
const std = @import("std");
|
||||
|
||||
pub fn main() !void {
|
||||
const stdout = std.io.getStdOut().writer();
|
||||
try stdout.print("OK\n", .{});
|
||||
}
|
Loading…
Reference in New Issue