mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
60 lines
2.3 KiB
Docker
60 lines
2.3 KiB
Docker
# vim:syntax=dockerfile
|
|
#------------------------------------------------------------------------------
|
|
# Dockerfile for building and testing Solidity Compiler on CI
|
|
# Target: Ubuntu 19.04 (Disco Dingo)
|
|
# URL: https://hub.docker.com/r/ethereum/solidity-buildpack-deps
|
|
#
|
|
# This file is part of solidity.
|
|
#
|
|
# solidity is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# solidity is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with solidity. If not, see <http://www.gnu.org/licenses/>
|
|
#
|
|
# (c) 2016-2019 solidity contributors.
|
|
#------------------------------------------------------------------------------
|
|
FROM buildpack-deps:focal AS base
|
|
LABEL version="20"
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN set -ex; \
|
|
dist=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d= -f2); \
|
|
echo "deb http://ppa.launchpad.net/ethereum/cpp-build-deps/ubuntu $dist main" >> /etc/apt/sources.list ; \
|
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1c52189c923f6ca9 ; \
|
|
apt-get update; \
|
|
apt-get install -qqy --no-install-recommends \
|
|
build-essential sudo \
|
|
software-properties-common \
|
|
cmake ninja-build \
|
|
libboost-filesystem-dev libboost-test-dev libboost-system-dev \
|
|
libboost-program-options-dev \
|
|
libcvc4-dev libz3-static-dev z3-static jq \
|
|
; \
|
|
apt-get install -qy python3-pip python3-sphinx; \
|
|
pip3 install codecov; \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM base AS libraries
|
|
|
|
# EVMONE
|
|
RUN set -ex; \
|
|
wget -O /usr/src/evmone.tar.gz https://github.com/ethereum/evmone/releases/download/v0.10.0/evmone-0.10.0-linux-x86_64.tar.gz; \
|
|
test "$(sha256sum /usr/src/evmone.tar.gz)" = "6052b6a4eba6e81bb1bccfa9fec2caf220a25f5ff5c32c544984883ed95e6552 /usr/src/evmone.tar.gz"; \
|
|
cd /usr; \
|
|
tar -xf /usr/src/evmone.tar.gz; \
|
|
rm -rf /usr/src/evmone.tar.gz
|
|
|
|
FROM base
|
|
COPY --from=libraries /usr/lib /usr/lib
|
|
COPY --from=libraries /usr/bin /usr/bin
|
|
COPY --from=libraries /usr/include /usr/include
|