From d50403230caaa0f026f5251346a501de7c5a6c4c Mon Sep 17 00:00:00 2001
From: "Vargas, Dan" <dan.vargas@frostbank.com>
Date: Thu, 18 Mar 2021 09:13:02 -0500
Subject: [PATCH 1/3] pkg(prolog-8.2.4): Add deps for prolog

---
 api/Dockerfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/api/Dockerfile b/api/Dockerfile
index 6a1156d..62b6d24 100644
--- a/api/Dockerfile
+++ b/api/Dockerfile
@@ -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 libgmp3-dev && \
+    apt-get install -y libxml2 gnupg tar coreutils util-linux libc6-dev binutils build-essential locales libpcre3-dev libevent-dev libgmp3-dev libncurses6 && \
     rm -rf /var/lib/apt/lists/*
 
 RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen

From d5723a11d2b891509b2fbad1e53a8751ff7f2950 Mon Sep 17 00:00:00 2001
From: "Vargas, Dan" <dan.vargas@frostbank.com>
Date: Thu, 18 Mar 2021 09:20:37 -0500
Subject: [PATCH 2/3] pkg(prolog-8.2.4): Add prolog 8.2.4

---
 packages/prolog/8.2.4/build.sh      | 22 ++++++++++++++++++++++
 packages/prolog/8.2.4/environment   |  1 +
 packages/prolog/8.2.4/metadata.json |  6 ++++++
 packages/prolog/8.2.4/run           |  4 ++++
 packages/prolog/8.2.4/test.prolog   |  1 +
 5 files changed, 34 insertions(+)
 create mode 100755 packages/prolog/8.2.4/build.sh
 create mode 100644 packages/prolog/8.2.4/environment
 create mode 100644 packages/prolog/8.2.4/metadata.json
 create mode 100644 packages/prolog/8.2.4/run
 create mode 100644 packages/prolog/8.2.4/test.prolog

diff --git a/packages/prolog/8.2.4/build.sh b/packages/prolog/8.2.4/build.sh
new file mode 100755
index 0000000..3473d69
--- /dev/null
+++ b/packages/prolog/8.2.4/build.sh
@@ -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
diff --git a/packages/prolog/8.2.4/environment b/packages/prolog/8.2.4/environment
new file mode 100644
index 0000000..bd0ff98
--- /dev/null
+++ b/packages/prolog/8.2.4/environment
@@ -0,0 +1 @@
+export PATH=$PWD/bin:$PATH
\ No newline at end of file
diff --git a/packages/prolog/8.2.4/metadata.json b/packages/prolog/8.2.4/metadata.json
new file mode 100644
index 0000000..8238856
--- /dev/null
+++ b/packages/prolog/8.2.4/metadata.json
@@ -0,0 +1,6 @@
+{
+  "language": "prolog",
+  "version": "8.2.4",
+  "aliases": ["prolog","plg"],
+  "author": "Dan Vargas <danvargas46@gmail.com>"
+}
diff --git a/packages/prolog/8.2.4/run b/packages/prolog/8.2.4/run
new file mode 100644
index 0000000..7609191
--- /dev/null
+++ b/packages/prolog/8.2.4/run
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# Put instructions to run the runtime
+swipl -g true -t halt "$@"
diff --git a/packages/prolog/8.2.4/test.prolog b/packages/prolog/8.2.4/test.prolog
new file mode 100644
index 0000000..290ef7c
--- /dev/null
+++ b/packages/prolog/8.2.4/test.prolog
@@ -0,0 +1 @@
+:- write('OK'), nl.
\ No newline at end of file

From 389c9be86ccb2b6a553930ff2896706d287b2d48 Mon Sep 17 00:00:00 2001
From: "Vargas, Dan" <dan.vargas@frostbank.com>
Date: Thu, 18 Mar 2021 13:34:03 -0500
Subject: [PATCH 3/3] pkg(scala-3.0.0): Add scala 3.0.0

---
 packages/scala/3.0.0/build.sh      | 16 ++++++++++++++++
 packages/scala/3.0.0/environment   |  5 +++++
 packages/scala/3.0.0/metadata.json |  6 ++++++
 packages/scala/3.0.0/run           |  4 ++++
 packages/scala/3.0.0/test.scala    |  3 +++
 5 files changed, 34 insertions(+)
 create mode 100755 packages/scala/3.0.0/build.sh
 create mode 100644 packages/scala/3.0.0/environment
 create mode 100644 packages/scala/3.0.0/metadata.json
 create mode 100644 packages/scala/3.0.0/run
 create mode 100644 packages/scala/3.0.0/test.scala

diff --git a/packages/scala/3.0.0/build.sh b/packages/scala/3.0.0/build.sh
new file mode 100755
index 0000000..0a3fcf7
--- /dev/null
+++ b/packages/scala/3.0.0/build.sh
@@ -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 ..
diff --git a/packages/scala/3.0.0/environment b/packages/scala/3.0.0/environment
new file mode 100644
index 0000000..40244a6
--- /dev/null
+++ b/packages/scala/3.0.0/environment
@@ -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
diff --git a/packages/scala/3.0.0/metadata.json b/packages/scala/3.0.0/metadata.json
new file mode 100644
index 0000000..6227bb9
--- /dev/null
+++ b/packages/scala/3.0.0/metadata.json
@@ -0,0 +1,6 @@
+{
+  "language": "scala",
+  "version": "3.0.0",
+  "aliases": ["scala","sc"],
+  "author": "Dan Vargas <danvargas46@gmail.com>"
+}
diff --git a/packages/scala/3.0.0/run b/packages/scala/3.0.0/run
new file mode 100644
index 0000000..e8bd3c2
--- /dev/null
+++ b/packages/scala/3.0.0/run
@@ -0,0 +1,4 @@
+#!/usr/bin/env bash
+
+# Put instructions to run the runtime
+scala -color never "$@"
diff --git a/packages/scala/3.0.0/test.scala b/packages/scala/3.0.0/test.scala
new file mode 100644
index 0000000..bf4cabc
--- /dev/null
+++ b/packages/scala/3.0.0/test.scala
@@ -0,0 +1,3 @@
+@main def run(): Unit = {
+  println("OK")
+}
\ No newline at end of file