|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
|
|
|
# shellcheck disable=SC1091
|
|
|
|
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
|
|
|
|
|
|
|
|
APP=tile38
|
|
|
|
VERSION=${VERSION:-1.32.2}
|
|
|
|
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
|
|
|
|
|
|
|
|
main() (
|
|
|
|
case $(get_os) in
|
|
|
|
darwin) install_zip ;;
|
|
|
|
freebsd) install_zip ;;
|
|
|
|
windows) install_zip ;;
|
|
|
|
linux) install_targz ;;
|
|
|
|
*)
|
|
|
|
echo >&2 "unsupported os $(uname -s)"
|
|
|
|
exit 1
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
)
|
|
|
|
|
|
|
|
install_zip() (
|
|
|
|
URL=https://github.com/tidwall/tile38/releases/download/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch).zip
|
|
|
|
extract_zip "${URL}" "${DEST}/${VERSION}"
|
|
|
|
set_current_link "${DEST}" "${VERSION}"
|
|
|
|
DEST_DIR=${DEST}/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch)
|
|
|
|
pushd "${DEST_DIR}" || exit 1
|
|
|
|
mv -v ./* ../
|
|
|
|
popd || exit 1
|
|
|
|
rmdir "${DEST_DIR}"
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-benchmark" "${DEST}" tile38-benchmark
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-cli" "${DEST}" tile38-cli
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-server" "${DEST}" tile38-server
|
|
|
|
)
|
|
|
|
|
|
|
|
install_targz() (
|
|
|
|
URL=https://github.com/tidwall/tile38/releases/download/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch).tar.gz
|
|
|
|
extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-component 1"
|
|
|
|
set_current_link "${DEST}" "${VERSION}"
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-benchmark" "${DEST}" tile38-benchmark
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-cli" "${DEST}" tile38-cli
|
|
|
|
set_link "${XDG_BIN_HOME}/tile38-server" "${DEST}" tile38-server
|
|
|
|
)
|
|
|
|
|
|
|
|
main "${@}"
|