github.com/klaytn/klaytn@v1.12.1/build/Dockerfile-go1.13.3-solc0.4.24-alpine (about)

     1  FROM alpine:3.8 as solc_builder
     2  RUN \
     3    apk --no-cache --update add build-base cmake boost-dev git; \
     4    sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp; \
     5    git clone --depth 1 --recursive -b v0.4.24 https://github.com/ethereum/solidity; \
     6    cd /solidity && cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSTATIC_LINKING=1 && \
     7    touch prerelease.txt && make -j8 solc && install -s solc/solc /usr/bin; \
     8    cd / && rm -rf solidity; \
     9    apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev; \
    10    rm -rf /var/cache/apk/*
    11  
    12  FROM alpine:3.8 as go_builder
    13  RUN \
    14    apk add --no-cache --virtual .build-deps bash gcc musl-dev openssl go; \
    15    wget -O go.src.tar.gz https://dl.google.com/go/go1.13.3.src.tar.gz; \
    16    tar -C /usr/local -xzf go.src.tar.gz; \
    17    cd /usr/local/go/src/ && ./make.bash; \
    18    apk del .build-deps
    19  
    20  FROM alpine:3.8
    21  RUN apk add --no-cache ca-certificates boost git make gcc libc-dev curl bash
    22  COPY --from=solc_builder /usr/bin/solc /usr/bin/solc
    23  COPY --from=go_builder /usr/local/go /usr/local
    24  
    25  ENV GOPATH /go
    26  ENV PATH $GOPATH/bin:/usr/local/go/bin:$PATH
    27  RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH"