2026-05-15 13:22:33 +02:00
|
|
|
#!/usr/bin/env sh
|
|
|
|
|
|
|
|
|
|
OUTDIR=result/bin
|
|
|
|
|
REDBEAN_URL="https://redbean.dev/redbean-3.0.0.com"
|
|
|
|
|
REDBEAN_CRC="382f1288bb96ace4bab5145e7df236846c33cc4f1be69233710682a9e71e7467 $OUTDIR/xrforge.com"
|
|
|
|
|
|
2026-10-15 11:18:05 +02:00
|
|
|
get(){
|
2026-05-15 13:22:33 +02:00
|
|
|
|
|
|
|
|
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; }
|
|
|
|
|
}
|
2026-08-06 16:43:17 +02:00
|
|
|
test -f /tmp/xrforge.com || {
|
|
|
|
|
wget --no-check-certificate "$REDBEAN_URL" -O /tmp/xrforge.com
|
|
|
|
|
}
|
2026-05-15 13:22:33 +02:00
|
|
|
cp /tmp/xrforge.com $OUTDIR/xrforge.com
|
2026-08-06 16:43:17 +02:00
|
|
|
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
|
2026-09-02 22:45:59 +02:00
|
|
|
cp $OUTDIR/xrforge.com $OUTDIR/xrforge-$ARCH.com
|
|
|
|
|
/tmp/assimilate $OUTDIR/xrforge-$ARCH.com
|
2026-08-06 16:43:17 +02:00
|
|
|
}
|
|
|
|
|
chmod +x $OUTDIR/*.com
|
|
|
|
|
#verify
|
2026-05-15 13:22:33 +02:00
|
|
|
}
|
|
|
|
|
|
2026-07-23 15:20:25 +02:00
|
|
|
janusweb(){
|
2026-07-29 22:44:24 +02:00
|
|
|
set -x
|
2026-10-15 11:18:05 +02:00
|
|
|
test -d pkg/janusweb || {
|
|
|
|
|
mkdir pkg &>/dev/null || true
|
2026-09-24 17:52:58 +02:00
|
|
|
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
|
2026-10-15 11:18:05 +02:00
|
|
|
mv janusweb-${version} pkg/janusweb
|
2026-07-23 15:20:25 +02:00
|
|
|
}
|
2026-09-27 12:41:12 +02:00
|
|
|
set -x
|
2026-10-15 11:18:05 +02:00
|
|
|
rsync -avLu pkg/janusweb src/. # overlay but leave newer files intact
|
2026-09-27 12:41:12 +02:00
|
|
|
# cleanup
|
|
|
|
|
rm src/janusweb/janusxr.com || true
|
2026-10-15 11:18:05 +02:00
|
|
|
rm src/janusweb/test || true
|
|
|
|
|
rm src/janusweb/media/test || true
|
2026-09-27 12:41:12 +02:00
|
|
|
# set xrforge as defualt config
|
|
|
|
|
cp src/janusweb/media/assets/webui/{xrforge,default}.json
|
2026-07-23 15:20:25 +02:00
|
|
|
}
|
|
|
|
|
|
2026-05-15 13:22:33 +02:00
|
|
|
"$@"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
build(){
|
2026-10-15 11:18:05 +02:00
|
|
|
get redbean
|
|
|
|
|
get janusweb
|
2026-07-21 19:19:52 +02:00
|
|
|
cd src
|
2026-09-02 22:45:59 +02:00
|
|
|
bundle(){ zip -yr $1 * .lua .init.lua .args; }
|
|
|
|
|
bundle ../result/bin/xrforge.com
|
2026-10-15 11:18:05 +02:00
|
|
|
unzip -l ../result/bin/xrforge.com
|
2026-09-02 22:45:59 +02:00
|
|
|
test -n "$ARCH" && bundle ../result/bin/xrforge-$ARCH.com
|
2026-05-15 13:22:33 +02:00
|
|
|
}
|
|
|
|
|
|
2026-07-23 15:20:25 +02:00
|
|
|
rebuild(){
|
|
|
|
|
cd src
|
2026-09-11 18:42:12 +02:00
|
|
|
zip -yr ../result/bin/xrforge.com .lua js shader img layout middleware page plugin cmd css .init.lua .args test myverse
|
2026-07-23 15:20:25 +02:00
|
|
|
}
|
|
|
|
|
|
2026-05-15 13:22:33 +02:00
|
|
|
"$@"
|