diff --git a/api/Dockerfile b/api/Dockerfile index 62b6d24..96e64ef 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 libncurses6 && \ + 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/* RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen diff --git a/packages/emacs/27.1.0/build.sh b/packages/emacs/27.1.0/build.sh new file mode 100755 index 0000000..a4aecc6 --- /dev/null +++ b/packages/emacs/27.1.0/build.sh @@ -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 diff --git a/packages/emacs/27.1.0/environment b/packages/emacs/27.1.0/environment new file mode 100644 index 0000000..780b668 --- /dev/null +++ b/packages/emacs/27.1.0/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Put 'export' statements here for environment variables +export PATH=$PWD/bin:$PATH diff --git a/packages/emacs/27.1.0/metadata.json b/packages/emacs/27.1.0/metadata.json new file mode 100644 index 0000000..bcd3d08 --- /dev/null +++ b/packages/emacs/27.1.0/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "emacs", + "version": "27.1.0", + "author": "Dan Vargas ", + "aliases": ["emacs", "el", "elisp"] +} \ No newline at end of file diff --git a/packages/emacs/27.1.0/run b/packages/emacs/27.1.0/run new file mode 100644 index 0000000..8bf46e4 --- /dev/null +++ b/packages/emacs/27.1.0/run @@ -0,0 +1,4 @@ +#!/bin/bash + +# Put instructions to run the runtime +emacs -Q --script "$@" \ No newline at end of file diff --git a/packages/emacs/27.1.0/test.el b/packages/emacs/27.1.0/test.el new file mode 100644 index 0000000..ebe0215 --- /dev/null +++ b/packages/emacs/27.1.0/test.el @@ -0,0 +1 @@ +(princ "OK") \ No newline at end of file diff --git a/packages/lolcode/0.11.2/build.sh b/packages/lolcode/0.11.2/build.sh new file mode 100755 index 0000000..72a9ea3 --- /dev/null +++ b/packages/lolcode/0.11.2/build.sh @@ -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 diff --git a/packages/lolcode/0.11.2/environment b/packages/lolcode/0.11.2/environment new file mode 100644 index 0000000..780b668 --- /dev/null +++ b/packages/lolcode/0.11.2/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Put 'export' statements here for environment variables +export PATH=$PWD/bin:$PATH diff --git a/packages/lolcode/0.11.2/metadata.json b/packages/lolcode/0.11.2/metadata.json new file mode 100644 index 0000000..80e46ea --- /dev/null +++ b/packages/lolcode/0.11.2/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "lolcode", + "version": "0.11.2", + "author": "Shivansh-007 ", + "aliases": ["lol", "lci"] +} diff --git a/packages/lolcode/0.11.2/run b/packages/lolcode/0.11.2/run new file mode 100644 index 0000000..d4e6725 --- /dev/null +++ b/packages/lolcode/0.11.2/run @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Put instructions to run the runtime +lci "$@" diff --git a/packages/lolcode/0.11.2/test.lol b/packages/lolcode/0.11.2/test.lol new file mode 100644 index 0000000..f93f722 --- /dev/null +++ b/packages/lolcode/0.11.2/test.lol @@ -0,0 +1,4 @@ +HAI 1.2 + CAN HAS STDIO? + VISIBLE "OK" +KTHXBYE diff --git a/packages/swift/5.3.3/build.sh b/packages/swift/5.3.3/build.sh new file mode 100755 index 0000000..5070b12 --- /dev/null +++ b/packages/swift/5.3.3/build.sh @@ -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 diff --git a/packages/swift/5.3.3/environment b/packages/swift/5.3.3/environment new file mode 100644 index 0000000..780b668 --- /dev/null +++ b/packages/swift/5.3.3/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Put 'export' statements here for environment variables +export PATH=$PWD/bin:$PATH diff --git a/packages/swift/5.3.3/metadata.json b/packages/swift/5.3.3/metadata.json new file mode 100644 index 0000000..679b8da --- /dev/null +++ b/packages/swift/5.3.3/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "swift", + "version": "5.3.3", + "aliases": ["swift"], + "author": "Dan Vargas " +} diff --git a/packages/swift/5.3.3/run b/packages/swift/5.3.3/run new file mode 100644 index 0000000..5d29e87 --- /dev/null +++ b/packages/swift/5.3.3/run @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# Setting clang cache to current dir to avoid permission error on /tmp +swift -module-cache-path . "$@" diff --git a/packages/swift/5.3.3/test.swift b/packages/swift/5.3.3/test.swift new file mode 100644 index 0000000..3f2688f --- /dev/null +++ b/packages/swift/5.3.3/test.swift @@ -0,0 +1 @@ +print("OK") \ No newline at end of file diff --git a/packages/zig/0.7.1/build.sh b/packages/zig/0.7.1/build.sh new file mode 100755 index 0000000..9714794 --- /dev/null +++ b/packages/zig/0.7.1/build.sh @@ -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 ../ \ No newline at end of file diff --git a/packages/zig/0.7.1/compile b/packages/zig/0.7.1/compile new file mode 100644 index 0000000..af7e9eb --- /dev/null +++ b/packages/zig/0.7.1/compile @@ -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 "$@" diff --git a/packages/zig/0.7.1/environment b/packages/zig/0.7.1/environment new file mode 100644 index 0000000..a85000c --- /dev/null +++ b/packages/zig/0.7.1/environment @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# compiler path +export PATH=$PWD/bin:$PATH diff --git a/packages/zig/0.7.1/metadata.json b/packages/zig/0.7.1/metadata.json new file mode 100644 index 0000000..3de611e --- /dev/null +++ b/packages/zig/0.7.1/metadata.json @@ -0,0 +1,6 @@ +{ + "language": "zig", + "version": "0.7.1", + "aliases": ["zig"], + "author": "Dan Vargas " +} diff --git a/packages/zig/0.7.1/run b/packages/zig/0.7.1/run new file mode 100644 index 0000000..d96e06f --- /dev/null +++ b/packages/zig/0.7.1/run @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +shift # Filename is only used in compile step, so we can take it out here +./out "$@" diff --git a/packages/zig/0.7.1/test.zig b/packages/zig/0.7.1/test.zig new file mode 100644 index 0000000..548c703 --- /dev/null +++ b/packages/zig/0.7.1/test.zig @@ -0,0 +1,6 @@ +const std = @import("std"); + +pub fn main() !void { + const stdout = std.io.getStdOut().writer(); + try stdout.print("OK\n", .{}); +} \ No newline at end of file diff --git a/shell.nix b/shell.nix index f43b1b4..d3c1b54 100644 --- a/shell.nix +++ b/shell.nix @@ -1,5 +1,5 @@ { pkgs ? import {} }: pkgs.mkShell { # nativeBuildInputs is usually what you want -- tools you need to run - nativeBuildInputs = [ pkgs.nodejs-15_x pkgs.yarn pkgs.jq ]; -} \ No newline at end of file + nativeBuildInputs = with pkgs; [ nodejs-15_x yarn jq ]; +}