set -euo pipefail
REQUIRED_VERSION="1.1.0"
version_matches() {
local installed
installed="$("$1" --version 2>/dev/null | awk '{print $2}')" || return 1
[ "$installed" = "$REQUIRED_VERSION" ]
}
if command -v cxpak >/dev/null 2>&1 && version_matches "$(command -v cxpak)"; then
echo "$(command -v cxpak)"
exit 0
fi
if command -v brew >/dev/null 2>&1; then
BREW_BIN="$(brew --prefix)/bin/cxpak"
if [ -x "$BREW_BIN" ] && version_matches "$BREW_BIN"; then
echo "$BREW_BIN"
exit 0
fi
echo "cxpak: installing v${REQUIRED_VERSION} via Homebrew..." >&2
brew tap Barnett-Studios/tap >/dev/null 2>&1 || true
brew update >/dev/null 2>&1 || true
brew upgrade cxpak >/dev/null 2>&1 || brew install cxpak >/dev/null 2>&1 || true
if [ -x "$BREW_BIN" ] && version_matches "$BREW_BIN"; then
echo "$BREW_BIN"
exit 0
fi
fi
echo "cxpak v${REQUIRED_VERSION} not found." >&2
echo "" >&2
echo "Install:" >&2
echo " brew tap Barnett-Studios/tap && brew install cxpak" >&2
echo " cargo install cxpak" >&2
exit 1