# Inspired by lucet's Dockerfile. # using ubuntu 18 docker image FROM ubuntu:bionic # install some basic packages RUN apt-get update \ && apt-get install -y --no-install-recommends \ build-essential \ curl \ git \ python3-dev \ python3-pip \ cmake \ ca-certificates \ libssl-dev \ pkg-config \ gcc \ g++ \ clang-8 \ clang-tools-8 \ llvm-8 \ llvm-8-dev \ libc++-dev \ libc++abi-dev \ lld-8 \ lldb-8 \ libclang-8-dev \ libclang-common-8-dev \ vim \ apache2 \ subversion \ libapache2-mod-svn \ libsvn-dev \ binutils-dev \ build-essential \ automake \ libtool \ strace \ less \ libuv1-dev \ && rm -rf /var/lib/apt/lists/* # set to use our installed clang version RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8 100 RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-8 100 # set LD_LIBRARY_PATH ENV LD_LIBRARY_PATH=/usr/local/lib RUN curl https://sh.rustup.rs -sSf | \ sh -s -- --default-toolchain stable -y ENV PATH=/root/.cargo/bin:$PATH RUN rustup component add rustfmt RUN rustup target add wasm32-wasi RUN cargo install --debug cargo-audit cargo-watch rsign2 RUN curl -sS -L -O https://github.com/CraneStation/wasi-sdk/releases/download/wasi-sdk-7/wasi-sdk_7.0_amd64.deb \ && dpkg -i wasi-sdk_7.0_amd64.deb && rm -f wasi-sdk_7.0_amd64.deb ENV WASI_SDK=/opt/wasi-sdk ENV PATH=/opt/sledge/bin:$PATH