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