2016-01-20 16:23:13 +01:00
|
|
|
FROM ubuntu:14.04
|
2016-06-24 21:03:36 +02:00
|
|
|
WORKDIR /build
|
2016-01-20 16:23:13 +01:00
|
|
|
# install tools and dependencies
|
|
|
|
RUN apt-get update && \
|
2016-06-24 21:03:36 +02:00
|
|
|
apt-get install -y \
|
|
|
|
# make
|
|
|
|
build-essential \
|
|
|
|
# add-apt-repository
|
|
|
|
software-properties-common \
|
|
|
|
curl \
|
|
|
|
wget \
|
|
|
|
git \
|
|
|
|
g++ \
|
|
|
|
binutils \
|
|
|
|
file \
|
|
|
|
# evmjit dependencies
|
|
|
|
zlib1g-dev \
|
|
|
|
libedit-dev
|
2016-01-20 16:23:13 +01:00
|
|
|
|
2016-06-24 21:03:36 +02:00
|
|
|
# cmake and llvm ppas. then update ppas
|
2016-01-20 16:23:13 +01:00
|
|
|
RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
|
2016-06-24 21:03:36 +02:00
|
|
|
add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \
|
|
|
|
apt-get update && \
|
|
|
|
apt-get install -y --force-yes cmake llvm-3.7-dev
|
2016-01-20 16:23:13 +01:00
|
|
|
|
|
|
|
# install evmjit
|
|
|
|
RUN git clone https://github.com/debris/evmjit && \
|
2016-06-24 21:03:36 +02:00
|
|
|
cd evmjit && \
|
|
|
|
mkdir build && cd build && \
|
|
|
|
cmake .. && make && make install && cd
|
2016-01-20 16:23:13 +01:00
|
|
|
|
2016-06-20 11:02:31 +02:00
|
|
|
# install rustup
|
|
|
|
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
|
2016-01-20 16:23:13 +01:00
|
|
|
|
2016-06-20 11:02:31 +02:00
|
|
|
# rustup directory
|
|
|
|
ENV PATH /root/.cargo/bin:$PATH
|
2016-01-20 16:23:13 +01:00
|
|
|
|
|
|
|
# show backtraces
|
|
|
|
ENV RUST_BACKTRACE 1
|
2016-02-01 12:35:52 +01:00
|
|
|
|
2016-06-24 21:03:36 +02:00
|
|
|
# show tools
|
|
|
|
RUN rustc -vV && \
|
|
|
|
cargo -V && \
|
|
|
|
gcc -v &&\
|
|
|
|
g++ -v
|
|
|
|
|
2016-02-01 12:35:52 +01:00
|
|
|
# build parity
|
|
|
|
RUN git clone https://github.com/ethcore/parity && \
|
2016-06-24 21:03:36 +02:00
|
|
|
cd parity && \
|
|
|
|
cargo build --release --features ethcore/jit --verbose && \
|
|
|
|
ls /build/parity/target/release/parity && \
|
|
|
|
strip /build/parity/target/release/parity
|
|
|
|
RUN file /build/parity/target/release/parity
|