# Template for Dockerfile, used in build.docker script.
# Based on https://github.com/docker-library/golang/blob/master/1.9-rc/stretch/Dockerfile
FROM buildpack-deps:stretch-scm

# gcc for cgo
RUN apt-get update && apt-get install -y --no-install-recommends \
		g++ \
		gcc \
		libc6-dev \
		make \
		pkg-config \
	&& rm -rf /var/lib/apt/lists/*

ADD UUU /go.tgz

RUN set -eux; \
	\
	echo "SSS /go.tgz" | sha256sum -c -; \
	tar -C /usr/local -xzf /go.tgz; \
	rm /go.tgz; \
	export PATH="/usr/local/go/bin:$PATH"; \
	go version

ENV GOPATH /go
ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"
WORKDIR $GOPATH

COPY go-wrapper /usr/local/bin/
