You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
986 B
Plaintext
39 lines
986 B
Plaintext
4 years ago
|
#!/usr/bin/env bash
|
||
|
|
||
|
APP=fzf
|
||
|
VERSION=${VERSION:-0.24.4}
|
||
|
DATA_DIR="${XDG_DATA_HOME}/buddy-up/apps"
|
||
|
DEST_DIR="${DATA_DIR}/${APP}/${VERSION}"
|
||
|
|
||
|
OS=
|
||
|
ARCH=
|
||
|
case $(uname -s) in
|
||
|
Linux*) OS=linux;;
|
||
|
Darwin*) OS=darwin;;
|
||
|
*) >&2 echo "unsupported os"; return;
|
||
|
esac
|
||
|
|
||
|
case $(uname -m) in
|
||
|
x86_64*) ARCH=amd64;;
|
||
|
*) >&2 echo "unsupported architecture"; exit 1;;
|
||
|
esac
|
||
|
|
||
|
URL="https://github.com/junegunn/fzf/releases/download/${VERSION}/fzf-${VERSION}-${OS}_${ARCH}.tar.gz"
|
||
|
|
||
|
TMP_DIR=
|
||
|
if [[ ! -d "${DEST_DIR}" ]] ; then
|
||
|
TMP_DIR=$(mktemp --directory)
|
||
|
TAR_GZ="${TMP_DIR}/release.tar.gz"
|
||
|
curl --location --silent --output "${TAR_GZ}" "${URL}"
|
||
|
mkdir -p "${DEST_DIR}"
|
||
|
tar xzf "${TAR_GZ}" --directory "${DEST_DIR}"
|
||
|
rm -rf "${TMP_DIR}"
|
||
|
fi
|
||
|
|
||
|
cd "${DATA_DIR}/${APP}" || exit
|
||
|
[[ -s current ]] && unlink current
|
||
|
ln -s "${VERSION}" current
|
||
|
|
||
|
cd "${XDG_BIN_HOME}" || exit
|
||
|
[[ -L "${APP}" ]] || ln --symbolic "${DATA_DIR}/${APP}/current/${APP}" ${APP}
|