txlyre hace 1 año
commit
7ad28b2ca6

+ 39 - 0
buildall.sh

@@ -0,0 +1,39 @@
+#!/usr/bin/bash
+
+read -r -d '' START << EOM
+FROM debian:latest
+RUN apt update -y
+EOM
+read -r -d '' END << EOM
+RUN apt-get clean autoclean
+RUN apt-get autoremove --yes
+RUN rm -rf /var/lib/{apt,dpkg,cache,log}/
+RUN useradd -m user
+USER user
+WORKDIR /home/user
+EOM
+
+cd langs
+
+for dir in */
+do
+    dir="${dir%*/}"
+    template="$(cat $dir/Dockerfile)"
+
+    echo "$START
+$template
+
+COPY $dir/run.sh /usr/bin/run
+RUN chmod +x /usr/bin/run
+RUN chmod 705 /usr/bin/run
+
+$END
+
+ENTRYPOINT [\"/usr/bin/run\"]" > Dockerfile
+
+    podman build -t "$dir-runner" .
+
+    rm Dockerfile
+done
+
+cd ..

+ 1 - 0
langs/bash/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install bash -y

+ 3 - 0
langs/bash/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+bash -

+ 1 - 0
langs/c/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install gcc -y

+ 9 - 0
langs/c/run.sh

@@ -0,0 +1,9 @@
+#!/usr/bin/bash
+
+$OUT="$(mktemp)"
+
+gcc -o "$OUT" -xc -
+
+if [ -f $OUT ]; then
+  exec "$OUT"
+fi

+ 1 - 0
langs/cpp/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install gcc -y

+ 9 - 0
langs/cpp/run.sh

@@ -0,0 +1,9 @@
+#!/usr/bin/bash
+
+$OUT="$(mktemp)"
+
+g++ -o "$OUT" -xc++ -
+
+if [ -f $OUT ]; then
+  exec "$OUT"
+fi

+ 1 - 0
langs/csharp/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install mono-complete -y

+ 12 - 0
langs/csharp/run.sh

@@ -0,0 +1,12 @@
+#!/usr/bin/bash
+
+IN=$(mktemp --suffix .cs)
+OUT=$(mktemp --suffix .exe)
+
+cat > "$IN"
+
+mcs -out:"$OUT" "$IN"
+
+if [ -f $OUT ]; then
+  mono "$OUT"
+fi

+ 1 - 0
langs/go/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install golang -y

+ 7 - 0
langs/go/run.sh

@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+IN="$(mktemp --suffix .go)"
+
+cat > "$IN"
+
+go run "$IN"

+ 1 - 0
langs/haskell/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install ghc -y

+ 3 - 0
langs/haskell/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+runghc --

+ 1 - 0
langs/java/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install openjdk-17-jdk-headless openjdk-17-jre-headless -y

+ 7 - 0
langs/java/run.sh

@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+IN="$(mktemp --suffix .java)"
+
+cat > "$IN"
+
+java "$IN"

+ 1 - 0
langs/js/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install nodejs -y

+ 7 - 0
langs/js/run.sh

@@ -0,0 +1,7 @@
+#!/usr/bin/bash
+
+IN="$(mktemp --suffix .js)"
+
+cat > "$IN"
+
+node "$IN"

+ 8 - 0
langs/mei/Dockerfile

@@ -0,0 +1,8 @@
+RUN apt-get install git wget -y
+
+RUN apt-get install python3 python3-pip -y
+RUN pip3 install --break-system-packages packaging
+RUN ln -s /usr/bin/python3 /usr/bin/python
+
+RUN wget https://files.txlyre.website/d/software/mei/latest_x86_64/mei -O /usr/bin/mei && chmod +x /usr/bin/mei
+RUN wget https://files.txlyre.website/d/software/mpm/latest/mpm.py -O /usr/bin/mpm && chmod +x /usr/bin/mpm

+ 3 - 0
langs/mei/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+mei -i

+ 1 - 0
langs/pascal/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install fpc -y

+ 12 - 0
langs/pascal/run.sh

@@ -0,0 +1,12 @@
+#!/usr/bin/bash
+
+IN=$(mktemp --suffix .pp)
+OUT=$(mktemp)
+
+cat > "$IN"
+
+fpc -l- -v0 -o"$OUT" "$IN"
+
+if [ -f $OUT ]; then
+  exec "$OUT"
+fi

+ 1 - 0
langs/php/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install php-common php-cli -y

+ 3 - 0
langs/php/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+php --

+ 2 - 0
langs/python/Dockerfile

@@ -0,0 +1,2 @@
+RUN apt-get install python3 python3-pip python3-venv -y
+RUN ln -s /usr/bin/python3 /usr/bin/python

+ 3 - 0
langs/python/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+python3 -

+ 1 - 0
langs/ruby/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install ruby -y

+ 3 - 0
langs/ruby/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+ruby --

+ 1 - 0
langs/rust/Dockerfile

@@ -0,0 +1 @@
+RUN apt-get install rustc -y

+ 9 - 0
langs/rust/run.sh

@@ -0,0 +1,9 @@
+#!/usr/bin/bash
+
+OUT="$(mktemp)"
+
+rustc -o "$OUT" -
+
+if [ -f $OUT ]; then
+  exec "$OUT"
+fi

+ 3 - 0
langs/unholy/Dockerfile

@@ -0,0 +1,3 @@
+RUN apt-get install wget -y
+
+RUN wget https://files.txlyre.website/d/software/unholy/latest_linux_x86_64/unholy -O /usr/bin/unholy && chmod +x /usr/bin/unholy

+ 3 - 0
langs/unholy/run.sh

@@ -0,0 +1,3 @@
+#!/usr/bin/bash
+
+unholy -s