summaryrefslogtreecommitdiff
path: root/Dockerfile_gudhi_installation
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile_gudhi_installation')
-rw-r--r--Dockerfile_gudhi_installation65
1 files changed, 65 insertions, 0 deletions
diff --git a/Dockerfile_gudhi_installation b/Dockerfile_gudhi_installation
new file mode 100644
index 00000000..9fe20730
--- /dev/null
+++ b/Dockerfile_gudhi_installation
@@ -0,0 +1,65 @@
+FROM ubuntu:19.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
+
+# 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 \
+ libfreetype6-dev \
+ pkg-config \
+ curl
+
+RUN pip3 install \
+ numpy \
+ matplotlib \
+ scipy \
+ Cython
+
+# 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.0.0/gudhi.3.0.0.tar.gz" \
+&& tar xf gudhi.3.0.0.tar.gz \
+&& cd gudhi.3.0.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 \ No newline at end of file