go 733 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. set -o errexit -o pipefail
  3. [[ "$GOROOT" ]] || export GOROOT="$HOME/golang"
  4. [[ "$GOPATH" ]] || export GOPATH="$HOME/go"
  5. PKG_VER="1.13"
  6. gimme \
  7. curl \
  8. git \
  9. mercurial
  10. #TODO: might eventually make these two more similar
  11. if ! has go; then
  12. if [[ "$OS" = "Darwin" ]]; then
  13. GOROOT="" gimme_pkg go
  14. else
  15. if ! [[ -d "$GOROOT" ]]; then
  16. PKG_URL="https://storage.googleapis.com/golang/go${PKG_VER}.linux-amd64.tar.gz"
  17. mkdir -p "$GOROOT.$PKG_VER"
  18. curl -k -fsSL "$PKG_URL" | tar -xz -C "$GOROOT.$PKG_VER"
  19. mv -v "$GOROOT.$PKG_VER/go" "$GOROOT"
  20. rm -fr "$GOROOT.$PKG_VER"
  21. else
  22. echo "# FAIL: Unable to install 'go' to the GOROOT=$GOROOT directory because it already exists."
  23. exit 123
  24. fi
  25. fi
  26. fi