2020-12-30 22:59:55 +08:00
|
|
|
FROM ubuntu:focal-20201106
|
2018-12-06 06:03:06 +08:00
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
|
|
|
|
RUN set -e -x ;\
|
|
|
|
apt-get -y update ;\
|
|
|
|
apt-get -y upgrade ;\
|
|
|
|
apt-get -y install \
|
2018-12-08 22:37:12 +08:00
|
|
|
build-essential autoconf cmake clang bison wget flex gperf \
|
|
|
|
libreadline-dev gawk tcl-dev libffi-dev graphviz xdot python3-dev \
|
2019-08-06 00:30:11 +08:00
|
|
|
libboost-all-dev qt5-default git libftdi-dev pkg-config libeigen3-dev \
|
2021-02-13 08:16:54 +08:00
|
|
|
zlib1g-dev curl python3-pip libcapnp-dev capnproto
|
|
|
|
|
2018-12-06 06:03:06 +08:00
|
|
|
|
|
|
|
RUN set -e -x ;\
|
2018-12-08 22:37:12 +08:00
|
|
|
mkdir -p /usr/local/src ;\
|
|
|
|
cd /usr/local/src ;\
|
|
|
|
git clone --recursive https://github.com/steveicarus/iverilog.git ;\
|
|
|
|
cd iverilog ;\
|
2020-12-30 22:59:55 +08:00
|
|
|
git reset --hard 84b4ebee0cfcda28a242d89a07020cd70b1d3e7f ;\
|
2018-12-08 22:37:12 +08:00
|
|
|
sh autoconf.sh ;\
|
|
|
|
./configure ;\
|
|
|
|
make -j $(nproc) ;\
|
|
|
|
make install ;\
|
|
|
|
rm -rf /usr/local/src/iverilog
|
2018-12-06 06:03:06 +08:00
|
|
|
|
|
|
|
RUN set -e -x ;\
|
|
|
|
mkdir -p /usr/local/src ;\
|
|
|
|
cd /usr/local/src ;\
|
2020-06-29 23:27:00 +08:00
|
|
|
git clone --recursive https://github.com/YosysHQ/icestorm.git ;\
|
2018-12-06 06:03:06 +08:00
|
|
|
cd icestorm ;\
|
2020-06-29 23:27:00 +08:00
|
|
|
git reset --hard 4bc68c9620e6be20f8fe10d20f84681d80beac23 ;\
|
2018-12-06 06:03:06 +08:00
|
|
|
make -j $(nproc) ;\
|
|
|
|
make install
|
|
|
|
|
2018-12-08 22:37:12 +08:00
|
|
|
RUN set -e -x ;\
|
|
|
|
mkdir -p /usr/local/src ;\
|
|
|
|
cd /usr/local/src ;\
|
|
|
|
git clone --recursive https://github.com/YosysHQ/yosys.git ;\
|
|
|
|
cd yosys ;\
|
2020-09-24 20:57:14 +08:00
|
|
|
git reset --hard cd8b2ed4e6f9447c94d801de7db7ae6ce0976d57 ;\
|
2018-12-08 22:37:12 +08:00
|
|
|
make -j $(nproc) ;\
|
|
|
|
make install ;\
|
|
|
|
rm -rf /usr/local/src/yosys
|
|
|
|
|
2018-12-06 06:03:06 +08:00
|
|
|
RUN set -e -x ;\
|
|
|
|
mkdir -p /usr/local/src ;\
|
|
|
|
cd /usr/local/src ;\
|
2020-06-26 18:43:27 +08:00
|
|
|
git clone --recursive https://github.com/YosysHQ/prjtrellis.git ;\
|
2018-12-06 06:03:06 +08:00
|
|
|
cd prjtrellis ;\
|
2021-12-14 00:04:45 +08:00
|
|
|
git reset --hard 7239331d5463321d4864164f320beef67310f1e5 ;\
|
2018-12-06 06:03:06 +08:00
|
|
|
cd libtrellis ;\
|
2019-04-28 03:48:21 +08:00
|
|
|
cmake . ;\
|
2018-12-06 06:03:06 +08:00
|
|
|
make -j $(nproc) ;\
|
|
|
|
make install
|
2020-11-25 16:37:42 +08:00
|
|
|
|
|
|
|
RUN set -e -x ;\
|
|
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ;\
|
|
|
|
mkdir -p /usr/local/src ;\
|
|
|
|
cd /usr/local/src ;\
|
2021-02-08 21:04:49 +08:00
|
|
|
git clone --recursive https://github.com/gatecat/prjoxide.git ;\
|
2020-11-25 16:37:42 +08:00
|
|
|
cd prjoxide ;\
|
2021-09-25 02:21:44 +08:00
|
|
|
git reset --hard 318331f8b30c2e2a31cc41d51f104b671e180a8a ;\
|
2020-11-25 16:37:42 +08:00
|
|
|
cd libprjoxide ;\
|
|
|
|
PATH=$PATH:$HOME/.cargo/bin cargo install --path prjoxide
|
2020-12-30 22:59:55 +08:00
|
|
|
|
|
|
|
RUN set -e -x ;\
|
2021-12-27 00:52:00 +08:00
|
|
|
pip3 install apycula==0.2a2
|