instow

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

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"