#!/bin/sh
# Installs the latest release of Sage.
#   curl -fsSL https://eu.gateway.fivestats.org/install.sh | sh
set -eu

BASE="https://eu.gateway.fivestats.org/releases"
VERSION="${VERSION:-0.5.0}"
PREFIX="${PREFIX:-/usr/local/bin}"

os=$(uname -s | tr '[:upper:]' '[:lower:]')
case "$(uname -m)" in
  x86_64 | amd64) arch=amd64 ;;
  aarch64 | arm64) arch=arm64 ;;
  *) echo "sage: unsupported architecture $(uname -m)" >&2; exit 1 ;;
esac
case "$os" in
  linux | darwin | freebsd) ;;
  *) echo "sage: unsupported operating system $os" >&2; exit 1 ;;
esac

name="sage-$VERSION-$os-$arch.tar.gz"
tmp=$(mktemp -d)
trap 'rm -rf "$tmp"' EXIT

echo "Downloading Sage $VERSION for $os/$arch"
curl -fsSL -o "$tmp/$name" "$BASE/$VERSION/$name"
curl -fsSL -o "$tmp/SHA256SUMS" "$BASE/$VERSION/SHA256SUMS"
(cd "$tmp" && grep " $name\$" SHA256SUMS | sha256sum -c - >/dev/null)

tar -xzf "$tmp/$name" -C "$tmp" sage
if [ -w "$PREFIX" ]; then
  install -m 755 "$tmp/sage" "$PREFIX/sage"
else
  sudo install -m 755 "$tmp/sage" "$PREFIX/sage"
fi
echo "Installed $("$PREFIX/sage" --version)"
