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 ; \
|
useradd -M runner$i -g $i -u $i ; \
|
||||||
done
|
done
|
||||||
RUN apt-get update && \
|
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/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
|
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
|
#!/bin/bash
|
||||||
|
|
||||||
# Put instructions to run the runtime
|
# osabie only takes filename and stdin
|
||||||
osabie "$@"
|
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
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
shift
|
||||||
./binary "$@"
|
./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", .{});
|
||||||
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
# nativeBuildInputs is usually what you want -- tools you need to run
|
# nativeBuildInputs is usually what you want -- tools you need to run
|
||||||
nativeBuildInputs = [ pkgs.nodejs-15_x pkgs.yarn pkgs.jq ];
|
nativeBuildInputs = with pkgs; [ nodejs-15_x yarn jq ];
|
||||||
}
|
}
|
Loading…
Reference in New Issue