FROM debian:buster

RUN sed -i s/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list && \
    sed -i s/security.debian.org/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list

RUN apt-get clean
RUN apt-get update -y && \
    apt-get install -y \
    curl \
    git \
    make \
    automake \
    autoconf \
    tar \
    ca-certificates \
    build-essential \
    --no-install-recommends

# prepare env

ADD go.tgz /usr/local/
ENV GOROOT /usr/local/go
ENV GOPATH /go
ENV PATH ${PATH}:${GOROOT}/bin:${GOPATH}/bin
ENV GO111MODULE on
ENV GOPROXY https://goproxy.cn,direct

# cross complie env

ADD aarch64-linux-musl-cross.tgz /usr/local
ENV PATH ${PATH}:/usr/local/aarch64-linux-musl-cross/bin

RUN mkdir -p $GOPATH/bin || true

ENV GOOS linux
ENV GOARCH arm64
ENV CC /usr/bin/aarch64-linux-musl-gcc
ENV LD /usr/bin/aarch64-linux-musl-ld
ENV AR /usr/bin/aarch64-linux-musl-ar
ENV CXX /usr/bin/aarch64-linux-musl-g++
ENV CGO_CFLAGS '-g -O2 -Wno-return-local-addr'
ENV CGO_ENABLED 1