54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
id: "limbo"
|
|
aliases:
|
|
- "inferno"
|
|
- "b"
|
|
name: "Limbo"
|
|
|
|
install:
|
|
prepare:
|
|
apt:
|
|
- gcc-multilib
|
|
- libc6-dev-i386
|
|
- libx11-dev:i386
|
|
- libxext-dev:i386
|
|
manual: |
|
|
install -d "${pkg}/opt/inferno"
|
|
install -d "${pkg}/usr/local/bin"
|
|
|
|
wget "$(curl -sSL http://www.vitanuova.com/inferno/downloads.html | grep -E 'inferno-[0-9]+\.tgz' | grep -Eo 'http://[^"]+')" -O inferno.tgz
|
|
tar -xf inferno.tgz -C "${pkg}/opt/inferno" --strip-components=1
|
|
chmod -R u+w,a=u,go-w "${pkg}/opt/inferno"
|
|
pushd "${pkg}/opt/inferno"
|
|
sed -i 's/gcc/gcc -m32/g' makemk.sh
|
|
sed -i "s#ROOT=.*#ROOT=${PWD}#" mkconfig
|
|
sed -i "s#CFLAGS=#CFLAGS=-fcommon#" mkfiles/mkfile-Linux-arm
|
|
./makemk.sh
|
|
PATH="$PWD/Linux/386/bin:$PATH" mk install
|
|
ln -s "/opt/inferno/Linux/386/bin/emu" "/opt/inferno/Linux/386/bin/limbo" "${pkg}/usr/local/bin/"
|
|
popd
|
|
|
|
setup: |
|
|
ln -s /opt/inferno/* ./
|
|
|
|
main: "riju/main.b"
|
|
template: |
|
|
implement Cmd;
|
|
|
|
include "sys.m";
|
|
include "draw.m";
|
|
|
|
Cmd : module {
|
|
init : fn (ctxt : ref Draw->Context, args : list of string);
|
|
};
|
|
|
|
init(nil : ref Draw->Context, nil : list of string)
|
|
{
|
|
sys := load Sys Sys->PATH;
|
|
sys->print("Hello, world!\n");
|
|
}
|
|
|
|
compile: |
|
|
limbo -o riju/main.dis riju/main.b
|
|
run: |
|
|
emu -r . riju/main.dis
|