bootstrap.sh (1079B)
1 #!/usr/bin/env bash 2 3 set -e 4 5 BOOTDIR="$PWD" 6 7 PREFIX="${PREFIX:-$HOME/.usr/local/}" 8 9 SRCDIR="${SRCDIR:-$HOME/.usr/src/}" 10 PKGDIR="${PKGDIR:-$PREFIX/stow}" 11 12 PATH="$PATH:$PREFIX/bin" 13 14 mkdir -p "$SRCDIR" 15 mkdir -p "$PKGDIR" 16 ROOTDIR="$(mktemp -d)" 17 18 pushd "$SRCDIR" 19 20 echo "[1/9] Cloning janet repo" 21 [ -d janet ] || git clone https://github.com/janet-lang/janet 22 23 echo "[2/9] Building janet" 24 PREFIX="" DESTDIR="$ROOTDIR" make -C janet -j$(nproc) install 25 26 echo "[3/9] Cloning jpm repo" 27 [ -d jpm ] || git clone https://github.com/janet-lang/jpm 28 29 pushd jpm 30 31 echo "[4/9] Building jpm" 32 PREFIX="$ROOTDIR" DESTDIR="$ROOTDIR" JANET_PATH="$ROOTDIR/lib/janet" "$ROOTDIR/bin/janet" ./bootstrap.janet 33 cp -r "$ROOTDIR/$ROOTDIR/"* "$ROOTDIR/" 34 popd 35 popd 36 37 echo "[5/9] Building instow" 38 "$ROOTDIR/bin/jpm" build 39 40 pushd "$SRCDIR/janet" 41 42 echo "[6/9] Instowing janet" 43 JPM="$ROOTDIR/bin/jpm" "$ROOTDIR/bin/janet" "$BOOTDIR/instow" 44 popd 45 46 pushd "$SRCDIR/jpm" 47 48 echo "[7/9] Instowing jpm" 49 JPM="$ROOTDIR/bin/jpm" "$BOOTDIR/instow" 50 popd 51 52 echo "[8/9] Instowing instow" 53 ./instow 54 55 echo "[9/9] Cleanup" 56 rm -rf "$ROOTDIR"