From c6619e0207abf0fb5198b66a8d8f00f975c3da84 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Fri, 18 Sep 2020 16:27:49 +0200 Subject: Use CGAL 5.1 by default on dockers. Update next release --- Dockerfile_gudhi_installation | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'Dockerfile_gudhi_installation') diff --git a/Dockerfile_gudhi_installation b/Dockerfile_gudhi_installation index 92430fce..ebd21f8d 100644 --- a/Dockerfile_gudhi_installation +++ b/Dockerfile_gudhi_installation @@ -23,6 +23,9 @@ 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++ \ @@ -47,6 +50,15 @@ RUN apt-get install -y make \ 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 \ -- cgit v1.2.3 From 3ddf6b635b2ab2132e20038cb1533182b0517c41 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Mon, 18 Jan 2021 10:47:50 +0100 Subject: Use gudhi-deploy external submodules and removes former files --- .appveyor.yml | 4 +- .github/workflows/pip-build-osx.yml | 2 +- .github/workflows/pip-build-windows.yml | 2 +- .github/workflows/pip-packaging-osx.yml | 2 +- .github/workflows/pip-packaging-windows.yml | 2 +- .gitmodules | 3 ++ Dockerfile_for_circleci_image | 69 ------------------------- Dockerfile_for_pip | 52 ------------------- Dockerfile_gudhi_installation | 80 ----------------------------- azure-pipelines.yml | 6 +-- ext/gudhi-deploy | 1 + 11 files changed, 13 insertions(+), 210 deletions(-) delete mode 100644 Dockerfile_for_circleci_image delete mode 100644 Dockerfile_for_pip delete mode 100644 Dockerfile_gudhi_installation create mode 160000 ext/gudhi-deploy (limited to 'Dockerfile_gudhi_installation') diff --git a/.appveyor.yml b/.appveyor.yml index 06de5b14..c2b140e9 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -48,9 +48,9 @@ install: - python --version - pip --version - python -m pip install --user --upgrade pip - - python -m pip install --user -r .github/build-requirements.txt + - python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt # No PyKeOps on windows, let's workaround this one. - - for /F "tokens=*" %%A in (.github/test-requirements.txt) do python -m pip install --user %%A + - for /F "tokens=*" %%A in (ext/gudhi-deploy/test-requirements.txt) do python -m pip install --user %%A build_script: - mkdir build diff --git a/.github/workflows/pip-build-osx.yml b/.github/workflows/pip-build-osx.yml index 50b8b09c..732e26af 100644 --- a/.github/workflows/pip-build-osx.yml +++ b/.github/workflows/pip-build-osx.yml @@ -22,7 +22,7 @@ jobs: run: | brew update || true brew install boost eigen gmp mpfr cgal || true - python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt python -m pip install --user twine delocate - name: Build python wheel run: | diff --git a/.github/workflows/pip-build-windows.yml b/.github/workflows/pip-build-windows.yml index aacbbc52..d07e8c46 100644 --- a/.github/workflows/pip-build-windows.yml +++ b/.github/workflows/pip-build-windows.yml @@ -24,7 +24,7 @@ jobs: vcpkg upgrade --no-dry-run type c:/vcpkg/ports/cgal/portfile.cmake vcpkg install eigen3 cgal --triplet x64-windows - python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt python -m pip list - name: Build python wheel run: | diff --git a/.github/workflows/pip-packaging-osx.yml b/.github/workflows/pip-packaging-osx.yml index 46441e65..56309b88 100644 --- a/.github/workflows/pip-packaging-osx.yml +++ b/.github/workflows/pip-packaging-osx.yml @@ -24,7 +24,7 @@ jobs: run: | brew update || true brew install boost eigen gmp mpfr cgal || true - python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt python -m pip install --user twine delocate - name: Build python wheel run: | diff --git a/.github/workflows/pip-packaging-windows.yml b/.github/workflows/pip-packaging-windows.yml index 3a751486..a428eaba 100644 --- a/.github/workflows/pip-packaging-windows.yml +++ b/.github/workflows/pip-packaging-windows.yml @@ -26,7 +26,7 @@ jobs: vcpkg upgrade --no-dry-run type c:/vcpkg/ports/cgal/portfile.cmake vcpkg install eigen3 cgal --triplet x64-windows - python -m pip install --user -r .github/build-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt python -m pip install --user twine python -m pip list - name: Build python wheel diff --git a/.gitmodules b/.gitmodules index f70c570d..2aa8ad96 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "ext/hera"] path = ext/hera url = https://github.com/grey-narn/hera.git +[submodule "ext/gudhi-deploy"] + path = ext/gudhi-deploy + url = https://github.com/GUDHI/gudhi-deploy diff --git a/Dockerfile_for_circleci_image b/Dockerfile_for_circleci_image deleted file mode 100644 index ec1b8ff8..00000000 --- a/Dockerfile_for_circleci_image +++ /dev/null @@ -1,69 +0,0 @@ -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 \ - git \ - g++ \ - cmake \ - graphviz \ - perl \ - texlive-full \ - biber \ - doxygen \ - libboost-all-dev \ - libeigen3-dev \ - libgmp3-dev \ - libmpfr-dev \ - libtbb-dev \ - locales \ - python3 \ - python3-pip \ - python3-tk \ - python3-grpcio \ - 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 - -ADD .github/build-requirements.txt / -ADD .github/test-requirements.txt / - -RUN pip3 install -r build-requirements.txt -RUN pip3 --no-cache-dir install -r test-requirements.txt - -# apt clean up -RUN apt autoremove && rm -rf /var/lib/apt/lists/* diff --git a/Dockerfile_for_pip b/Dockerfile_for_pip deleted file mode 100644 index d5ae6417..00000000 --- a/Dockerfile_for_pip +++ /dev/null @@ -1,52 +0,0 @@ -FROM quay.io/pypa/manylinux2014_x86_64 - -RUN yum -y update && yum -y install \ - wget \ - zlib-devel \ - eigen3-devel \ - mpfr-devel \ - gmp-devel \ - devtoolset-8 \ - && yum clean all - -RUN mkdir -p /opt/cmake \ - && wget https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2-Linux-x86_64.sh \ - && sh cmake-3.16.2-Linux-x86_64.sh --skip-license --prefix=/opt/cmake \ - && rm -f cmake-3.16.2-Linux-x86_64.sh - -# yum install boost-devel installs boost 1.53 and copy is the only way to install headers only boost -RUN wget https://dl.bintray.com/boostorg/release/1.73.0/source/boost_1_73_0.tar.gz \ - && tar xf boost_1_73_0.tar.gz \ - && cd boost_1_73_0 \ - && ./bootstrap.sh \ - && ls \ - && cp -r boost /usr/local/include/ \ - && cd .. \ - && rm -rf boost - -RUN wget 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 \ - && /opt/cmake/bin/cmake -DCMAKE_BUILD_TYPE=Release ../CGAL-5.1/ \ - && make install \ - && cd .. \ - && rm -rf build CGAL-5.1 - -ADD .github/build-requirements.txt / - -RUN /opt/python/cp35-cp35m/bin/pip install -r build-requirements.txt \ - && /opt/python/cp36-cp36m/bin/pip install -r build-requirements.txt\ - && /opt/python/cp37-cp37m/bin/pip install -r build-requirements.txt\ - && /opt/python/cp38-cp38/bin/pip install -r build-requirements.txt\ - && /opt/python/cp39-cp39/bin/pip install -r build-requirements.txt\ - && /opt/python/cp39-cp39/bin/pip install twine - -ENV PYTHON35="/opt/python/cp35-cp35m/" -ENV PYTHON36="/opt/python/cp36-cp36m/" -ENV PYTHON37="/opt/python/cp37-cp37m/" -ENV PYTHON38="/opt/python/cp38-cp38/" -ENV PYTHON39="/opt/python/cp39-cp39/" - -ENV PATH="/opt/cmake/bin:${PATH}" -ENV PATH="/opt/rh/devtoolset-8/root/usr/bin:${PATH}" diff --git a/Dockerfile_gudhi_installation b/Dockerfile_gudhi_installation deleted file mode 100644 index ebd21f8d..00000000 --- a/Dockerfile_gudhi_installation +++ /dev/null @@ -1,80 +0,0 @@ -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 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 64f3d141..14e195d2 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -19,15 +19,15 @@ jobs: - bash: | source activate gudhi_build_env + git submodule update --init sudo conda install --yes --quiet --name gudhi_build_env python=$(pythonVersion) - python -m pip install --user -r .github/build-requirements.txt - python -m pip install --user -r .github/test-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/build-requirements.txt + python -m pip install --user -r ext/gudhi-deploy/test-requirements.txt brew update || true brew install graphviz doxygen boost eigen gmp mpfr tbb cgal || true displayName: 'Install build dependencies' - bash: | source activate gudhi_build_env - git submodule update --init mkdir build cd build cmake -DCMAKE_BUILD_TYPE:STRING=$(cmakeBuildType) -DWITH_GUDHI_TEST=ON -DWITH_GUDHI_UTILITIES=ON -DWITH_GUDHI_PYTHON=ON -DPython_ADDITIONAL_VERSIONS=3 .. diff --git a/ext/gudhi-deploy b/ext/gudhi-deploy new file mode 160000 index 00000000..f71c3749 --- /dev/null +++ b/ext/gudhi-deploy @@ -0,0 +1 @@ +Subproject commit f71c3749c4d57afcb9747fe99a8cfbb8aa960b6a -- cgit v1.2.3