# syntax = docker/dockerfile:1.0-experimental
FROM centos:centos6 as build

# install base dependencies
RUN yum install -y git tcl tk libjpeg libgomp libXext libSM libXft libffi cairo gettext Xvfb

# python 3.6
RUN yum install -y install centos-release-scl
RUN yum install -y rh-python36
ENV PATH=/opt/rh/rh-python36/root/usr/bin:$PATH

# Install python dependencies
RUN pip3 install --upgrade pip && \
    pip3 install matplotlib


ENV OPENROAD=/build/
ENV OPENROADOS=Linux-x86_64

ENV PATH=$OPENROAD/bin:$OPENROAD/bin/Linux-x86_64:$OPENROAD/pdn/scripts:$PATH
ENV LD_LIBRARY_PATH=$OPENROAD/lib:$OPENROAD/lib/Linux-x86_64:$LD_LIBRARY_PATH
ENV MANPATH=$OPENROAD/share/man:$MANPATH


COPY ./openroad_tools.tar.gz /
RUN tar -xzf openroad_tools.tar.gz && \
    rm -rf openroad_tools.tar.gz

COPY ./openLANE_flow.tar.gz /
RUN mkdir /openLANE_flow
RUN tar -xzf openLANE_flow.tar.gz -C openLANE_flow&& \
    rm -rf openLANE_flow.tar.gz

WORKDIR /openLANE_flow
