diff --git a/base/.local/share/buddy-up/includes/utils.sh b/base/.local/share/buddy-up/includes/utils.sh index 82ff53d..803bbd3 100644 --- a/base/.local/share/buddy-up/includes/utils.sh +++ b/base/.local/share/buddy-up/includes/utils.sh @@ -104,7 +104,7 @@ extract_zip () ( extract_tarball () ( url=${1} dest=${2} - args=${3} + args=${3:-} sudo=${4:-} if [ -d "${dest}" ]; then return diff --git a/install-scripts/.local/bin/install-geckodriver b/install-scripts/.local/bin/install-geckodriver new file mode 100755 index 0000000..addb721 --- /dev/null +++ b/install-scripts/.local/bin/install-geckodriver @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# shellcheck disable=SC1090 +source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" + +get_os () ( + case $(uname -s) in + Linux*) echo linux;; + Darwin*) echo macos;; + Windows_NT*) echo win;; + CYGWIN_NT*) echo win;; + *) >&2 echo "unsupported os"; exit 1; + esac +) + +get_arch () ( + case $(uname -m) in + x86_64*) echo 64;; + amd64*) echo 64;; + i386*) echo 32;; + i686*) echo 32;; + aarch64*) echo aarch64;; + *) >&2 echo "unsupported architecture: $(uname -m)"; exit 1;; + esac +) + +APP=geckodriver +VERSION=${VERSION:-0.31.0} +DEST=${XDG_DATA_HOME}/apps/releases/${APP} +URL=https://github.com/mozilla/geckodriver/releases/download/v${VERSION}/geckodriver-v${VERSION}-$(get_os)$(get_arch).tar.gz + +extract_tarball "${URL}" "${DEST}/${VERSION}" +set_current_link "${DEST}" "${VERSION}" +set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" ${APP}