github.com/ylsGit/go-ethereum@v1.6.5/tests/files/ansible/test-files/docker-go/Dockerfile (about) 1 # Adjusted from https://github.com/ethereum/go-ethereum/blob/develop/Dockerfile 2 FROM ubuntu:14.04 3 4 ## Environment setup 5 ENV HOME /root 6 ENV GOPATH /root/go 7 ENV PATH /golang/bin:/root/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games 8 ENV PKG_CONFIG_PATH /opt/qt54/lib/pkgconfig 9 10 RUN mkdir -p /root/go 11 ENV DEBIAN_FRONTEND noninteractive 12 13 ## Install base dependencies 14 RUN apt-get update && apt-get upgrade -y 15 RUN apt-get install -y git mercurial build-essential software-properties-common pkg-config libgmp3-dev libreadline6-dev libpcre3-dev libpcre++-dev mesa-common-dev libglu1-mesa-dev 16 17 ## Install Qt5.4 dependencies from PPA 18 RUN add-apt-repository ppa:beineri/opt-qt54-trusty -y 19 RUN apt-get update -y 20 RUN apt-get install -y qt54quickcontrols qt54webengine 21 22 ## Build and install latest Go 23 RUN git clone https://go.googlesource.com/go golang 24 RUN cd golang && git checkout go1.4.1 25 RUN cd golang/src && ./make.bash && go version 26 27 ## Fetch and install QML 28 RUN go get -u -v -d github.com/obscuren/qml 29 WORKDIR $GOPATH/src/github.com/obscuren/qml 30 RUN git checkout v1 31 RUN go install -v 32 33 # this is a workaround, to make sure that docker's cache is invalidated whenever the git repo changes 34 ADD https://api.github.com/repos/ethereum/go-ethereum/git/refs/heads/develop unused.txt 35 36 ## Fetch and install go-ethereum 37 RUN go get -u -v -d github.com/ethereum/go-ethereum/... 38 WORKDIR $GOPATH/src/github.com/ethereum/go-ethereum 39 40 RUN git checkout develop 41 RUN git pull 42 43 44 RUN ETH_DEPS=$(go list -f '{{.Imports}} {{.TestImports}} {{.XTestImports}}' github.com/ethereum/go-ethereum/... | sed -e 's/\[//g' | sed -e 's/\]//g' | sed -e 's/C //g'); if [ "$ETH_DEPS" ]; then go get $ETH_DEPS; fi 45 RUN go install -v ./cmd/ethtest 46 47 ENTRYPOINT ["ethtest"]