#!/usr/bin/env bash set -euo pipefail # shellcheck disable=SC1091 source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" APP=bun VERSION=${VERSION:-1.4.3} DEST=${XDG_DATA_HOME}/apps/releases/${APP} main() ( URL=https://github.com/oven-sh/bun/releases/download/bun-v${VERSION}/bun-$(get_os)-$(get_arch).zip # the archive wraps everything in a bun--/ dir; -j drops it extract_zip "${URL}" "${DEST}/${VERSION}" "-j" set_current_link "${DEST}" "${VERSION}" set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" "${APP}" set_link "${XDG_BIN_HOME}/bunx" "${DEST}" "${APP}" ) get_arch() ( case $(uname -m) in x86_64*) echo x64 ;; arm64*) echo aarch64 ;; aarch64*) echo aarch64 ;; *) echo >&2 "unsupported architecture: $(uname -m)" exit 1 ;; esac ) get_os() ( case $(uname -s) in Linux*) echo linux ;; Darwin*) echo darwin ;; *) echo >&2 "unsupported os: $(uname -s)" exit 1 ;; esac ) main "${@}"