diff --git a/install-scripts/.local/bin/install-protoc-home b/install-scripts/.local/bin/install-protoc-home index e04d9f0..577030b 100755 --- a/install-scripts/.local/bin/install-protoc-home +++ b/install-scripts/.local/bin/install-protoc-home @@ -1,33 +1,35 @@ #!/usr/bin/env bash -set -x set -e # shellcheck disable=SC1090 source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" -VERSION=${VERSION:-3.15.6} -APP=protoc -APPS_DIR=${XDG_DATA_HOME}/buddy-up/apps/${APP} -VER_DIR=${APPS_DIR}/${VERSION} +get_os () ( + case $(uname -s) in + Linux*) echo linux;; + Darwin*) echo osx;; + *) >&2 echo "unsupported os"; return; + esac +) -OS=$(get_os) -if [[ $OS == darwin ]]; then - OS=osx -fi +get_arch () ( + uname -m +) -ARCH=$(get_arch) -if [[ $ARCH == amd64 ]]; then - ARCH=x86_64 -fi +VERSION=${VERSION:-3.19.4} +APP=protoc +APPS_DIR=${XDG_DATA_HOME}/apps/releases/${APP} +VER_DIR=${APPS_DIR}/${VERSION} -ZIP=protoc-${VERSION}-${OS}-${ARCH}.zip +ZIP=protoc-${VERSION}-$(get_os)-$(get_arch).zip TMP_DIR=$(mktemp -d) DEST_FILE=$TMP_DIR/$ZIP URL=https://github.com/protocolbuffers/protobuf/releases/download/v${VERSION}/${ZIP} if [[ ! -d "${VER_DIR}" ]]; then curl --output "${DEST_FILE}" --location "${URL}" + mkdir -p "${VER_DIR}" unzip -o "${DEST_FILE}" -d "${VER_DIR}" find "${VER_DIR}" -type f -exec chmod 644 {} \; find "${VER_DIR}" -type d -exec chmod 755 {} \; @@ -38,7 +40,7 @@ rm -rfv "$TMP_DIR" set_current_link "${APPS_DIR}" "${VERSION}" apps=$(find "${APPS_DIR}/current/bin" -maxdepth 1 -perm +111 -type f -exec basename {} \;) -cd "${XDG_BIN_HOME}" +pushd "${XDG_BIN_HOME}" for bin in $apps; do if [[ ! -s $bin ]]; then ln -s \ @@ -46,3 +48,12 @@ for bin in $apps; do "${bin}" fi done +popd + +pushd "${XDG_INCLUDE_HOME}" +if [[ ! -s google ]]; then + ln -s \ + "$(relative_path "${XDG_INCLUDE_HOME}" "${APPS_DIR}/current/include/google")" \ + google +fi +popd