github.com/MetalBlockchain/subnet-evm@v0.4.9/scripts/install_metalgo_release.sh (about) 1 #!/usr/bin/env bash 2 set -e 3 4 # Load the versions 5 SUBNET_EVM_PATH=$( 6 cd "$(dirname "${BASH_SOURCE[0]}")" 7 cd .. && pwd 8 ) 9 source "$SUBNET_EVM_PATH"/scripts/versions.sh 10 11 # Load the constants 12 source "$SUBNET_EVM_PATH"/scripts/constants.sh 13 14 VERSION=$METALGO_VERSION 15 16 ############################ 17 # download metalgo 18 # https://github.com/MetalBlockchain/metalgo/releases 19 GOARCH=$(go env GOARCH) 20 GOOS=$(go env GOOS) 21 BASEDIR=${BASE_DIR:-"/tmp/metalgo-release"} 22 mkdir -p ${BASEDIR} 23 AVAGO_DOWNLOAD_URL=https://github.com/MetalBlockchain/metalgo/releases/download/${VERSION}/metalgo-linux-${GOARCH}-${VERSION}.tar.gz 24 AVAGO_DOWNLOAD_PATH=${BASEDIR}/metalgo-linux-${GOARCH}-${VERSION}.tar.gz 25 if [[ ${GOOS} == "darwin" ]]; then 26 AVAGO_DOWNLOAD_URL=https://github.com/MetalBlockchain/metalgo/releases/download/${VERSION}/metalgo-macos-${VERSION}.zip 27 AVAGO_DOWNLOAD_PATH=${BASEDIR}/metalgo-macos-${VERSION}.zip 28 fi 29 30 METALGO_BUILD_PATH=${METALGO_BUILD_PATH:-${BASEDIR}/metalgo-${VERSION}} 31 mkdir -p $METALGO_BUILD_PATH 32 33 if [[ ! -f ${AVAGO_DOWNLOAD_PATH} ]]; then 34 echo "downloading metalgo ${VERSION} at ${AVAGO_DOWNLOAD_URL} to ${AVAGO_DOWNLOAD_PATH}" 35 curl -L ${AVAGO_DOWNLOAD_URL} -o ${AVAGO_DOWNLOAD_PATH} 36 fi 37 echo "extracting downloaded metalgo to ${METALGO_BUILD_PATH}" 38 if [[ ${GOOS} == "linux" ]]; then 39 mkdir -p ${METALGO_BUILD_PATH} && tar xzvf ${AVAGO_DOWNLOAD_PATH} --directory ${METALGO_BUILD_PATH} --strip-components 1 40 elif [[ ${GOOS} == "darwin" ]]; then 41 unzip ${AVAGO_DOWNLOAD_PATH} -d ${METALGO_BUILD_PATH} 42 mv ${METALGO_BUILD_PATH}/build/* ${METALGO_BUILD_PATH} 43 rm -rf ${METALGO_BUILD_PATH}/build/ 44 fi 45 46 METALGO_PATH=${METALGO_BUILD_PATH}/metalgo 47 METALGO_PLUGIN_DIR=${METALGO_BUILD_PATH}/plugins 48 49 echo "Installed MetalGo release ${VERSION}" 50 echo "MetalGo Path: ${METALGO_PATH}" 51 echo "Plugin Dir: ${METALGO_PLUGIN_DIR}"