# using ubuntu 20 docker image FROM ubuntu:focal ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update # General GCC C/C++ Build toolchain # pkg-config, libtool - used by PocketSphinx # cmake - used by cmsis RUN apt-get install -y --no-install-recommends \ automake \ build-essential \ binutils-dev \ cmake \ git \ libc++-dev \ libtinfo5 \ libtool \ pkg-config # LLVM Tools RUN apt-get install -y --no-install-recommends \ clang-11 \ clang-format-11 \ clang-tools-11 \ libclang-11-dev \ libclang-common-11-dev \ libc++abi-dev \ lld-11 \ llvm-11 \ llvm-11-dev RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100 RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-11 100 RUN update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config-11 100 RUN update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-11 100 # Needed to install from http endpoints via curl RUN apt-get install -y --no-install-recommends \ curl \ ca-certificates \ libssl-dev # Rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain stable --component rustfmt --target wasm32-wasi -y ENV PATH=/root/.cargo/bin:$PATH RUN cargo install --debug cargo-audit cargo-watch rsign2 # WASI-SDK RUN curl -sS -L -O https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-8/wasi-sdk_8.0_amd64.deb && dpkg -i wasi-sdk_8.0_amd64.deb && rm -f wasi-sdk_8.0_amd64.deb ENV WASI_SDK=/opt/wasi-sdk # Test Script Stuff RUN apt-get install -y --no-install-recommends \ fonts-dejavu \ fonts-cascadia-code \ fonts-roboto \ imagemagick \ netpbm \ pango1.0-tools \ wamerican \ wget # Interactive Tools RUN apt-get install -y --no-install-recommends \ less \ gdb \ strace \ vim # We need to set the locale for pango-view ENV LANG C.UTF-8 ENV LANGUAGE C.UTF-8 ENV LC_ALL C.UTF-8 ENV PATH=/opt/sledge/bin:$PATH ENV LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH