mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #4332 from ethereum/dockerfile-small-improvements
Dockerfile small improvements
This commit is contained in:
commit
4bb9fced1e
6
.dockerignore
Normal file
6
.dockerignore
Normal file
@ -0,0 +1,6 @@
|
||||
# out-of-tree builds usually go here. This helps improving performance of uploading
|
||||
# the build context to the docker image build server
|
||||
/build
|
||||
|
||||
# in-tree builds
|
||||
/deps
|
@ -1,18 +1,39 @@
|
||||
FROM alpine
|
||||
FROM alpine AS build
|
||||
MAINTAINER chriseth <chris@ethereum.org>
|
||||
#Official solidity docker image
|
||||
|
||||
#Establish working directory as solidity
|
||||
WORKDIR /solidity
|
||||
|
||||
# Build dependencies
|
||||
ADD /scripts/install_deps.sh /solidity/scripts/install_deps.sh
|
||||
RUN ./scripts/install_deps.sh
|
||||
|
||||
#Copy working directory on travis to the image
|
||||
COPY / $WORKDIR
|
||||
|
||||
#Install dependencies, eliminate annoying warnings, and build release, delete all remaining points and statically link.
|
||||
RUN ./scripts/install_deps.sh && sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp &&\
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSOLC_LINK_STATIC=1 &&\
|
||||
make solc && install -s solc/solc /usr/bin &&\
|
||||
cd / && rm -rf solidity &&\
|
||||
apk del sed build-base git make cmake gcc g++ musl-dev curl-dev boost-dev &&\
|
||||
rm -rf /var/cache/apk/*
|
||||
# Number of parallel jobs during build
|
||||
# or 0 for auto-computing (max(1, CPU_core_count * 2/3), a greedy value)
|
||||
ARG BUILD_CONCURRENCY="0"
|
||||
|
||||
ENTRYPOINT ["/usr/bin/solc"]
|
||||
#Install dependencies, eliminate annoying warnings
|
||||
RUN sed -i -E -e 's/include <sys\/poll.h>/include <poll.h>/' /usr/include/boost/asio/detail/socket_types.hpp
|
||||
RUN cmake -DCMAKE_BUILD_TYPE=Release -DTESTS=0 -DSOLC_LINK_STATIC=1
|
||||
RUN make solc \
|
||||
-j$(awk "BEGIN { \
|
||||
if (${BUILD_CONCURRENCY} != 0) { \
|
||||
print(${BUILD_CONCURRENCY}); \
|
||||
} else { \
|
||||
x=($(grep -c ^processor /proc/cpuinfo) * 2/3); \
|
||||
if (x > 1) { \
|
||||
printf(\"%d\n\", x); \
|
||||
} else { \
|
||||
print(1); \
|
||||
} \
|
||||
} \
|
||||
}")
|
||||
RUN strip solc/solc
|
||||
|
||||
FROM scratch
|
||||
COPY --from=build /solidity/solc/solc /usr/bin/solc
|
||||
ENTRYPOINT ["/usr/bin/solc"]
|
||||
|
Loading…
Reference in New Issue
Block a user