instow

:)
git clone https://git.sr.ht/~ashymad/instow
Log | Files | Refs | LICENSE

commit ea8c454e580264f397218cdc70123c149c06ff33
parent 26f2dd931f94f37e2c389a2680ca21a3542edfe6
Author: Szymon Mikulicz <szymon.mikulicz@posteo.net>
Date:   Mon, 16 Mar 2026 18:01:36 +0100

try bootstraping in CI:

Diffstat:
A.build.yml | 9+++++++++
Abootstrap.sh | 54++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+), 0 deletions(-)

diff --git a/.build.yml b/.build.yml @@ -0,0 +1,9 @@ +image: alpine/edge +packages: + - git + - gcc + - make +tasks: +- build: | + cd instowl + PATH="$PATH:$HOME/.local/bin" ./bootstrap.sh diff --git a/bootstrap.sh b/bootstrap.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +set -e + +BOOTDIR="$PWD" + +PREFIX="${PREFIX:-$HOME/.local}" + +SRCDIR="${SRCDIR:-$PREFIX/src}" +PKGDIR="${PKGDIR:-$PREFIX/pkg}" + +ROOTDIR="$(mktemp -d)" + +pushd "$SRCDIR" + +echo "[1/9] Cloning janet repo" +git clone https://github.com/janet-lang/janet + +echo "[2/9] Building janet" +PREFIX="" DESTDIR="$ROOTDIR" make -C janet install + +echo "[3/9] Cloning jpm repo" +git clone https://github.com/janet-lang/jpm + +pushd jpm + +echo "[4/9] Building jpm" +PREFIX="" DESTDIR="$ROOTDIR" JANET_PATH="$ROOTDIR/lib/janet" "$ROOTDIR/bin/janet" ./bootstrap.janet +cp -r $ROOTDIR/$ROOTDIR/* $ROOTDIR/ +sed -i '1s@^@#!/usr/bin/env janet\n@' "$ROOTDIR/bin/jpm" +popd +popd + +echo "[5/9] Building instowl" +"$ROOTDIR/bin/janet" "$ROOTDIR/bin/jpm" --headerpath="$ROOTDIR/include" build + +pushd "$SRCDIR/janet" + +echo "[6/9] Instowling janet" +JPM="$ROOTDIR/bin/jpm" "$ROOTDIR/bin/janet" "$BOOTDIR/instowl.local" +popd + +pushd "$SRCDIR/jpm" +mkdir -p "$PREFIX/lib/janet/jpm" + +echo "[7/9] Instowling jpm" +JPM="$ROOTDIR/bin/jpm" "$BOOTDIR/instowl.local" --adopt +popd + +echo "[8/9] Instowling instowl" +./instowl.local + +echo "[9/9] Cleanup" +rm -rf "$ROOTDIR"