Revised Dockerfile.

This commit is contained in:
jpt4 2023-05-14 18:50:54 +00:00
parent af6a5909d2
commit 64ef8ed069

View File

@ -20,7 +20,7 @@ RUN make install
# install Trilinos # install Trilinos
WORKDIR /toolsrc WORKDIR /toolsrc
# basic dependencies # basic dependencies
RUN apt-get install -y gcc g++ gfortran make cmake flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool RUN apt-get install -y gcc g++ gfortran make cmake flex libfl-dev libfftw3-dev libsuitesparse-dev libblas-dev liblapack-dev libtool python3
# building from git repo dependencies # building from git repo dependencies
RUN apt-get install -y autoconf automake git RUN apt-get install -y autoconf automake git
# parallel dependencies # parallel dependencies
@ -28,7 +28,8 @@ RUN apt-get install -y libhwloc15 libopenmpi-dev openmpi-bin openmpi-common
RUN apt-get install -y bison RUN apt-get install -y bison
RUN git clone --shallow-since 2022-09-15 --branch develop https://github.com/trilinos/Trilinos.git RUN git clone --shallow-since 2022-09-15 --branch develop https://github.com/trilinos/Trilinos.git
RUN git clone https://github.com/Xyce/Xyce.git RUN git clone https://github.com/Xyce/Xyce.git --branch Release-7.6.0
# RUN git clone https://github.com/Xyce/Xyce.git
WORKDIR Trilinos WORKDIR Trilinos
RUN git checkout b91cc3dcd9 RUN git checkout b91cc3dcd9
@ -42,9 +43,9 @@ RUN cmake \
-D CMAKE_INSTALL_PREFIX="/opt/trilinos" \ -D CMAKE_INSTALL_PREFIX="/opt/trilinos" \
-D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \ -D TPL_AMD_INCLUDE_DIRS="/usr/include/suitesparse" \
-D AMD_LIBRARY_DIRS="/usr/lib" \ -D AMD_LIBRARY_DIRS="/usr/lib" \
-D MPI_BASE_DIR="/usr" \ -D MPI_BASE_DIR="/usr" \
-C /toolsrc/Xyce/cmake/trilinos/trilinos-config-MPI.cmake \ -C /toolsrc/Xyce/cmake/trilinos/trilinos-config-MPI.cmake \
/toolsrc/Trilinos /toolsrc/Trilinos
RUN cmake --build . -j 16 -t install RUN cmake --build . -j 16 -t install
# install Xyce # install Xyce
@ -74,9 +75,9 @@ WORKDIR "/"
ADD home template ADD home template
RUN apt-get install -y vim RUN apt-get install -y vim
RUN mkdir -p /template/.vim/pack/plugins/start RUN mkdir -p /template/.vim/pack/plugins/start
RUN git clone https://github.com/fatih/vim-go.git /template/.vim/pack/plugins/start/vim-go RUN git clone https://www.github.com/fatih/vim-go.git /template/.vim/pack/plugins/start/vim-go
RUN git clone https://tpope.io/vim/fugitive.git /template/.vim/pack/plugins/start/fugitive RUN git clone https://github.com/tpope/vim-fugitive /template/.vim/pack/plugins/start/fugitive
RUN git clone https://github.com/preservim/nerdtree.git /template/.vim/pack/plugins/start/nerdtree RUN git clone https://www.github.com/preservim/nerdtree.git /template/.vim/pack/plugins/start/nerdtree
RUN vim +GoInstallBinaries +qall RUN vim +GoInstallBinaries +qall
# install gaw # install gaw
@ -94,7 +95,7 @@ RUN apt-get update --fix-missing; DEBIAN_FRONTEND=noninteractive apt-get install
# install magic layout tool # install magic layout tool
WORKDIR /toolsrc WORKDIR /toolsrc
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tcsh m4 csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev RUN DEBIAN_FRONTEND=noninteractive apt-get install -y tcsh m4 csh libx11-dev tcl-dev tk-dev libcairo2-dev mesa-common-dev libglu1-mesa-dev libncurses-dev
RUN git clone https://github.com/RTimothyEdwards/magic.git RUN git clone https://www.github.com/RTimothyEdwards/magic.git
WORKDIR magic WORKDIR magic
RUN ./configure RUN ./configure
RUN make RUN make
@ -102,13 +103,14 @@ RUN make install
# install OpenRoad # install OpenRoad
#WORKDIR /toolsrc #WORKDIR /toolsrc
#RUN git clone https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git #RUN git clone https://www.github.com/The-OpenROAD-Project/OpenROAD-flow-scripts.git
#WORKDIR OpenROAD-flow-scripts #WORKDIR OpenROAD-flow-scripts
# install ACT # install ACT
WORKDIR /toolsrc WORKDIR /toolsrc
RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make RUN apt-get install -y libedit-dev zlib1g-dev m4 git gcc g++ make
RUN git clone https://github.com/asyncvlsi/act.git #RUN git clone https://www.github.com/asyncvlsi/act.git
RUN git clone https://www.github.com/jpt4/act.git
WORKDIR act WORKDIR act
ENV ACT_HOME=/opt/cad ENV ACT_HOME=/opt/cad
ENV VLSI_TOOLS_SRC=/toolsrc/act ENV VLSI_TOOLS_SRC=/toolsrc/act
@ -119,12 +121,17 @@ RUN make install
# install actsim # install actsim
WORKDIR /toolsrc WORKDIR /toolsrc
RUN git clone https://github.com/asyncvlsi/actsim.git RUN git clone https://github.com/asyncvlsi/actsim.git
#RUN git clone https://github.com/jpt4/actsim.git
WORKDIR actsim WORKDIR actsim
RUN ./configure RUN ./configure
WORKDIR ext
RUN make all
WORKDIR ..
RUN ./grab_xyce.sh /toolsrc/Xyce/build RUN ./grab_xyce.sh /toolsrc/Xyce/build
#WORKDIR ext
#RUN export CXX_COMPILER_NAME=mpic++
#RUN export C_COMPILER_NAME=mpicc
RUN ./build.sh
#RUN make all
#WORKDIR ..
#RUN ./grab_xyce.sh /toolsrc/Xyce/build
RUN make CXX=mpic++ CC=mpicc install RUN make CXX=mpic++ CC=mpicc install
# install ACT-06 # install ACT-06
@ -161,7 +168,8 @@ RUN cp prdbase prspice /opt/cad/bin
# install pr # install pr
WORKDIR /toolsrc WORKDIR /toolsrc
RUN --mount=type=secret,id=user --mount=type=secret,id=token git clone https://$(cat /run/secrets/user):$(cat /run/secrets/token)@git.broccolimicro.io/Broccoli/pr.git RUN --mount=type=secret,id=user --mount=type=secret,id=token git clone https://$(cat /run/secrets/user):$(cat /run/secrets/token)@git.broccolimicro.io/Broccoli/pr.git
RUN cp pr/* /opt/cad/bin RUN cp -r pr/* /opt/cad/bin
#RUN cp pr/* /opt/cad/bin
# Clean up source code folder # Clean up source code folder
#RUN rm -rf /toolsrc #RUN rm -rf /toolsrc