# 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 # # (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