diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..14e31707d9386ffc888473d31dfd32479893a70b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +# syntax=docker/dockerfile:1 +ARG BASE_IMAGE=ubuntu:20.04 +FROM ${BASE_IMAGE} +LABEL maintainer="https://hub.docker.com/u/iedaopensource" + +ARG IFLOW_WORKSPACE=/opt/iFlow +ENV PATH=${iEDA_BINARY_DIR}:${PATH} +ENV TZ=Asia/Hong_Kong + +ADD https://gitee.com/oscc-project/iFlow.git ${IFLOW_WORKSPACE} + +ENV DEBIAN_FRONTEND=noninteractive +RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime + +WORKDIR ${IFLOW_WORKSPACE} + +RUN bash ${IFLOW_WORKSPACE}/build_iflow.sh && \ + rm -rf $(find . -name "build" -o -name "test" -o -name ".git") diff --git a/build_iflow.sh b/build_iflow.sh index 0a2abab9d3cfc72c6c4205e48b8b9b15adda5d71..2b6fa52f349c83a9ff2506ea2aa8d0d734e8102d 100755 --- a/build_iflow.sh +++ b/build_iflow.sh @@ -35,13 +35,13 @@ export IFLOW_ROOT_DIR export IFLOW_SHELL_DIR export IFLOW_TOOLS_DIR export IFLOW_MIRROR_URL +export DEBIAN_FRONTEND=noninteractive source $IFLOW_SHELL_DIR/common.sh # essential package -RUN_ROOT apt install wget build-essential clang libreadline-dev bison flex libffi-dev cmake libboost-all-dev swig klayout libeigen3-dev libspdlog-dev -y -# tcl -RUN_ROOT apt install tcl-dev -y +RUN_ROOT apt-get update && apt-get install -y git wget build-essential clang libreadline-dev \ + bison flex libffi-dev cmake libboost-all-dev swig klayout libeigen3-dev libspdlog-dev tcl-dev RUN_ROOT cp -f /usr/include/tcl8.6/*.h /usr/include/ RUN_ROOT ln -s -f /usr/lib/x86_64-linux-gnu/libtcl8.6.so /usr/lib/x86_64-linux-gnu/libtcl8.5.so @@ -60,10 +60,6 @@ CHECK_DIR /usr/local/include/lemon ||\ RUN rm -rf lemon-1.3.1 lemon-1.3.1.tar.gz } -# update iFlow -RUN cd $IFLOW_ROOT_DIR -RUN git pull origin master - # install tools RUN $IFLOW_SHELL_DIR/install_tools.sh