Skip to content

Instantly share code, notes, and snippets.

@FlorianFranzen
Created April 20, 2020 15:04
Show Gist options
  • Save FlorianFranzen/e0681c14aa719d240354b3b3aa843f6f to your computer and use it in GitHub Desktop.
Save FlorianFranzen/e0681c14aa719d240354b3b3aa843f6f to your computer and use it in GitHub Desktop.
Dockerfile to set up Polkadot Runtime Verification environment
# Latest build can be found on Docker Hub
# https://hub.docker.com/repository/docker/florianfranzen/polkadot-verification
# Base of latest LTS release
FROM ubuntu:bionic
# Install dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
autoconf \
bison \
clang-8 \
cmake \
curl \
flex \
gcc \
git \
libboost-test-dev \
libffi-dev \
libgmp-dev \
libjemalloc-dev \
libmpfr-dev \
libprocps-dev \
libprotobuf-dev \
libtool \
libyaml-dev \
lld-8 \
llvm-8-tools \
maven \
openjdk-8-jdk \https://hub.docker.com/repository/docker/florianfranzen/polkadot-verification
pandoc \
pkg-config \
protobuf-compiler \
python3 \
python3-pygments \
python3-recommonmark \
python3-sphinx \
time \
z3 \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# - Install haskell stack
RUN curl -sSL https://get.haskellstack.org/ | sh
# - Install rust
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y \
--default-toolchain nightly \
--target wasm32-unknown-unknown
# - Install wabt
WORKDIR /root
RUN git clone --recurse-submodules https://github.com/WebAssembly/wabt.git
WORKDIR /root/wabt/build
RUN cmake .. && make install
# Initialize code repository
WORKDIR /root
RUN git clone --recurse-submodules https://github.com/runtimeverification/polkadot-verification.git
# Build dependencies
WORKDIR /root/polkadot-verification
RUN make deps K_BUILD_TYPE=Release
# Build coverage traces
RUN make build SUBDEFN=kwasm
RUN make build SUBDEFN=coverage KOMPILE_OPTIONS='--coverage'
RUN PATH=/root/.cargo/bin:$PATH make polkadot-runtime-source
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment