diff --git a/packages/coffeescript/2.5.1/build.sh b/packages/coffeescript/2.5.1/build.sh new file mode 100755 index 0000000..58d99b2 --- /dev/null +++ b/packages/coffeescript/2.5.1/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# Download and install NodeJS +curl "https://nodejs.org/dist/v15.10.0/node-v15.10.0-linux-x64.tar.xz" -o node.tar.xz +tar xf node.tar.xz --strip-components=1 +rm node.tar.xz +export PATH=$PWD/bin:$PATH + +# Install CoffeeScript via npm and done +npm install --global coffeescript@2.5.1 diff --git a/packages/coffeescript/2.5.1/environment b/packages/coffeescript/2.5.1/environment new file mode 100644 index 0000000..bd0ff98 --- /dev/null +++ b/packages/coffeescript/2.5.1/environment @@ -0,0 +1 @@ +export PATH=$PWD/bin:$PATH \ No newline at end of file diff --git a/packages/coffeescript/2.5.1/metadata.json b/packages/coffeescript/2.5.1/metadata.json new file mode 100644 index 0000000..97437c4 --- /dev/null +++ b/packages/coffeescript/2.5.1/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "coffeescript", + "version": "2.5.1", + "author": "Dan Vargas ", + "aliases": ["coffeescript", "coffee"] +} \ No newline at end of file diff --git a/packages/coffeescript/2.5.1/run b/packages/coffeescript/2.5.1/run new file mode 100644 index 0000000..5d8cc03 --- /dev/null +++ b/packages/coffeescript/2.5.1/run @@ -0,0 +1,3 @@ +#!/bin/bash + +coffee "$@" diff --git a/packages/coffeescript/2.5.1/test.coffee b/packages/coffeescript/2.5.1/test.coffee new file mode 100644 index 0000000..b3a8f72 --- /dev/null +++ b/packages/coffeescript/2.5.1/test.coffee @@ -0,0 +1 @@ +console.log "OK" \ No newline at end of file diff --git a/packages/cow/1.0.0/build.sh b/packages/cow/1.0.0/build.sh new file mode 100755 index 0000000..3bf5938 --- /dev/null +++ b/packages/cow/1.0.0/build.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Grab the latest cow source from github +git clone -q https://github.com/BigZaphod/COW.git cow + +# Generate the cow binary into bin +mkdir -p bin +sed -i '1i#define NO_GREETINGS' cow/source/cow.cpp +g++ -o bin/cow cow/source/cow.cpp + +# Cleanup +rm -rf cow diff --git a/packages/cow/1.0.0/environment b/packages/cow/1.0.0/environment new file mode 100644 index 0000000..f31a19f --- /dev/null +++ b/packages/cow/1.0.0/environment @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +export PATH=$PWD/bin:$PATH \ No newline at end of file diff --git a/packages/cow/1.0.0/metadata.json b/packages/cow/1.0.0/metadata.json new file mode 100644 index 0000000..edd6502 --- /dev/null +++ b/packages/cow/1.0.0/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "cow", + "version": "1.0.0", + "author": "Dan Vargas ", + "aliases": ["cow"] +} \ No newline at end of file diff --git a/packages/cow/1.0.0/run b/packages/cow/1.0.0/run new file mode 100644 index 0000000..4cc2d92 --- /dev/null +++ b/packages/cow/1.0.0/run @@ -0,0 +1,2 @@ +#!/bin/bash +cow "$@" diff --git a/packages/cow/1.0.0/test.cow b/packages/cow/1.0.0/test.cow new file mode 100644 index 0000000..b4223ec --- /dev/null +++ b/packages/cow/1.0.0/test.cow @@ -0,0 +1,4 @@ +MoO MoO MoO MoO MoO MoO MoO MoO +MOO moO MoO MoO MoO MoO MoO MoO MoO MoO MoO mOo MOo moo +moO MoO MoO MoO MoO MoO MoO MoO Moo +MOo MOo MOo MOo Moo \ No newline at end of file diff --git a/packages/pascal/3.2.0/build.sh b/packages/pascal/3.2.0/build.sh new file mode 100755 index 0000000..0d1a3b8 --- /dev/null +++ b/packages/pascal/3.2.0/build.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +PREFIX=$(realpath $(dirname $0)) + +mkdir -p build + +cd build +curl -L "https://sourceforge.net/projects/freepascal/files/Linux/3.2.0/fpc-3.2.0-x86_64-linux.tar/download" -o pascal.tar +tar xf pascal.tar --strip-components=1 + +# FreePascal uses an interactive installer +./install.sh << ANSWERS +$PREFIX +n +n +n +ANSWERS + +cd .. +rm -rf build + +# A sample config (needed for each "project") is written to /etc +# We'll copy that into the local lib dir (fpc searches there too on compile) +mkdir lib/fpc/etc +cp -r /etc/fp* lib/fpc/etc/ diff --git a/packages/pascal/3.2.0/compile b/packages/pascal/3.2.0/compile new file mode 100644 index 0000000..93855b7 --- /dev/null +++ b/packages/pascal/3.2.0/compile @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# Compile pascal files +fpc -oout -v0 "$@" +chmod +x out diff --git a/packages/pascal/3.2.0/environment b/packages/pascal/3.2.0/environment new file mode 100644 index 0000000..bd0ff98 --- /dev/null +++ b/packages/pascal/3.2.0/environment @@ -0,0 +1 @@ +export PATH=$PWD/bin:$PATH \ No newline at end of file diff --git a/packages/pascal/3.2.0/metadata.json b/packages/pascal/3.2.0/metadata.json new file mode 100644 index 0000000..69f7dc7 --- /dev/null +++ b/packages/pascal/3.2.0/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "pascal", + "version": "3.2.0", + "author": "Dan Vargas ", + "aliases": ["pascal", "freepascal", "pp", "pas"] +} \ No newline at end of file diff --git a/packages/pascal/3.2.0/run b/packages/pascal/3.2.0/run new file mode 100644 index 0000000..6955ba9 --- /dev/null +++ b/packages/pascal/3.2.0/run @@ -0,0 +1,4 @@ +#!/bin/bash + +shift # Filename is only used to compile +./out "$@" diff --git a/packages/pascal/3.2.0/test.pp b/packages/pascal/3.2.0/test.pp new file mode 100644 index 0000000..3c5165d --- /dev/null +++ b/packages/pascal/3.2.0/test.pp @@ -0,0 +1,5 @@ +program test; + + begin + writeln('OK'); + end. \ No newline at end of file diff --git a/packages/pure/0.68.0/build.sh b/packages/pure/0.68.0/build.sh new file mode 100755 index 0000000..8acb9a2 --- /dev/null +++ b/packages/pure/0.68.0/build.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +PREFIX=$(realpath $(dirname $0)) + +# Python is available in the container as 'python3' and 'python2', not as 'python' +alias python=python3 + +# Installing LLVM and clang (the latter is optional but recommended) +curl -OL "http://llvm.org/releases/3.4/llvm-3.4.src.tar.gz" +curl -OL "http://llvm.org/releases/3.4/clang-3.4.src.tar.gz" +tar xfz llvm-3.4.src.tar.gz +tar xfz clang-3.4.src.tar.gz + +mv clang-3.4 llvm-3.4/tools/clang +# Cleaning up gzip files. +rm llvm-3.4.src.tar.gz && rm clang-3.4.src.tar.gz +cd llvm-3.4 + +# Building and installing - LLVM and clang +./configure --prefix="$PREFIX" --enable-optimized --enable-targets=host-only --enable-docs="no" --enable-assertions="no" +make -j$(nproc) +make install -j$(nproc) + +# Installing Pure +curl -sSLO "https://github.com/agraef/pure-lang/releases/download/pure-0.68/pure-0.68.tar.gz" +tar xfz pure-0.68.tar.gz +rm pure-0.68.tar.gz +cd pure-0.68 + +# Building and installing pure-lang +./configure --prefix="$PREFIX" --enable-release --with-tool-prefix="$PREFIX/bin" --with-static-llvm +make -j$(nproc) +make install -j$(nproc) diff --git a/packages/pure/0.68.0/environment b/packages/pure/0.68.0/environment new file mode 100644 index 0000000..73cb42f --- /dev/null +++ b/packages/pure/0.68.0/environment @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +# Put 'export' statements here for environment variables +export PATH=$PWD/bin:$PATH +export LD_LIBRARY_PATH=$PWD/lib diff --git a/packages/pure/0.68.0/metadata.json b/packages/pure/0.68.0/metadata.json new file mode 100644 index 0000000..3aadcc9 --- /dev/null +++ b/packages/pure/0.68.0/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "pure", + "version": "0.68.0", + "author": "Shivansh-007 ", + "aliases": [] +} diff --git a/packages/pure/0.68.0/run b/packages/pure/0.68.0/run new file mode 100644 index 0000000..3b29e6a --- /dev/null +++ b/packages/pure/0.68.0/run @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Put instructions to run the runtime +pure "$@" diff --git a/packages/pure/0.68.0/test.pure b/packages/pure/0.68.0/test.pure new file mode 100644 index 0000000..88aabf8 --- /dev/null +++ b/packages/pure/0.68.0/test.pure @@ -0,0 +1,2 @@ +using system; +puts "OK"; \ No newline at end of file