FROM ubuntu:20.04 # Update and upgrade distribution RUN apt-get update && \ apt-get upgrade -y # Tools necessary for installing and configuring Ubuntu RUN apt-get install -y \ apt-utils \ locales \ tzdata # Timezone RUN echo "Europe/Paris" | tee /etc/timezone && \ ln -fs /usr/share/zoneinfo/Europe/Paris /etc/localtime && \ dpkg-reconfigure -f noninteractive tzdata # Locale with UTF-8 support RUN echo en_US.UTF-8 UTF-8 >> /etc/locale.gen && \ locale-gen && \ update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US.UTF-8 # Update again RUN apt-get update # Required for Gudhi compilation RUN apt-get install -y make \ g++ \ cmake \ graphviz \ perl \ texlive-bibtex-extra \ biber \ libboost-all-dev \ libeigen3-dev \ libgmp3-dev \ libmpfr-dev \ libtbb-dev \ libcgal-dev \ locales \ python3 \ python3-pip \ python3-pytest \ python3-tk \ python3-pybind11 \ libfreetype6-dev \ pkg-config \ curl RUN curl -LO "https://github.com/CGAL/cgal/releases/download/v5.1/CGAL-5.1.tar.xz" \ && tar xf CGAL-5.1.tar.xz \ && mkdir build \ && cd build \ && cmake -DCMAKE_BUILD_TYPE=Release ../CGAL-5.1/ \ && make install \ && cd .. \ && rm -rf build CGAL-5.1 RUN pip3 install \ numpy \ matplotlib \ scipy \ Cython \ POT \ scikit-learn # apt clean up RUN apt autoremove && rm -rf /var/lib/apt/lists/* RUN curl -LO "https://github.com/GUDHI/gudhi-devel/releases/download/tags%2Fgudhi-release-3.3.0/gudhi.3.3.0.tar.gz" \ && tar xf gudhi.3.3.0.tar.gz \ && cd gudhi.3.3.0 \ && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_PYTHON=OFF -DPython_ADDITIONAL_VERSIONS=3 .. \ && make all test install \ && cmake -DWITH_GUDHI_PYTHON=ON . \ && cd python \ && python3 setup.py install