|
|
|
# Inspired by lucet's Dockerfile.
|
|
|
|
|
|
|
|
# using ubuntu 18 docker image
|
|
|
|
FROM ubuntu:bionic
|
|
|
|
|
|
|
|
# install some basic packages
|
|
|
|
RUN apt-get update
|
|
|
|
RUN 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 \
|
|
|
|
binutils-dev \
|
|
|
|
build-essential \
|
|
|
|
automake \
|
|
|
|
libtool \
|
|
|
|
strace \
|
|
|
|
less
|
|
|
|
RUN 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
|