#!/bin/sh
# trymem installer:  curl -fsSL https://trymem.com/install | sh
set -e
BASE="https://trymem.com"
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
case "$ARCH" in
  x86_64|amd64) ARCH=amd64 ;;
  arm64|aarch64) ARCH=arm64 ;;
  *) echo "trymem: unsupported architecture $ARCH"; exit 1 ;;
esac
case "$OS" in
  linux|darwin) ;;
  *) echo "trymem: unsupported OS $OS (Windows: download from $BASE/download)"; exit 1 ;;
esac
NAME="trymem_${OS}_${ARCH}"
TMP=$(mktemp)
echo "Downloading $BASE/static/downloads/$NAME ..."
curl -fsSL "$BASE/static/downloads/$NAME" -o "$TMP"
WANT=$(curl -fsSL "$BASE/static/downloads/SHA256SUMS" | grep " $NAME$" | awk '{print $1}')
if command -v sha256sum >/dev/null 2>&1; then GOT=$(sha256sum "$TMP" | awk '{print $1}');
elif command -v shasum >/dev/null 2>&1; then GOT=$(shasum -a 256 "$TMP" | awk '{print $1}'); else GOT=""; fi
if [ -n "$WANT" ] && [ -n "$GOT" ] && [ "$WANT" != "$GOT" ]; then echo "trymem: checksum mismatch"; rm -f "$TMP"; exit 1; fi
chmod +x "$TMP"
DEST=/usr/local/bin/trymem
if [ "$(id -u)" = "0" ] || [ -w /usr/local/bin ]; then mv "$TMP" "$DEST";
elif command -v sudo >/dev/null 2>&1; then echo "Installing to $DEST (sudo)"; sudo mv "$TMP" "$DEST";
else mkdir -p "$HOME/.local/bin"; DEST="$HOME/.local/bin/trymem"; mv "$TMP" "$DEST"; fi
echo "Installed trymem to $DEST"
echo "Next: trymem init"
