#!/bin/sh if [ "$1" == "" ]; then echo "Usage $0 executable branch" echo "executable ethereum | mist" echo "branch develop | master" exit fi exe=$1 path=$exe branch=$2 if [ "$branch" == "develop" ]; then path="cmd/$exe" fi # Test if go is installed command -v go >/dev/null 2>&1 || { echo >&2 "Unable to find 'go'. This script requires go."; exit 1; } # Test if $GOPATH is set if [ "$GOPATH" == "" ]; then echo "\$GOPATH not set" exit fi echo "changing branch to $branch" cd $GOPATH/src/github.com/ethereum/go-ethereum git checkout $branch # installing package dependencies doesn't work for develop # branch as go get always pulls from master head # so build will continue to fail, but this installs locally # for people who git clone since go install will manage deps #echo "go get -u -d github.com/ethereum/go-ethereum/$path" #go get -v -u -d github.com/ethereum/go-ethereum/$path #if [ $? != 0 ]; then # echo "go get failed" # exit #fi cd $GOPATH/src/github.com/ethereum/go-ethereum/$path if [ "$exe" == "mist" ]; then echo "Building Mist GUI. Assuming Qt is installed. If this step" echo "fails; please refer to: https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum(Go)" else echo "Building ethereum CLI." fi go install echo "done. Please run $exe :-)"