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.

47 lines
1017 B
Bash

#!/usr/bin/env bash
set -euo pipefail
# shellcheck disable=SC1091
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"
APP=gitea
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
CURRENT=${DEST}/current
VERSION=${VERSION:-1.19.0}
main() (
URL=https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-$(get_os)-$(get_arch).xz
if [ ! -d "${DEST}/${VERSION}" ]; then
tmp_dir="$(mktemp -d)"
file=${tmp_dir}/gitea
curl --silent --retry 5 --location --output "${file}.xz" "${URL}"
xz --decompress "${file}.xz"
chmod 755 "${file}"
mkdir -p "${DEST}/${VERSION}"
mv "${file}" "${DEST}/${VERSION}/${APP}"
rm -rf "${tmp_dir}"
fi
set_current_link "${DEST}" "${VERSION}"
unlink_if_set "${XDG_BIN_HOME}/${APP}"
cd "${XDG_BIN_HOME}" || exit 1
ln -s "$(relative_path "${XDG_BIN_HOME}" "${CURRENT}/${APP}")" "${APP}"
cd - &>/dev/null || exit 1
)
get_os() (
case $(uname -s) in
Linux*) echo linux ;;
Darwin*) echo darwin-10.12 ;;
*)
echo >&2 "unsupported os: $(uname -s)"
exit 1
;;
esac
)
main "${@}"