From a0d3e2b64579f5eb5ed9c647f8c4fed0f001a309 Mon Sep 17 00:00:00 2001 From: tmeissner Date: Sun, 18 Aug 2019 19:44:44 +0200 Subject: [PATCH] Initial commit of SymbiYosys Dockerfile --- SymbiYosys/Dockerfile | 112 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 SymbiYosys/Dockerfile diff --git a/SymbiYosys/Dockerfile b/SymbiYosys/Dockerfile new file mode 100644 index 0000000..e32609e --- /dev/null +++ b/SymbiYosys/Dockerfile @@ -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