1
0
Files
kobopatch-webui/kobopatch-wasm/setup.sh
Nico Verbruggen c5ca91f524
All checks were successful
Build and test project / build-and-test (push) Successful in 1m34s
Set up for dev work on my Mac
I was previously using my Linux desktop, but I also want to be able to
use my Mac laptop or Mac mini to continue working on this.
2026-03-21 13:48:28 +01:00

61 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
KOBOPATCH_DIR="$SCRIPT_DIR/kobopatch-src"
GO_VERSION="1.23.12"
LOCAL_GO_DIR="$SCRIPT_DIR/go"
# Detect platform and architecture
OS="$(uname -s | tr '[:upper:]' '[:lower:]')"
ARCH="$(uname -m)"
case "$ARCH" in
x86_64) ARCH="amd64" ;;
aarch64|arm64) ARCH="arm64" ;;
*)
echo "Error: unsupported architecture: $ARCH"
exit 1
;;
esac
# Download Go locally if not already present or wrong version
if [ -x "$LOCAL_GO_DIR/bin/go" ] && "$LOCAL_GO_DIR/bin/go" version 2>/dev/null | grep -q "go${GO_VERSION}"; then
echo "Local Go ${GO_VERSION} already installed."
else
echo "Downloading Go ${GO_VERSION} for ${OS}/${ARCH}..."
rm -rf "$LOCAL_GO_DIR"
curl -fsSL "https://go.dev/dl/go${GO_VERSION}.${OS}-${ARCH}.tar.gz" | tar -xz -C "$SCRIPT_DIR"
fi
export GOROOT="$LOCAL_GO_DIR"
export PATH="$LOCAL_GO_DIR/bin:$PATH"
if [ -d "$KOBOPATCH_DIR" ]; then
echo "Updating kobopatch source..."
cd "$KOBOPATCH_DIR"
git pull
else
echo "Cloning kobopatch source..."
git clone https://github.com/pgaskin/kobopatch.git "$KOBOPATCH_DIR"
cd "$KOBOPATCH_DIR"
git checkout 6189c54 # update this as updates come out
fi
echo "Copying wasm_exec.js from Go SDK..."
GOROOT="$(go env GOROOT)"
if [ -f "$GOROOT/lib/wasm/wasm_exec.js" ]; then
cp "$GOROOT/lib/wasm/wasm_exec.js" "$SCRIPT_DIR/wasm_exec.js"
elif [ -f "$GOROOT/misc/wasm/wasm_exec.js" ]; then
cp "$GOROOT/misc/wasm/wasm_exec.js" "$SCRIPT_DIR/wasm_exec.js"
else
echo "Error: could not find wasm_exec.js in Go SDK"
echo "GOROOT=$GOROOT"
exit 1
fi
echo ""
echo "Done. kobopatch source is at: $KOBOPATCH_DIR"
echo "wasm_exec.js copied to: $SCRIPT_DIR/wasm_exec.js"
echo ""
echo "Run ./build.sh to compile the WASM binary."