|
|
@ -0,0 +1,112 @@ |
|
|
|
FROM ubuntu:18.04 |
|
|
|
|
|
|
|
RUN apt-get update && \ |
|
|
|
apt-get upgrade -y && \ |
|
|
|
apt-get install -y \ |
|
|
|
build-essential \ |
|
|
|
clang \ |
|
|
|
bison \ |
|
|
|
flex \ |
|
|
|
libreadline-dev \ |
|
|
|
gawk \ |
|
|
|
tcl-dev \ |
|
|
|
libffi-dev \ |
|
|
|
git \ |
|
|
|
mercurial \ |
|
|
|
graphviz \ |
|
|
|
xdot \ |
|
|
|
pkg-config \ |
|
|
|
python \ |
|
|
|
python3 \ |
|
|
|
libftdi-dev \ |
|
|
|
gperf \ |
|
|
|
libboost-program-options-dev \ |
|
|
|
autoconf \ |
|
|
|
libgmp-dev \ |
|
|
|
cmake \ |
|
|
|
make \ |
|
|
|
wget \ |
|
|
|
libpython2.7 && \ |
|
|
|
adduser symbiyosys --gecos "" --disabled-login |
|
|
|
|
|
|
|
RUN cd /home/symbiyosys && \ |
|
|
|
git clone https://github.com/cliffordwolf/yosys.git yosys && \ |
|
|
|
cd yosys && \ |
|
|
|
make -j$(nproc) && \ |
|
|
|
make install && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
git clone https://github.com/cliffordwolf/SymbiYosys.git SymbiYosys && \ |
|
|
|
cd SymbiYosys && \ |
|
|
|
make install && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
git clone https://github.com/Z3Prover/z3.git z3 && \ |
|
|
|
cd z3 && \ |
|
|
|
python scripts/mk_make.py && \ |
|
|
|
cd build && \ |
|
|
|
make -j$(nproc) && \ |
|
|
|
make install && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
git clone https://github.com/SRI-CSL/yices2.git yices2 && \ |
|
|
|
cd yices2 && \ |
|
|
|
autoconf && \ |
|
|
|
./configure && \ |
|
|
|
make -j$(nproc) && \ |
|
|
|
make install && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
git clone https://bitbucket.org/arieg/extavy.git && \ |
|
|
|
cd extavy && \ |
|
|
|
git submodule update --init && \ |
|
|
|
mkdir build; cd build && \ |
|
|
|
cmake -DCMAKE_BUILD_TYPE=Release .. && \ |
|
|
|
make -j$(nproc) && \ |
|
|
|
cp avy/src/avy /usr/local/bin/ && \ |
|
|
|
cp avy/src/avybmc /usr/local/bin/ && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
git clone https://github.com/boolector/boolector && \ |
|
|
|
git clone https://github.com/arminbiere/lingeling boolector/deps/lingeling && \ |
|
|
|
git clone https://github.com/boolector/btor2tools boolector/deps/btor2tools && \ |
|
|
|
( cd boolector/deps/lingeling && ./configure.sh -fPIC && make -j$(nproc); ) && \ |
|
|
|
( cd boolector/deps/btor2tools && ./configure.sh -fPIC && make -j$(nproc); ) && \ |
|
|
|
( cd boolector && ./configure.sh && cd build && make -j$(nproc); ) && \ |
|
|
|
cp boolector/build/bin/boolector /usr/local/bin/ && \ |
|
|
|
cp boolector/build/bin/btor* /usr/local/bin/ && \ |
|
|
|
cp boolector/deps/btor2tools/bin/btorsim /usr/local/bin/ && \ |
|
|
|
cd /home/symbiyosys && \ |
|
|
|
wget https://downloads.bvsrc.org/super_prove/super_prove-hwmcc17_final-2-d7b71160dddb-Ubuntu_14.04-Release.tar.gz && \ |
|
|
|
tar xzf super_prove-hwmcc17_final-2-d7b71160dddb-Ubuntu_14.04-Release.tar.gz -C /usr/local/ && \ |
|
|
|
echo '#!/bin/bash' >> /usr/local/bin/suprove && \ |
|
|
|
echo 'tool=super_prove; if [ "$1" != "${1#+}" ]; then tool="${1#+}"; shift; fi' >> /usr/local/bin/suprove && \ |
|
|
|
echo 'exec /usr/local/super_prove/bin/${tool}.sh "$@"' >> /usr/local/bin/suprove && \ |
|
|
|
chmod +x /usr/local/bin/suprove && \ |
|
|
|
rm -rf yosys SymbiYosys z3 yices2 extavy boolector super_prove* |
|
|
|
|
|
|
|
RUN apt-get purge -y \ |
|
|
|
build-essential \ |
|
|
|
clang \ |
|
|
|
bison \ |
|
|
|
flex \ |
|
|
|
libreadline-dev \ |
|
|
|
gawk \ |
|
|
|
libffi-dev \ |
|
|
|
git \ |
|
|
|
mercurial \ |
|
|
|
graphviz \ |
|
|
|
xdot \ |
|
|
|
pkg-config \ |
|
|
|
libftdi-dev \ |
|
|
|
gperf \ |
|
|
|
libboost-program-options-dev \ |
|
|
|
autoconf \ |
|
|
|
libgmp-dev \ |
|
|
|
cmake \ |
|
|
|
wget && \ |
|
|
|
apt-get clean -y && \ |
|
|
|
apt-get autoclean -y && \ |
|
|
|
apt-get autoremove -y |
|
|
|
|
|
|
|
|
|
|
|
USER symbiyosys |
|
|
|
WORKDIR /home/symbiyosys |
|
|
|
|
|
|
|
RUN mkdir work |
|
|
|
VOLUME /home/symbiyosys/work |