|
|
|
# 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
|
|
|
|
|
|
|
|
ENV PATH=/opt/sledge/bin:$PATH
|