This commit is contained in:
Thomas Hobson 2021-03-19 22:13:46 +13:00
commit b4390e033e
No known key found for this signature in database
GPG Key ID: 9F1FD9D87950DB6F
62 changed files with 353 additions and 5 deletions

View File

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

24
packages/emacs/27.1.0/build.sh vendored Executable file
View File

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

4
packages/emacs/27.1.0/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

6
packages/emacs/27.1.0/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "emacs",
"version": "27.1.0",
"author": "Dan Vargas <danvargas46@gmail.com>",
"aliases": ["emacs", "el", "elisp"]
}

4
packages/emacs/27.1.0/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
# Put instructions to run the runtime
emacs -Q --script "$@"

1
packages/emacs/27.1.0/test.el vendored Normal file
View File

@ -0,0 +1 @@
(princ "OK")

19
packages/haskell/9.0.1/build.sh vendored Executable file
View File

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

5
packages/haskell/9.0.1/compile vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Compile haskell file(s)
ghc -dynamic -v0 -o out "$@"
chmod +x out

1
packages/haskell/9.0.1/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/bin:$PATH

6
packages/haskell/9.0.1/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "haskell",
"version": "9.0.1",
"author": "Dan Vargas <danvargas46@gmail.com>",
"aliases": ["haskell", "hs"]
}

4
packages/haskell/9.0.1/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
shift # Filename is only used to compile
./out "$@"

1
packages/haskell/9.0.1/test.hs vendored Normal file
View File

@ -0,0 +1 @@
main = putStrLn "OK"

19
packages/lisp/2.1.2/build.sh vendored Executable file
View File

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

4
packages/lisp/2.1.2/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

6
packages/lisp/2.1.2/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "lisp",
"version": "2.1.2",
"aliases": ["lisp","cl","sbcl","commonlisp"],
"author": "Dan Vargas <danvargas46@gmail.com>"
}

4
packages/lisp/2.1.2/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
sbcl --script "$@"

1
packages/lisp/2.1.2/test.cl vendored Normal file
View File

@ -0,0 +1 @@
(write-line "OK")

15
packages/lolcode/0.11.2/build.sh vendored Executable file
View File

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

4
packages/lolcode/0.11.2/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

6
packages/lolcode/0.11.2/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "lolcode",
"version": "0.11.2",
"author": "Shivansh-007 <Shivansh-007@users.noreply.github.com>",
"aliases": ["lol", "lci"]
}

4
packages/lolcode/0.11.2/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
lci "$@"

4
packages/lolcode/0.11.2/test.lol vendored Normal file
View File

@ -0,0 +1,4 @@
HAI 1.2
CAN HAS STDIO?
VISIBLE "OK"
KTHXBYE

14
packages/lua/5.4.2/build.sh vendored Executable file
View File

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

4
packages/lua/5.4.2/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH="$PWD/lua-5.4.2/src:$PATH"

6
packages/lua/5.4.2/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "lua",
"version": "5.4.2",
"author": "Shivansh-007 <Shivansh-007@users.noreply.github.com>",
"aliases": ["lua"]
}

4
packages/lua/5.4.2/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
lua "$@"

1
packages/lua/5.4.2/test.lua vendored Normal file
View File

@ -0,0 +1 @@
print("OK")

18
packages/nim/1.4.4/build.sh vendored Executable file
View File

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

5
packages/nim/1.4.4/compile vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Compile nim file(s)
nim --hints:off --out:out --nimcache:./ c "$@"
chmod +x out

1
packages/nim/1.4.4/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/nim/bin:$PATH

6
packages/nim/1.4.4/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "nim",
"version": "1.4.4",
"author": "Dan Vargas <danvargas46@gmail.com>",
"aliases": ["nim"]
}

4
packages/nim/1.4.4/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
shift # Filename is only used to compile
./out "$@"

1
packages/nim/1.4.4/test.nim vendored Normal file
View File

@ -0,0 +1 @@
echo("OK")

View File

@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
# Put instructions to run the runtime # osabie only takes filename and stdin
osabie "$@" osabie "$1"

5
packages/paradoc/0.6.0/build.sh vendored Executable file
View File

@ -0,0 +1,5 @@
#!/bin/bash
source ../../python/3.9.1/build.sh
git clone -q https://github.com/betaveros/paradoc.git paradoc

2
packages/paradoc/0.6.0/environment vendored Normal file
View File

@ -0,0 +1,2 @@
export PYTHONPATH=$PYTHONPATH:$PWD/paradoc
export PATH=$PWD/bin:$PATH

6
packages/paradoc/0.6.0/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "paradoc",
"version": "0.6.0",
"author": "Dan Vargas <danvargas46@gmail.com>",
"aliases": ["paradoc"]
}

4
packages/paradoc/0.6.0/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
# Paradoc only takes filename and stdin
python3 -m paradoc "$1"

1
packages/paradoc/0.6.0/test.paradoc vendored Normal file
View File

@ -0,0 +1 @@
"OK"

22
packages/prolog/8.2.4/build.sh vendored Executable file
View File

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

1
packages/prolog/8.2.4/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/bin:$PATH

6
packages/prolog/8.2.4/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "prolog",
"version": "8.2.4",
"aliases": ["prolog","plg"],
"author": "Dan Vargas <danvargas46@gmail.com>"
}

4
packages/prolog/8.2.4/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
swipl -g true -t halt "$@"

1
packages/prolog/8.2.4/test.prolog vendored Normal file
View File

@ -0,0 +1 @@
:- write('OK'), nl.

View File

@ -1,3 +1,4 @@
#!/usr/bin/env bash #!/usr/bin/env bash
shift
./binary "$@" ./binary "$@"

16
packages/scala/3.0.0/build.sh vendored Executable file
View File

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

5
packages/scala/3.0.0/environment vendored Normal file
View File

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

6
packages/scala/3.0.0/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "scala",
"version": "3.0.0",
"aliases": ["scala","sc"],
"author": "Dan Vargas <danvargas46@gmail.com>"
}

4
packages/scala/3.0.0/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
scala -color never "$@"

3
packages/scala/3.0.0/test.scala vendored Normal file
View File

@ -0,0 +1,3 @@
@main def run(): Unit = {
println("OK")
}

6
packages/swift/5.3.3/build.sh vendored Executable file
View File

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

4
packages/swift/5.3.3/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

6
packages/swift/5.3.3/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "swift",
"version": "5.3.3",
"aliases": ["swift"],
"author": "Dan Vargas <danvargas46@gmail.com>"
}

4
packages/swift/5.3.3/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Setting clang cache to current dir to avoid permission error on /tmp
swift -module-cache-path . "$@"

1
packages/swift/5.3.3/test.swift vendored Normal file
View File

@ -0,0 +1 @@
print("OK")

10
packages/zig/0.7.1/build.sh vendored Executable file
View File

@ -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 ../

4
packages/zig/0.7.1/compile vendored Normal file
View File

@ -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 "$@"

4
packages/zig/0.7.1/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# compiler path
export PATH=$PWD/bin:$PATH

6
packages/zig/0.7.1/metadata.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"language": "zig",
"version": "0.7.1",
"aliases": ["zig"],
"author": "Dan Vargas <danvargas46@gmail.com>"
}

4
packages/zig/0.7.1/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
shift # Filename is only used in compile step, so we can take it out here
./out "$@"

6
packages/zig/0.7.1/test.zig vendored Normal file
View File

@ -0,0 +1,6 @@
const std = @import("std");
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("OK\n", .{});
}

View File

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