diff --git a/Dockerfile b/Dockerfile index e8a1c51..a3a83e2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -129,6 +129,26 @@ RUN set -xe && \ rm -rf /tmp/*; \ done +#PascalABC +ENV PABC_VERSIONS \ + 3.6.3 +RUN set -xe && \ + apt-get update && \ + apt-get install -y --no-install-recommends unzip && \ + for VERSION in $PABC_VERSIONS; do \ + curl -fSsL "http://pascalabc.net/downloads/PABCNETC.zip" -o /tmp/pabc-$VERSION.zip && \ + unzip -d /usr/local/pabc-$VERSION /tmp/pabc-$VERSION.zip && \ + rm -rf /tmp/*; \ + done + +RUN apt-get update && apt-get install -y apt-transport-https + +#Install mono-complete. Use this to add support for PascalABC (3.6.3) +RUN set -xe && \ + apt-get update && \ + apt-get install -y --no-install-recommends mono-complete && \ + ln -s /usr/lib/mono /usr/local/lib/mono + # Check for latest version here: https://www.haskell.org/ghc/download.html ENV HASKELL_VERSIONS \ 8.8.1 diff --git a/README.md b/README.md index 99e7753..dd56dae 100644 --- a/README.md +++ b/README.md @@ -48,20 +48,21 @@ or [deploy](https://github.com/judge0/api/blob/master/CHANGELOG.md#deployment-pr |30|OCaml (4.09.0)| |31|Octave (5.1.0)| |32|Pascal (FPC 3.0.4)| -|33|Perl (5.28.1)| -|34|PHP (7.4.1)| -|35|Plain Text| -|36|Prolog (GNU Prolog 1.4.5)| -|37|Python (2.7.17)| -|38|Python (3.8.1)| -|39|R (4.0.0)| -|40|Ruby (2.7.0)| -|41|Rust (1.40.0)| -|42|Scala (2.13.2)| -|43|SQL (SQLite 3.27.2)| -|44|Swift (5.2.3)| -|45|TypeScript (3.7.4)| -|46|Visual Basic.Net (vbnc 0.0.0.5943)| +|33|Pascal (ABC 3.6.3)| +|34|Perl (5.28.1)| +|35|PHP (7.4.1)| +|36|Plain Text| +|37|Prolog (GNU Prolog 1.4.5)| +|38|Python (2.7.17)| +|39|Python (3.8.1)| +|40|R (4.0.0)| +|41|Ruby (2.7.0)| +|42|Rust (1.40.0)| +|43|Scala (2.13.2)| +|44|SQL (SQLite 3.27.2)| +|45|Swift (5.2.3)| +|46|TypeScript (3.7.4)| +|47|Visual Basic.Net (vbnc 0.0.0.5943)| ### [Extra Edition](https://rapidapi.com/hermanzdosilovic/api/judge0-extra) |#|Name| diff --git a/tests/pabc/lang.properties b/tests/pabc/lang.properties new file mode 100644 index 0000000..67c9b92 --- /dev/null +++ b/tests/pabc/lang.properties @@ -0,0 +1,6 @@ +VERSIONS="3.6.3" +NAME="Pascal (ABC $VERSION)" +SOURCE_FILE="main.pas" +BINARY_FILE="main.exe" +COMPILE_CMD="mono /usr/local/pabc-3.6.3/pabcnetcclear.exe $ARGS $SOURCE_FILE" +RUN_CMD="mono ./$BINARY_FILE" diff --git a/tests/pabc/main.pas b/tests/pabc/main.pas new file mode 100644 index 0000000..294cd97 --- /dev/null +++ b/tests/pabc/main.pas @@ -0,0 +1,6 @@ +program Hello; +var name : String; +begin + readln(name); + writeln('hello, ', name); +end. \ No newline at end of file