#!/bin/bash

set -euo pipefail

v=1.0.0

basedir="${0%/*}"
self="${0##*/}"

s=$(uname -s)
case "$s"
in
  Darwin) s=darwin ;;
  Linux) s=linux ;;
  *) echo "Unsupported system: $s" >/dev/stderr; exit 1 ;;
esac

m=$(uname -m)
case "$m"
in
  x86_64) m=amd64 ;;
  arm64) ;;
  *) echo "Unsupported machine: $m" >/dev/stderr; exit 1 ;;
esac

url=https://github.com/FiloSottile/age/releases/download/v${v}/age-v${v}-${s}-${m}.tar.gz

tar="$basedir/.age/age-${v}.tar.gz"
bin="${tar%.tar.gz}/age/$self"

if [[ ! -x "$bin" ]]
then
  mkdir -p "${tar%/*}"
  wget -O "$tar" "$url"

  mkdir -p "${tar%.tar.gz}"
  tar xf "$tar" -C "${tar%.tar.gz}"
  chmod +x "$bin"
fi

exec "$bin" "${@}"