FROM ubuntu:26.04 # DEBIAN_FRONTEND=noninteractive is used to prevent installation of # package tzdata to ask for timezone ENV DEBIAN_FRONTEND=noninteractive # Required for Gudhi compilation RUN apt-get update && apt-get install --no-install-recommends -y make \ g++ \ cmake \ perl \ libboost-all-dev \ libeigen3-dev \ libgmp3-dev \ libmpfr-dev \ libtbb-dev \ libcgal-dev \ python3 \ python3-venv \ xz-utils \ curl COPY install_cgal.sh / RUN sh install_cgal.sh # PEP668: work in a virtual environment ENV VIRTUAL_ENV=/opt/venv RUN python3 -m venv $VIRTUAL_ENV ENV PATH="$VIRTUAL_ENV/bin:$PATH" RUN mkdir /home/ubuntu/install COPY build-requirements.txt /home/ubuntu/install/ RUN python -m pip install --no-cache-dir -r /home/ubuntu/install/build-requirements.txt # apt clean up RUN apt-get autoremove && apt-get clean && rm -rf /var/lib/apt/lists/* ARG GUDHI_VERSION="3.13.0" RUN curl -LO --output-dir /home/ubuntu/install/ "https://github.com/GUDHI/gudhi-devel/releases/download/tags%2Fgudhi-release-${GUDHI_VERSION}/gudhi.${GUDHI_VERSION}.tar.gz" \ && cd /home/ubuntu/install/ \ && tar xf gudhi.${GUDHI_VERSION}.tar.gz \ && cd gudhi.${GUDHI_VERSION} \ && mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GUDHI_PYTHON=OFF .. \ && make all test install \ && cd .. \ && python -m pip install -ve . \ && cd .. \ && rm -rf gudhi.*