45 lines
No EOL
1.9 KiB
Bash
45 lines
No EOL
1.9 KiB
Bash
FROM ubuntu:18.04
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
ENV RUSTUP_HOME=/usr/local/rustup \
|
|
CARGO_HOME=/usr/local/cargo \
|
|
PATH=/usr/local/cargo/bin:$PATH
|
|
|
|
# Install prerequisites
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
curl \
|
|
build-essential \
|
|
software-properties-common \
|
|
cmake \
|
|
gnupg \
|
|
libboost-dev \
|
|
libboost-program-options-dev \
|
|
libgmp3-dev \
|
|
libprocps-dev \
|
|
libssl-dev \
|
|
pkg-config \
|
|
clang-format \
|
|
python3 \
|
|
python-markdown \
|
|
&& add-apt-repository ppa:mozillateam/ppa \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends firefox-esr \
|
|
&& ln -s /usr/bin/firefox-esr /usr/bin/firefox \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain none -y \
|
|
&& rustup toolchain install nightly --allow-downgrade --profile minimal --component rustfmt clippy \
|
|
&& cargo install --git https://github.com/rustwasm/wasm-pack \
|
|
&& rm -rf /usr/local/cargo/registry \
|
|
&& curl -sL https://deb.nodesource.com/setup_lts.x | bash - && apt-get install -y nodejs && npm i -g solc \
|
|
&& curl -sL https://raw.githubusercontent.com/Sarcasm/run-clang-format/master/run-clang-format.py > /opt/run-clang-format.py \
|
|
&& chmod +x /opt/run-clang-format.py \
|
|
&& ln -s /opt/run-clang-format.py /usr/bin \
|
|
&& rustup --version; cargo --version; rustc --version; wasm-pack --version; echo nodejs $(node -v);
|
|
|
|
RUN cd /opt && curl -LO https://github.com/mozilla/geckodriver/releases/download/v0.28.0/geckodriver-v0.28.0-linux64.tar.gz \
|
|
&& tar -xzf geckodriver-v0.28.0-linux64.tar.gz geckodriver \
|
|
&& ln -s /opt/geckodriver /usr/bin \
|
|
&& geckodriver --version \
|
|
&& rm -rf geckodriver-v0.28.0-linux64.tar.gz |