# Copyright 2014 The Go Authors.  All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

FROM golang:1.6

RUN apt-get update && apt-get install -yq --no-install-recommends patch bzip2

# enable faketime
ADD enable-fake-time.patch /usr/local/go/
RUN patch /usr/local/go/src/runtime/rt0_nacl_amd64p32.s /usr/local/go/enable-fake-time.patch

# add fake file system
ADD fake_fs.lst /usr/local/go/
RUN cd /usr/local/go && go run misc/nacl/mkzip.go -p syscall fake_fs.lst src/syscall/fstest_nacl.go

# Install go1.4 ss $HOME/go1.4 (the default location), as we need it to build
# Go 1.5+. We can't just use the existing Go installation to bootstrap, as the
# first thing make.bash does is clean the existing binaries.
RUN curl https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar -xz -C /root && mv /root/go /root/go1.4

# Build the Go nacl tool chain.
RUN cd /usr/local/go/src && GOOS=nacl GOARCH=amd64p32 ./make.bash --no-clean
RUN curl -s https://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/44.0.2403.157/naclsdk_linux.tar.bz2 | tar -xj -C /usr/local/bin --strip-components=2 pepper_44/tools/sel_ldr_x86_64

# add and compile tour packages
RUN GOOS=nacl GOARCH=amd64p32 go get \
	golang.org/x/tour/pic \
	golang.org/x/tour/reader \
	golang.org/x/tour/tree \
	golang.org/x/tour/wc

# add tour packages under their old import paths (so old snippets still work)
RUN mkdir -p $GOPATH/src/code.google.com/p/go-tour && \
	cp -R $GOPATH/src/golang.org/x/tour/* $GOPATH/src/code.google.com/p/go-tour/ && \
	sed -i 's_// import_// public import_' $(find $GOPATH/src/code.google.com/p/go-tour/ -name *.go) && \
	go install \
		code.google.com/p/go-tour/pic \
		code.google.com/p/go-tour/reader \
		code.google.com/p/go-tour/tree \
		code.google.com/p/go-tour/wc

# add and compile sandbox daemon
ADD . /go/src/sandbox/
RUN go install sandbox

# make sure it works
RUN /go/bin/sandbox test

EXPOSE 8080
ENTRYPOINT ["/go/bin/sandbox"]
