Compare commits

...

29 Commits

Author SHA1 Message Date
Thomas Hobson c1ed7a7118
Merge pull request #574 from LoryPelli/mono-6.12.0
Updated `Mono 6.12.0 build.sh`
2023-04-11 01:14:37 +12:00
Thomas Hobson 8381f40388
Merge pull request #575 from LoryPelli/bash-5.2.0
Updated to `Bash 5.2.0`
2023-04-11 01:13:53 +12:00
Thomas Hobson 8cfdd337f9
Merge pull request #576 from LoryPelli/julia-1.8.5
Updated to `Julia 1.8.5`
2023-04-11 01:13:21 +12:00
Thomas Hobson 32813594d6
Merge pull request #577 from LoryPelli/lua-5.4.4
Updated to `Lua 5.4.4`
2023-04-11 01:12:26 +12:00
Thomas Hobson b043f07565
Merge pull request #570 from LoryPelli/php-8.2.3
Updated to `PHP 8.2.3`
2023-04-11 01:12:02 +12:00
Thomas Hobson fa4af90548
Merge pull request #579 from LoryPelli/nim-1.6.2
Updated to `Nim 1.6.2`
2023-04-11 01:11:33 +12:00
Thomas Hobson 89b173c36a
Merge pull request #580 from LoryPelli/octave-8.1.0
Updated to `Octave 8.1.0`
2023-04-11 01:10:53 +12:00
Thomas Hobson dac6b765ab
Merge pull request #581 from LoryPelli/dart-2.19.6
Updated to `Dart 2.19.6`
2023-04-11 01:10:18 +12:00
Thomas Hobson 9a93c804bf
Merge pull request #585 from LoryPelli/scala-3.2.2
Updated to `Scala 3.2.2`
2023-04-11 01:09:52 +12:00
Thomas Hobson 539aad3873
Merge pull request #586 from LoryPelli/freebasic-1.9.0
Updated to `Freebasic 1.9.0`
2023-04-11 01:09:21 +12:00
Thomas Hobson 52d5c2262a
Merge pull request #587 from LoryPelli/kotlin-1.8.20
Updated to `Kotlin 1.8.20`
2023-04-11 01:08:40 +12:00
Thomas Hobson 388a9bca68
Merge pull request #588 from LoryPelli/pascal-3.2.2
Updated to `Pascal 3.2.2`
2023-04-11 01:08:15 +12:00
Thomas Hobson 54a4b6e449
Merge pull request #589 from LoryPelli/perl-5.36.0
Updated to `Perl 5.36.0`
2023-04-11 01:07:35 +12:00
Thomas Hobson d4fff15197
Merge branch 'master' into perl-5.36.0 2023-04-11 01:07:27 +12:00
Thomas Hobson acc449326e
Merge pull request #590 from LoryPelli/vlang-0.3.3
Updated to `Vlang 0.3.3`
2023-04-11 01:06:48 +12:00
RVG|lory 4c45648a79
Updated to `Vlang 0.3.3` 2023-04-09 12:24:30 +02:00
RVG|lory 1da99d47f1
Updated to `Perl 5.36.0` 2023-04-08 22:29:44 +02:00
RVG|lory 8a778f7033
Updated to `Pascal 3.2.2` 2023-04-08 22:07:40 +02:00
RVG|lory 6a48428970
Updated to `Freebasic 1.9.0` 2023-04-08 19:32:44 +02:00
RVG|lory 334e7820ff
Updated to `Scala 3.2.2` 2023-04-08 18:21:15 +02:00
RVG|lory 0c253a667d
Updated to `Kotlin 1.8.20` 2023-04-08 17:35:00 +02:00
RVG|lory 28314f16ab
Updated to `Dart 2.19.6` 2023-04-08 13:52:48 +02:00
RVG|lory 7ae50eaef7
Updated to `Octave 8.1.0` 2023-04-08 13:31:16 +02:00
RVG|lory df553c80ea
Updated to `Nim 1.6.2` 2023-04-08 13:12:10 +02:00
RVG|lory b65c5f84df
Updated to `Lua 5.4.4` 2023-04-08 11:58:48 +02:00
RVG|lory 6524db168f
Updated to `Julia 1.8.5` 2023-04-08 10:05:11 +02:00
RVG|lory 314a96a8d4
Updated to `Bash 5.2.0` 2023-04-08 09:52:41 +02:00
RVG|lory 2ae73c5dae
Updated `Mono 6.12.0 build.sh` 2023-04-08 09:03:57 +02:00
RVG|lory 91d4d402de
Updated to `PHP 8.2.3` 2023-04-07 19:40:10 +02:00
71 changed files with 435 additions and 1 deletions

20
packages/bash/5.2.0/build.sh vendored Normal file
View File

@ -0,0 +1,20 @@
#!/usr/bin/env bash
# Put instructions to build your package in here
PREFIX=$(realpath $(dirname $0))
mkdir -p build
cd build
curl "https://ftp.gnu.org/gnu/bash/bash-5.2.tar.gz" -o bash.tar.gz
tar xzf bash.tar.gz --strip-components=1
# === autoconf based ===
./configure --prefix "$PREFIX"
make -j$(nproc)
make install -j$(nproc)
cd ../
rm -rf build

4
packages/bash/5.2.0/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

5
packages/bash/5.2.0/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "bash",
"version": "5.2.0",
"aliases": ["sh"]
}

4
packages/bash/5.2.0/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
bash "$@"

1
packages/bash/5.2.0/test.bash.sh vendored Normal file
View File

@ -0,0 +1 @@
echo "OK"

11
packages/dart/2.19.6/build.sh vendored Normal file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
curl -L "https://storage.googleapis.com/dart-archive/channels/stable/release/2.19.6/sdk/dartsdk-linux-x64-release.zip" -o dart.zip
unzip dart.zip
rm dart.zip
cp -r dart-sdk/* .
rm -rf dart-sdk
chmod -R +rx bin

4
packages/dart/2.19.6/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH=$PWD/bin:$PATH

5
packages/dart/2.19.6/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "dart",
"version": "2.19.6",
"aliases": []
}

4
packages/dart/2.19.6/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
dart run "$@"

3
packages/dart/2.19.6/test.dart vendored Normal file
View File

@ -0,0 +1,3 @@
void main() {
print('OK');
}

5
packages/freebasic/1.9.0/build.sh vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
curl -L "https://sourceforge.net/projects/fbc/files/FreeBASIC-1.09.0/Binaries-Linux/FreeBASIC-1.09.0-linux-x86_64.tar.gz/download" -o freebasic.tar.gz
tar xf freebasic.tar.gz --strip-components=1
rm freebasic.tar.gz

4
packages/freebasic/1.9.0/compile vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Compile bas files
fbc -lang qb -b "$@" -x out

4
packages/freebasic/1.9.0/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Path to fbc compiler
export PATH=$PWD/bin:$PATH

View File

@ -0,0 +1,5 @@
{
"language": "freebasic",
"version": "1.9.0",
"aliases": ["bas", "fbc", "basic", "qbasic", "quickbasic"]
}

5
packages/freebasic/1.9.0/run vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Run output file from compile with arguments
shift
./out "$@"

1
packages/freebasic/1.9.0/test.bas vendored Normal file
View File

@ -0,0 +1 @@
PRINT "OK"

21
packages/julia/1.8.5/build.sh vendored Normal file
View File

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Install location
PREFIX=$(realpath $(dirname $0))
mkdir -p build
cd build
# Download and extract Julia source
curl -L "https://github.com/JuliaLang/julia/releases/download/v1.8.5/julia-1.8.5.tar.gz" -o julia.tar.gz
tar xzf julia.tar.gz --strip-components=1
# Build
echo "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)
prefix=$PREFIX" > Make.user
make -j$(nproc)
make install -j$(nproc)
# Cleanup
cd ..
rm -rf build

4
packages/julia/1.8.5/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Add Julia binary to path
export PATH=$PWD/bin:$PATH

5
packages/julia/1.8.5/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "julia",
"version": "1.8.5",
"aliases": ["jl"]
}

4
packages/julia/1.8.5/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Run without startup or history file
julia --startup-file=no --history-file=no "$@"

1
packages/julia/1.8.5/test.jl vendored Normal file
View File

@ -0,0 +1 @@
println("OK")

13
packages/kotlin/1.8.20/build.sh vendored Normal file
View File

@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Download and extract JDK8
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz" -o jdk.tar.gz
tar xzf jdk.tar.gz --strip-components=1
rm jdk.tar.gz
# Download and extract Kotlin
curl -L "https://github.com/JetBrains/kotlin/releases/download/v1.8.20/kotlin-compiler-1.8.20.zip" -o kotlin.zip
unzip kotlin.zip
rm kotlin.zip
cp -r kotlinc/* .
rm -rf kotlinc

6
packages/kotlin/1.8.20/compile vendored Normal file
View File

@ -0,0 +1,6 @@
#!/usr/bin/env bash
rename 's/$/\.kt/' "$@" # Add .kt extension
# Compile Kotlin code to a jar file
kotlinc *.kt -include-runtime -d code.jar

4
packages/kotlin/1.8.20/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Add java and kotlinc to path
export PATH=$PWD/bin:$PATH

5
packages/kotlin/1.8.20/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "kotlin",
"version": "1.8.20",
"aliases": ["kt"]
}

5
packages/kotlin/1.8.20/run vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Run jar file
shift
java -jar code.jar "$@"

3
packages/kotlin/1.8.20/test.kt vendored Normal file
View File

@ -0,0 +1,3 @@
fun main() {
println("OK")
}

14
packages/lua/5.4.4/build.sh vendored Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Put instructions to build your package in here
curl -R -O -L http://www.lua.org/ftp/lua-5.4.4.tar.gz
tar zxf lua-5.4.4.tar.gz
rm lua-5.4.4.tar.gz
cd lua-5.4.4
# Building Lua
make linux
# To check that Lua has been built correctly
make test
# Installing Lua
make linux install

4
packages/lua/5.4.4/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH="$PWD/lua-5.4.4/src:$PATH"

5
packages/lua/5.4.4/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "lua",
"version": "5.4.4",
"aliases": []
}

4
packages/lua/5.4.4/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put instructions to run the runtime
lua "$@"

1
packages/lua/5.4.4/test.lua vendored Normal file
View File

@ -0,0 +1 @@
print("OK")

View File

@ -5,7 +5,7 @@ PREFIX=$(realpath $(dirname $0))
mkdir -p build/mono build/mono-basic
cd build
curl "https://download.mono-project.com/sources/mono/mono-6.12.0.122.tar.xz" -o mono.tar.xz
curl "https://download.mono-project.com/sources/mono/mono-6.12.0.182.tar.xz" -o mono.tar.xz
curl -L "https://github.com/mono/mono-basic/archive/refs/tags/4.7.tar.gz" -o mono-basic.tar.gz
tar xf mono.tar.xz --strip-components=1 -C mono
tar xf mono-basic.tar.gz --strip-components=1 -C mono-basic

18
packages/nim/1.6.2/build.sh vendored Normal file
View File

@ -0,0 +1,18 @@
#!/bin/bash
PREFIX=$(realpath $(dirname $0))
mkdir -p build
cd build
# Prebuilt binary - source *can* be built, but it requires gcc
curl -L "https://nim-lang.org/download/nim-1.6.2-linux_x64.tar.xz" -o nim.tar.xz
tar xf nim.tar.xz --strip-components=1
rm nim.tar.xz
./install.sh "$PREFIX"
cd ../
rm -rf build

5
packages/nim/1.6.2/compile vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Compile nim file(s)
nim --hints:off --out:out --nimcache:./ c "$@"
chmod +x out

1
packages/nim/1.6.2/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/nim/bin:$PATH

5
packages/nim/1.6.2/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "nim",
"version": "1.6.2",
"aliases": []
}

4
packages/nim/1.6.2/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
shift # Filename is only used to compile
./out "$@"

1
packages/nim/1.6.2/test.nim vendored Normal file
View File

@ -0,0 +1 @@
echo("OK")

22
packages/octave/8.1.0/build.sh vendored Normal file
View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Build octave from source
PREFIX=$(realpath $(dirname $0))
mkdir -p build
cd build
curl -L "https://ftpmirror.gnu.org/octave/octave-8.1.0.tar.gz" -o octave.tar.gz
tar xzf octave.tar.gz --strip-components=1
# === autoconf based ===
# Disable support for GUI, HDF5 and Java
./configure --prefix "$PREFIX" --without-opengl --without-qt --without-x --without-hdf5 --disable-java
make -j$(nproc)
make install -j$(nproc)
cd ../
rm -rf build

4
packages/octave/8.1.0/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Path to octave binary
export PATH=$PWD/bin:$PATH

5
packages/octave/8.1.0/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "octave",
"version": "8.1.0",
"aliases": ["matlab", "m"]
}

4
packages/octave/8.1.0/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Run octave scripts without gui, history, init scripts and initial message
octave --no-gui --no-window-system --no-history --no-init-file --no-site-file --norc --quiet "$@"

1
packages/octave/8.1.0/test.octave vendored Normal file
View File

@ -0,0 +1 @@
disp('OK')

25
packages/pascal/3.2.2/build.sh vendored Normal file
View File

@ -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.2/fpc-3.2.2.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/

5
packages/pascal/3.2.2/compile vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Compile pascal files
fpc -oout -v0 "$@"
chmod +x out

1
packages/pascal/3.2.2/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/bin:$PATH

5
packages/pascal/3.2.2/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "pascal",
"version": "3.2.2",
"aliases": ["freepascal", "pp", "pas"]
}

4
packages/pascal/3.2.2/run vendored Normal file
View File

@ -0,0 +1,4 @@
#!/bin/bash
shift # Filename is only used to compile
./out "$@"

5
packages/pascal/3.2.2/test.pp vendored Normal file
View File

@ -0,0 +1,5 @@
program test;
begin
writeln('OK');
end.

18
packages/perl/5.36.0/build.sh vendored Normal file
View File

@ -0,0 +1,18 @@
#!/bin/bash
PREFIX=$(realpath $(dirname $0))
mkdir -p build
cd build
curl "https://www.cpan.org/src/5.0/perl-5.36.0.tar.gz" -o perl.tar.gz
tar xzf perl.tar.gz --strip-components=1
./Configure -des -Dprefix="$PREFIX"
make -j$(nproc)
make install -j$(nproc)
cd ..
rm -rf build

1
packages/perl/5.36.0/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/bin:$PATH

5
packages/perl/5.36.0/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "perl",
"version": "5.36.0",
"aliases": ["pl"]
}

3
packages/perl/5.36.0/run vendored Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
perl "$@"

1
packages/perl/5.36.0/test.pl vendored Normal file
View File

@ -0,0 +1 @@
print("OK")

20
packages/php/8.2.3/build.sh vendored Normal file
View File

@ -0,0 +1,20 @@
#!/bin/bash
PREFIX=$(realpath $(dirname $0))
mkdir -p build/php
cd build
curl "https://www.php.net/distributions/php-8.2.3.tar.gz" -o php.tar.gz
tar xzf php.tar.gz --strip-components=1 -C php
cd php
./configure --prefix "$PREFIX"
make -j$(nproc)
make install -j$(nproc)
cd ../../
rm -rf build

1
packages/php/8.2.3/environment vendored Normal file
View File

@ -0,0 +1 @@
export PATH=$PWD/bin:$PATH

5
packages/php/8.2.3/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "php",
"version": "8.2.3",
"aliases": []
}

3
packages/php/8.2.3/run vendored Normal file
View File

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

1
packages/php/8.2.3/test.php vendored Normal file
View File

@ -0,0 +1 @@
OK

11
packages/scala/3.2.2/build.sh vendored Normal file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
# Download and extract JDK8
curl -L "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz" -o jdk.tar.gz
tar xzf jdk.tar.gz --strip-components=1
rm jdk.tar.gz
# Download and extract Scala 3
curl -L "https://github.com/lampepfl/dotty/releases/download/3.2.2/scala3-3.2.2.tar.gz" -o scala.tar.gz
tar -xzf scala.tar.gz --strip-components=1
rm scala.tar.gz

14
packages/scala/3.2.2/compile vendored Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Compile scala classes into a jar file
scalac "$@" -d out.jar
# Create the Manifest and include scala lib jars:
# NOTE: - entry point will only consider @main and App traits from the main file
# - scala lib jars will be added to the class path in order to run the jar properly
echo "Main-Class: $(grep -oP '\@main\s+def\s+\K[a-zA-Z][a-zA-Z0-9]*|object\s+\K[a-zA-Z][a-zA-Z0-9]*(?=\s+extends\s+App)' $1)
Class-Path: $(echo $JAVA_HOME/lib/*.jar | sed 's/\s/\n /g')
" > manifest.txt
# Update the jar with the manifest
jar ufm out.jar manifest.txt

5
packages/scala/3.2.2/environment vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Scala requires JAVA_HOME to be set
export JAVA_HOME=$PWD
export PATH=$PWD/bin:$PATH

5
packages/scala/3.2.2/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "scala",
"version": "3.2.2",
"aliases": ["sc"]
}

5
packages/scala/3.2.2/run vendored Normal file
View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Run jar file
shift
java -jar out.jar "$@"

3
packages/scala/3.2.2/test.scala vendored Normal file
View File

@ -0,0 +1,3 @@
@main def run(): Unit = {
println("OK")
}

8
packages/vlang/0.3.3/build.sh vendored Normal file
View File

@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Cloning vlang source
git clone https://github.com/vlang/v
cd v
# Building and installing vlang
make

4
packages/vlang/0.3.3/environment vendored Normal file
View File

@ -0,0 +1,4 @@
#!/usr/bin/env bash
# Put 'export' statements here for environment variables
export PATH="$PWD/v:$PATH"

5
packages/vlang/0.3.3/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "vlang",
"version": "0.3.3",
"aliases": ["v"]
}

14
packages/vlang/0.3.3/run vendored Normal file
View File

@ -0,0 +1,14 @@
#!/usr/bin/env bash
# Export environment variables
export VMODULES="$PWD"
export TMPDIR="$PWD"
# Put instructions to run the runtime
filename=$1
rename 's/$/\.v/' $filename # Add .v extension
shift
v run $filename.v "$@"

3
packages/vlang/0.3.3/test.v vendored Normal file
View File

@ -0,0 +1,3 @@
fn main() {
println('OK')
}