# 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
