xrforge-v2/src/util/build.sh
2026-09-01 15:02:49 +02:00

58 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env sh
OUTDIR=result/bin
REDBEAN_URL="https://redbean.dev/redbean-3.0.0.com"
REDBEAN_CRC="382f1288bb96ace4bab5145e7df236846c33cc4f1be69233710682a9e71e7467 $OUTDIR/xrforge.com"
download(){
redbean(){
test -d $OUTDIR || mkdir -p $OUTDIR
rm $OUTDIR/*.com || true # delete old
verify(){
echo "$REDBEAN_CRC" > /tmp/checksum
sha256sum -c /tmp/checksum || { echo "psuedosecurity checksum failed"; exit 1; }
}
test -f /tmp/xrforge.com || {
wget --no-check-certificate "$REDBEAN_URL" -O /tmp/xrforge.com
}
cp /tmp/xrforge.com $OUTDIR/xrforge.com
test -n "$ARCH" && {
test -f /tmp/assimilate || {
wget https://cosmo.zip/pub/cosmos/bin/assimilate-x86_64.elf -O /tmp/assimilate
chmod +x /tmp/assimilate
}
rm $OUTDIR/*.bak || true
/tmp/assimilate $OUTDIR/xrforge.com
}
chmod +x $OUTDIR/*.com
#verify
}
janusweb(){
set -x
version=1.7.5
test -f janusweb-${version}.tar.gz || {
wget "https://github.com/coderofsalvation/janusweb/releases/download/v${version}-rc/janusweb-${version}.tar.gz"
}
test -d janusweb-${version} || tar -xvf janusweb-${version}.tar.gz
test -d src/janusweb || cp -Lr janusweb-${version} src/janusweb
}
"$@"
}
build(){
download redbean
download janusweb
cd src
zip -yr ../result/bin/xrforge.com * .lua .init.lua .args
test -n "$ARCH" && cp ../result/bin/xrforge.com ../result/bin/xrforge-$ARCH.com
}
rebuild(){
cd src
zip -yr ../result/bin/xrforge.com .lua js shader img middlware page plugin cmd css .init.lua .args test myverse
}
"$@"