summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog101
-rw-r--r--debian/control34
-rw-r--r--debian/copyright10
-rw-r--r--debian/libgudhi-doc.doc-base4
-rw-r--r--debian/libgudhi-doc.install2
-rw-r--r--debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch141
-rw-r--r--debian/patches/0002-Use-system-MathJax.patch6
-rw-r--r--debian/patches/0003-Offline-header-for-docs.patch (renamed from debian/patches/0004-Offline-header-for-docs.patch)8
-rw-r--r--debian/patches/0004-Disable-Sphinx.patch37
-rw-r--r--debian/patches/0005-Disable-Sphinx.patch20
-rw-r--r--debian/patches/0005-Support-Hera-1.0.patch66
-rw-r--r--debian/patches/0006-Install-Python-module-in-correct-location.patch21
-rw-r--r--debian/patches/0007-Move-towards-reproducible-builds.patch23
-rw-r--r--debian/patches/series7
-rwxr-xr-xdebian/rules39
-rw-r--r--debian/tests/upstream.py7
-rw-r--r--debian/watch7
17 files changed, 300 insertions, 233 deletions
diff --git a/debian/changelog b/debian/changelog
index 86c376a7..e055051d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,104 @@
+gudhi (3.7.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Drop some more images from DFSG repack.
+ * Refresh patches.
+ * Drop upstreamed patch for QGLViewer 2.7.
+ * Add patch to keep supporting Hera 1.0.
+ * Standards-version 4.6.2.0, no changes needed.
+
+ -- Gard Spreemann <gspr@nonempty.org> Thu, 26 Jan 2023 16:35:52 +0100
+
+gudhi (3.6.0+dfsg-4) unstable; urgency=medium
+
+ * Add patch to support QGLViewer >=2.7. (Closes: 1024061)
+
+ -- Gard Spreemann <gspr@nonempty.org> Mon, 14 Nov 2022 17:30:15 +0100
+
+gudhi (3.6.0+dfsg-3) unstable; urgency=medium
+
+ * Bump CGAL dependency to >=5.5.1, allowing us to drop the CGAL 5.5
+ compatibility patch.
+
+ -- Gard Spreemann <gspr@nonempty.org> Thu, 03 Nov 2022 16:48:20 +0100
+
+gudhi (3.6.0+dfsg-2) unstable; urgency=medium
+
+ * Fix watch file broken by GitHub change.
+
+ -- Gard Spreemann <gspr@nonempty.org> Mon, 03 Oct 2022 16:31:23 +0200
+
+gudhi (3.6.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Drop some new DFSG-incompatible image files.
+ * Refresh patches.
+ * Remove cleanup of Miniball, no longer shipped upstream.
+ * Revamp d/rules in order to *actually* build the "user version", as
+ intended upstream.
+ - Drop doxygen patch now that we build correctly.
+ * Clean up documentation installation.
+ * Autopkgtests: Disable new inappropriate tests.
+ * Explicitly disable build-time test that requires Internet access.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 17 Aug 2022 21:47:20 +0200
+
+gudhi (3.5.0+dfsg-3) unstable; urgency=medium
+
+ * Add patch to fix building with CGAL 5.5. (Closes: #1017138)
+ * Standards-version 4.6.1.1. No changes needed.
+
+ -- Gard Spreemann <gspr@nonempty.org> Tue, 16 Aug 2022 16:01:50 +0200
+
+gudhi (3.5.0+dfsg-2) unstable; urgency=medium
+
+ * Update d/libgudhi-doc.doc-base to reflect moved docs.
+ * Rebuild with hera 1.0.0.
+
+ -- Gard Spreemann <gspr@nonempty.org> Sun, 01 May 2022 11:19:32 +0200
+
+gudhi (3.5.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Rebase patches.
+ * Drop patches:
+ - 0005-Install-Python-module-in-correct-location
+ - 0006-Move-towards-reproducible-builds
+ - 0007-Turn-positional-argument-into-keyword-argument
+ * Update copyright ranges.
+ * Remove some files from files-excluded as they have been dropped
+ upstream.
+ * Move HTML documentation to libgudhi-dev's doc directory.
+ * Add patch to avoid building Doxygen docs from source root.
+ * Don't build Python modules using CMake.
+
+ -- Gard Spreemann <gspr@nonempty.org> Fri, 14 Jan 2022 19:28:42 +0100
+
+gudhi (3.4.1+dfsg-3) unstable; urgency=medium
+
+ * Add patch to turn sklearn positional args into keyword ones, for
+ compatibility with sklearn 1.0. (Closes: #1002331)
+ * Standards-version 4.6.0.1. No changes needed.
+ * Remove tomato test from blacklist.
+
+ -- Gard Spreemann <gspr@nonempty.org> Thu, 23 Dec 2021 16:37:05 +0100
+
+gudhi (3.4.1+dfsg-2) unstable; urgency=medium
+
+ * Fix watch file.
+ * Rebuild with new version of libhera-dev.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 18 Aug 2021 09:22:39 +0200
+
+gudhi (3.4.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Drop upstreamed patch for CGAL 5.2.
+ * Drop patch that forces linking with libatomic, it seems no longer to
+ be needed.
+
+ -- Gard Spreemann <gspr@nonempty.org> Fri, 22 Jan 2021 11:27:48 +0100
+
gudhi (3.4.0+dfsg-2) unstable; urgency=medium
* Add patch to fix building with CGAL 5.2. (Closes: #978191)
diff --git a/debian/control b/debian/control
index 906916a3..0940f11c 100644
--- a/debian/control
+++ b/debian/control
@@ -2,22 +2,22 @@ Source: gudhi
Maintainer: Gard Spreemann <gspr@nonempty.org>
Section: math
Priority: optional
-Standards-Version: 4.5.1.0
+Standards-Version: 4.6.2.0
Build-Depends: cmake (>= 3.5),
cython3,
debhelper-compat (= 13),
dh-python,
- libboost-filesystem-dev (>= 1.56),
- libboost-program-options-dev (>= 1.56),
- libboost-system-dev (>= 1.56),
- libboost-test-dev (>= 1.56),
- libboost-thread-dev (>= 1.56),
- libboost-timer-dev (>= 1.56),
- libcgal-dev (>= 5.0),
- libcgal-qt5-dev (>> 4.11.0),
+ libboost-filesystem-dev (>= 1.66),
+ libboost-program-options-dev (>= 1.66),
+ libboost-system-dev (>= 1.66),
+ libboost-test-dev (>= 1.66),
+ libboost-thread-dev (>= 1.66),
+ libboost-timer-dev (>= 1.66),
+ libcgal-dev (>= 5.5.1),
+ libcgal-qt5-dev (>= 5.5.1),
libeigen3-dev,
libgmp-dev,
- libhera-dev,
+ libhera-dev (>= 1.0.0),
libqglviewer-dev-qt5,
libtbb-dev,
pybind11-dev,
@@ -44,13 +44,13 @@ Package: libgudhi-dev
Section: libdevel
Architecture: all
Multi-Arch: foreign
-Depends: libboost-filesystem-dev (>= 1.56),
- libboost-program-options-dev (>= 1.56),
- libboost-system-dev (>= 1.56),
- libboost-test-dev (>= 1.56),
- libboost-thread-dev (>= 1.56),
- libboost-timer-dev (>= 1.56),
- libcgal-dev (>= 5.0),
+Depends: libboost-filesystem-dev (>= 1.66),
+ libboost-program-options-dev (>= 1.66),
+ libboost-system-dev (>= 1.66),
+ libboost-test-dev (>= 1.66),
+ libboost-thread-dev (>= 1.66),
+ libboost-timer-dev (>= 1.66),
+ libcgal-dev (>= 5.5.1),
libeigen3-dev (>= 3.1.0),
libgmp-dev (>= 4.2),
libtbb-dev,
diff --git a/debian/copyright b/debian/copyright
index 28ad4de0..a9283498 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,6 +1,6 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: gudhi
-Files-Excluded: data/filtered_simplicial_complex/bunny_5000_complex.fsc data/points/COIL_database data/points/SO3* data/points/bunny* data/points/human*
+Files-Excluded: data/points/COIL_database data/points/SO3* data/points/human* src/python/doc/img/bunny.png src/python/doc/img/tensorflow.png
Source: https://gudhi.inria.fr/
Comment: Deleted upstream data files of unclear licensing status for DFSG
repack.
@@ -11,17 +11,13 @@ Comment: Deleted upstream data files of unclear licensing status for DFSG
License: GPL-3+
Files: *
-Copyright: 2014-2021 Inria
+Copyright: 2014-2022 Inria
License: MIT
Files: src/common/include/gudhi/writing_persistence_to_file.h
Copyright: 2017 Swansea University
License: MIT
-Files: src/Cech_complex/include/gudhi/Miniball*
-Copyright: 1999-2013 Bernd Gärtner
-License: GPL-3+
-
Files: src/cmake/modules/FindEigen3.cmake
Copyright: 2006, 2007 Montel Laurent <montel@kde.org>
2008, 2009 Gael Guennebaud <g.gael@free.fr>
@@ -37,7 +33,7 @@ Copyright: 2015 Triskelion - HJ van Veen <info@mlwave.com>
License: MIT
Files: debian/*
-Copyright: 2016-2021 Gard Spreemann <gspr@nonempty.org>
+Copyright: 2016-2022 Gard Spreemann <gspr@nonempty.org>
License: GPL-3+
License: GPL-3+
diff --git a/debian/libgudhi-doc.doc-base b/debian/libgudhi-doc.doc-base
index f8175ee1..45906e52 100644
--- a/debian/libgudhi-doc.doc-base
+++ b/debian/libgudhi-doc.doc-base
@@ -4,5 +4,5 @@ Abstract: This Doxygen manual describes the GUDHI C++ API
Section: Science/Mathematics
Format: HTML
-Index: /usr/share/doc/libgudhi/html/index.html
-Files: /usr/share/doc/libgudhi/html/*.html
+Index: /usr/share/doc/libgudhi-dev/html/index.html
+Files: /usr/share/doc/libgudhi-dev/html/*.html
diff --git a/debian/libgudhi-doc.install b/debian/libgudhi-doc.install
index 10c33133..bac48320 100644
--- a/debian/libgudhi-doc.install
+++ b/debian/libgudhi-doc.install
@@ -1 +1 @@
-build/userversion/doc/html/* usr/share/doc/libgudhi/html/
+build/userversion/build/html/* usr/share/doc/libgudhi-dev/html/
diff --git a/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch b/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
index 6151ae79..af6b0afb 100644
--- a/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
+++ b/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
@@ -3,126 +3,57 @@ Date: Wed, 25 Sep 2019 15:12:45 +0200
Subject: Disable tests that use DFSG-deleted data files.
---
- src/Nerve_GIC/example/CMakeLists.txt | 5 ----
- src/Nerve_GIC/utilities/CMakeLists.txt | 8 ------
- src/Persistent_cohomology/example/CMakeLists.txt | 12 ---------
- src/Simplex_tree/example/CMakeLists.txt | 2 --
- src/python/CMakeLists.txt | 31 +-----------------------
- 5 files changed, 1 insertion(+), 57 deletions(-)
+ src/Nerve_GIC/example/CMakeLists.txt | 6 ------
+ src/Nerve_GIC/utilities/CMakeLists.txt | 7 -------
+ src/python/CMakeLists.txt | 3 ---
+ 3 files changed, 16 deletions(-)
diff --git a/src/Nerve_GIC/example/CMakeLists.txt b/src/Nerve_GIC/example/CMakeLists.txt
-index 4b0f467..110212d 100644
+index 9faf1f3..bbfa592 100644
--- a/src/Nerve_GIC/example/CMakeLists.txt
+++ b/src/Nerve_GIC/example/CMakeLists.txt
-@@ -12,14 +12,9 @@ if (NOT CGAL_VERSION VERSION_LESS 4.11.0)
+@@ -10,12 +10,6 @@ endif()
- # Copy files for not to pollute sources when testing
- file(COPY "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- file(COPY "${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- file(COPY "${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+ # Copy files for not to pollute sources when testing
+ file(COPY "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+-file(COPY "${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+-file(COPY "${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
- add_test(NAME Nerve_GIC_example_CoordGIC COMMAND $<TARGET_FILE:CoordGIC>
- "${CMAKE_CURRENT_BINARY_DIR}/tore3D_1307.off" "0")
-
-- add_test(NAME Nerve_GIC_example_FuncGIC COMMAND $<TARGET_FILE:FuncGIC>
-- "${CMAKE_CURRENT_BINARY_DIR}/lucky_cat.off"
-- "${CMAKE_CURRENT_BINARY_DIR}/lucky_cat_PCA1")
-
- endif (NOT CGAL_VERSION VERSION_LESS 4.11.0)
+ add_test(NAME Nerve_GIC_example_CoordGIC COMMAND $<TARGET_FILE:CoordGIC>
+ "${CMAKE_CURRENT_BINARY_DIR}/tore3D_1307.off" "0")
+-
+-add_test(NAME Nerve_GIC_example_FuncGIC COMMAND $<TARGET_FILE:FuncGIC>
+- "${CMAKE_CURRENT_BINARY_DIR}/lucky_cat.off"
+- "${CMAKE_CURRENT_BINARY_DIR}/lucky_cat_PCA1")
diff --git a/src/Nerve_GIC/utilities/CMakeLists.txt b/src/Nerve_GIC/utilities/CMakeLists.txt
-index 65a08d9..3f16db9 100644
+index 4521a99..e28973f 100644
--- a/src/Nerve_GIC/utilities/CMakeLists.txt
+++ b/src/Nerve_GIC/utilities/CMakeLists.txt
-@@ -11,14 +11,6 @@ if (NOT CGAL_VERSION VERSION_LESS 4.11.0)
- endif()
+@@ -10,13 +10,6 @@ endif()
- file(COPY KeplerMapperVisuFromTxtFile.py km.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- # Copy files for not to pollute sources when testing
-- file(COPY "${CMAKE_SOURCE_DIR}/data/points/human.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+ file(COPY KeplerMapperVisuFromTxtFile.py km.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+ # Copy files for not to pollute sources when testing
+-file(COPY "${CMAKE_SOURCE_DIR}/data/points/human.off" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-
-- add_test(NAME Nerve_GIC_utilities_nerve COMMAND $<TARGET_FILE:Nerve>
-- "human.off" "2" "10" "0.3")
--
-- add_test(NAME Nerve_GIC_utilities_VoronoiGIC COMMAND $<TARGET_FILE:VoronoiGIC>
-- "human.off" "100")
-
- install(TARGETS Nerve DESTINATION bin)
- install(TARGETS VoronoiGIC DESTINATION bin)
-diff --git a/src/Persistent_cohomology/example/CMakeLists.txt b/src/Persistent_cohomology/example/CMakeLists.txt
-index c68c652..9a15a89 100644
---- a/src/Persistent_cohomology/example/CMakeLists.txt
-+++ b/src/Persistent_cohomology/example/CMakeLists.txt
-@@ -33,18 +33,6 @@ if(TARGET Boost::program_options)
- "${CMAKE_SOURCE_DIR}/data/points/Kl.off" "-r" "0.16" "-d" "3" "-p" "3" "-m" "100")
- endif()
-
--if(TARGET Boost::program_options)
-- add_executable(persistence_from_file persistence_from_file.cpp)
-- target_link_libraries(persistence_from_file Boost::program_options)
-- if (TBB_FOUND)
-- target_link_libraries(persistence_from_file ${TBB_LIBRARIES})
-- endif()
-- add_test(NAME Persistent_cohomology_example_from_file_3_2_0 COMMAND $<TARGET_FILE:persistence_from_file>
-- "${CMAKE_SOURCE_DIR}/data/filtered_simplicial_complex/bunny_5000_complex.fsc" "-p" "2" "-m" "0")
-- add_test(NAME Persistent_cohomology_example_from_file_3_3_100 COMMAND $<TARGET_FILE:persistence_from_file>
-- "${CMAKE_SOURCE_DIR}/data/filtered_simplicial_complex/bunny_5000_complex.fsc" "-p" "3" "-m" "100")
--endif()
+-add_test(NAME Nerve_GIC_utilities_nerve COMMAND $<TARGET_FILE:Nerve>
+- "human.off" "2" "10" "0.3")
-
- if(GMP_FOUND)
- if(GMPXX_FOUND)
- if(TARGET Boost::program_options)
-diff --git a/src/Simplex_tree/example/CMakeLists.txt b/src/Simplex_tree/example/CMakeLists.txt
-index 73b2c6f..a6dd0b1 100644
---- a/src/Simplex_tree/example/CMakeLists.txt
-+++ b/src/Simplex_tree/example/CMakeLists.txt
-@@ -28,8 +28,6 @@ if(GMP_FOUND AND NOT CGAL_VERSION VERSION_LESS 4.11.0)
- if (TBB_FOUND)
- target_link_libraries(Simplex_tree_example_alpha_shapes_3_from_off ${TBB_LIBRARIES})
- endif()
-- add_test(NAME Simplex_tree_example_alpha_shapes_3_from_off COMMAND $<TARGET_FILE:Simplex_tree_example_alpha_shapes_3_from_off>
-- "${CMAKE_SOURCE_DIR}/data/points/bunny_5000.off")
-
- endif()
+-add_test(NAME Nerve_GIC_utilities_VoronoiGIC COMMAND $<TARGET_FILE:VoronoiGIC>
+- "human.off" "100")
+ install(TARGETS Nerve DESTINATION bin)
+ install(TARGETS VoronoiGIC DESTINATION bin)
diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
-index 5c1402a..a45e13a 100644
+index 39e2acd..b3f2268 100644
--- a/src/python/CMakeLists.txt
+++ b/src/python/CMakeLists.txt
-@@ -386,36 +386,7 @@ if(PYTHONINTERP_FOUND)
- add_gudhi_py_test(test_bottleneck_distance)
- endif()
-
-- # Cover complex
-- file(COPY ${CMAKE_SOURCE_DIR}/data/points/human.off DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat.off DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
-- add_test(NAME cover_complex_nerve_example_py_test
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-- ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/nerve_of_a_covering.py"
-- -f human.off -c 2 -r 10 -g 0.3)
--
-- add_test(NAME cover_complex_coordinate_gic_example_py_test
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-- ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/coordinate_graph_induced_complex.py"
-- -f human.off -c 0 -v)
--
-- add_test(NAME cover_complex_functional_gic_example_py_test
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-- ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/functional_graph_induced_complex.py"
-- -o lucky_cat.off
-- -f lucky_cat_PCA1 -v)
--
-- add_test(NAME cover_complex_voronoi_gic_example_py_test
-- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}"
-- ${PYTHON_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/example/voronoi_graph_induced_complex.py"
-- -f human.off -n 700 -v)
--
-- add_gudhi_py_test(test_cover_complex)
-+
+@@ -435,9 +435,6 @@ if(PYTHONINTERP_FOUND)
endif (NOT CGAL_VERSION VERSION_LESS 4.11.0)
- if (NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.11.0)
+ # Cover complex
+- file(COPY ${CMAKE_SOURCE_DIR}/data/points/human.off DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+- file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat.off DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+- file(COPY ${CMAKE_SOURCE_DIR}/data/points/COIL_database/lucky_cat_PCA1 DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/)
+ add_test(NAME cover_complex_nerve_example_py_test
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMAND ${CMAKE_COMMAND} -E env "${GUDHI_PYTHON_PATH_ENV}"
diff --git a/debian/patches/0002-Use-system-MathJax.patch b/debian/patches/0002-Use-system-MathJax.patch
index 2985548e..e5c328ee 100644
--- a/debian/patches/0002-Use-system-MathJax.patch
+++ b/debian/patches/0002-Use-system-MathJax.patch
@@ -7,14 +7,14 @@ Subject: Use system MathJax.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Doxyfile.in b/src/Doxyfile.in
-index 49e781b..52b8cbe 100644
+index d5664a4..093aaa5 100644
--- a/src/Doxyfile.in
+++ b/src/Doxyfile.in
-@@ -1441,7 +1441,7 @@ MATHJAX_FORMAT = HTML-CSS
+@@ -1499,7 +1499,7 @@ MATHJAX_FORMAT = HTML-CSS
# The default value is: http://cdn.mathjax.org/mathjax/latest.
# This tag requires that the tag USE_MATHJAX is set to YES.
--MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2
+-MATHJAX_RELPATH =
+MATHJAX_RELPATH = /usr/share/javascript/mathjax
# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax
diff --git a/debian/patches/0004-Offline-header-for-docs.patch b/debian/patches/0003-Offline-header-for-docs.patch
index b6dba1ab..91cad23d 100644
--- a/debian/patches/0004-Offline-header-for-docs.patch
+++ b/debian/patches/0003-Offline-header-for-docs.patch
@@ -7,15 +7,15 @@ Subject: Offline header for docs.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Doxyfile.in b/src/Doxyfile.in
-index 52b8cbe..f516ef7 100644
+index 093aaa5..152041e 100644
--- a/src/Doxyfile.in
+++ b/src/Doxyfile.in
-@@ -1046,7 +1046,7 @@ HTML_FILE_EXTENSION = .html
+@@ -1095,7 +1095,7 @@ HTML_FILE_EXTENSION = .html
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
--HTML_HEADER = doc/common/header.html
-+HTML_HEADER = doc/common/offline_header.html
+-HTML_HEADER = @GUDHI_DOXYGEN_COMMON_DOC_PATH@/header.html
++HTML_HEADER = @GUDHI_DOXYGEN_COMMON_DOC_PATH@/offline_header.html
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
diff --git a/debian/patches/0004-Disable-Sphinx.patch b/debian/patches/0004-Disable-Sphinx.patch
new file mode 100644
index 00000000..9d22ec9d
--- /dev/null
+++ b/debian/patches/0004-Disable-Sphinx.patch
@@ -0,0 +1,37 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Tue, 21 Jan 2020 10:36:48 +0100
+Subject: Disable Sphinx.
+
+---
+ src/cmake/modules/GUDHI_third_party_libraries.cmake | 12 ------------
+ 1 file changed, 12 deletions(-)
+
+diff --git a/src/cmake/modules/GUDHI_third_party_libraries.cmake b/src/cmake/modules/GUDHI_third_party_libraries.cmake
+index 2cf6787..e36e22b 100644
+--- a/src/cmake/modules/GUDHI_third_party_libraries.cmake
++++ b/src/cmake/modules/GUDHI_third_party_libraries.cmake
+@@ -151,7 +151,6 @@ if (WITH_GUDHI_PYTHON)
+ find_python_module("matplotlib")
+ find_python_module("numpy")
+ find_python_module("scipy")
+- find_python_module("sphinx")
+ find_python_module("sklearn")
+ find_python_module("ot")
+ find_python_module("pybind11")
+@@ -171,16 +170,5 @@ if (WITH_GUDHI_PYTHON)
+ option(WITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS "Build with setting runtime_library_dirs. Useful when setting rpath is not allowed" ON)
+
+ if(PYTHONINTERP_FOUND AND CYTHON_FOUND)
+- if(SPHINX_FOUND)
+- # Documentation generation is available through sphinx
+- find_program( SPHINX_PATH sphinx-build )
+-
+- if(NOT SPHINX_PATH)
+- if(PYTHON_VERSION_MAJOR EQUAL 3)
+- # In Python3, just hack sphinx-build if it does not exist
+- set(SPHINX_PATH "${PYTHON_EXECUTABLE}" "-m" "sphinx.cmd.build")
+- endif(PYTHON_VERSION_MAJOR EQUAL 3)
+- endif(NOT SPHINX_PATH)
+- endif(SPHINX_FOUND)
+ endif(PYTHONINTERP_FOUND AND CYTHON_FOUND)
+ endif (WITH_GUDHI_PYTHON)
diff --git a/debian/patches/0005-Disable-Sphinx.patch b/debian/patches/0005-Disable-Sphinx.patch
deleted file mode 100644
index 2aee22ff..00000000
--- a/debian/patches/0005-Disable-Sphinx.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From: Gard Spreemann <gspr@nonempty.org>
-Date: Tue, 21 Jan 2020 10:36:48 +0100
-Subject: Disable Sphinx.
-
----
- src/cmake/modules/GUDHI_third_party_libraries.cmake | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/cmake/modules/GUDHI_third_party_libraries.cmake b/src/cmake/modules/GUDHI_third_party_libraries.cmake
-index e156687..aa1c4bb 100644
---- a/src/cmake/modules/GUDHI_third_party_libraries.cmake
-+++ b/src/cmake/modules/GUDHI_third_party_libraries.cmake
-@@ -147,7 +147,6 @@ if( PYTHONINTERP_FOUND )
- find_python_module("matplotlib")
- find_python_module("numpy")
- find_python_module("scipy")
-- find_python_module("sphinx")
- find_python_module("sklearn")
- find_python_module("ot")
- find_python_module("pybind11")
diff --git a/debian/patches/0005-Support-Hera-1.0.patch b/debian/patches/0005-Support-Hera-1.0.patch
new file mode 100644
index 00000000..de783cb4
--- /dev/null
+++ b/debian/patches/0005-Support-Hera-1.0.patch
@@ -0,0 +1,66 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Fri, 20 Jan 2023 17:02:04 +0100
+Subject: Support Hera 1.0
+
+Upstream GUDHI now expects Hera's headers to be organized as in Hera
+2.0. This patch restores the old behavior until Hera 2.0 is available
+in Debian.
+---
+ src/Nerve_GIC/include/gudhi/GIC.h | 4 ++--
+ src/cmake/modules/GUDHI_submodules.cmake | 2 +-
+ src/python/gudhi/hera/bottleneck.cc | 2 +-
+ src/python/gudhi/hera/wasserstein.cc | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/Nerve_GIC/include/gudhi/GIC.h b/src/Nerve_GIC/include/gudhi/GIC.h
+index 047fba6..560f7d6 100644
+--- a/src/Nerve_GIC/include/gudhi/GIC.h
++++ b/src/Nerve_GIC/include/gudhi/GIC.h
+@@ -20,9 +20,9 @@
+ #if __has_include(<CGAL/version.h>)
+ # define GUDHI_GIC_USE_CGAL 1
+ # include <gudhi/Bottleneck.h>
+-#elif __has_include(<hera/bottleneck.h>)
++#elif __has_include(<bottleneck.h>)
+ # define GUDHI_GIC_USE_HERA 1
+-# include <hera/bottleneck.h>
++# include <bottleneck.h>
+ #endif
+
+ #include <gudhi/Debug_utils.h>
+diff --git a/src/cmake/modules/GUDHI_submodules.cmake b/src/cmake/modules/GUDHI_submodules.cmake
+index 9ede852..cec9390 100644
+--- a/src/cmake/modules/GUDHI_submodules.cmake
++++ b/src/cmake/modules/GUDHI_submodules.cmake
+@@ -2,4 +2,4 @@
+ set(HERA_INTERNAL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/ext/hera/include)
+ set(HERA_INCLUDE_DIR ${HERA_INTERNAL_INCLUDE_DIR} CACHE PATH "Directory where one can find hera/{wasserstein.h,bottleneck.h}")
+ # since everything is cleanly under include/hera/, there is no harm always including it
+-include_directories(${HERA_INCLUDE_DIR})
++include_directories(${HERA_INCLUDE_DIR}/bottleneck ${HERA_INCLUDE_DIR}/wasserstein)
+diff --git a/src/python/gudhi/hera/bottleneck.cc b/src/python/gudhi/hera/bottleneck.cc
+index ec461f7..0cb562c 100644
+--- a/src/python/gudhi/hera/bottleneck.cc
++++ b/src/python/gudhi/hera/bottleneck.cc
+@@ -16,7 +16,7 @@
+ using py::ssize_t;
+ #endif
+
+-#include <hera/bottleneck.h> // Hera
++#include <bottleneck.h> // Hera
+
+ double bottleneck_distance(Dgm d1, Dgm d2, double delta)
+ {
+diff --git a/src/python/gudhi/hera/wasserstein.cc b/src/python/gudhi/hera/wasserstein.cc
+index 3516352..e1bb1d7 100644
+--- a/src/python/gudhi/hera/wasserstein.cc
++++ b/src/python/gudhi/hera/wasserstein.cc
+@@ -16,7 +16,7 @@
+ using py::ssize_t;
+ #endif
+
+-#include <hera/wasserstein.h> // Hera
++#include <wasserstein.h> // Hera
+
+ double wasserstein_distance(
+ Dgm d1, Dgm d2,
diff --git a/debian/patches/0006-Install-Python-module-in-correct-location.patch b/debian/patches/0006-Install-Python-module-in-correct-location.patch
deleted file mode 100644
index a395cdd8..00000000
--- a/debian/patches/0006-Install-Python-module-in-correct-location.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Gard Spreemann <gspr@nonempty.org>
-Date: Thu, 26 Sep 2019 13:26:22 +0200
-Subject: Install Python module in correct location.
-
----
- src/python/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
-index a45e13a..4d56f58 100644
---- a/src/python/CMakeLists.txt
-+++ b/src/python/CMakeLists.txt
-@@ -274,7 +274,7 @@ if(PYTHONINTERP_FOUND)
- add_custom_target(python ALL DEPENDS gudhi.so
- COMMENT "Do not forget to add ${CMAKE_CURRENT_BINARY_DIR}/ to your PYTHONPATH before using examples or tests")
-
-- install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/setup.py install)")
-+ install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install --root=${CMAKE_SOURCE_DIR}/debian/tmp --single-version-externally-managed --install-layout=deb WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
-
- # Documentation generation is available through sphinx - requires all modules
- # Make it first as sphinx test is by far the longest test which is nice when testing in parallel
diff --git a/debian/patches/0007-Move-towards-reproducible-builds.patch b/debian/patches/0007-Move-towards-reproducible-builds.patch
deleted file mode 100644
index 7d6ae95d..00000000
--- a/debian/patches/0007-Move-towards-reproducible-builds.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Gard Spreemann <gspr@nonempty.org>
-Date: Tue, 21 Jan 2020 10:39:23 +0100
-Subject: Move towards reproducible builds.
-
-This does not take us all the way there, and probably breaks doctest,
-but since we're not doing Sphinx stuff yet anyway, that is ok for now.
----
- src/python/gudhi/__init__.py.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/python/gudhi/__init__.py.in b/src/python/gudhi/__init__.py.in
-index 3043201..ef6389e 100644
---- a/src/python/gudhi/__init__.py.in
-+++ b/src/python/gudhi/__init__.py.in
-@@ -15,7 +15,7 @@ __copyright__ = "Copyright (C) 2016 Inria"
- __license__ = "https://gudhi.inria.fr/licensing/"
- __version__ = "@GUDHI_VERSION@"
- # This variable is used by doctest to find files
--__root_source_dir__ = "@CMAKE_SOURCE_DIR@"
-+__root_source_dir__ = "."
- __debug_info__ = @GUDHI_PYTHON_DEBUG_INFO@
-
- __all__ = [@GUDHI_PYTHON_MODULES@ @GUDHI_PYTHON_MODULES_EXTRA@]
diff --git a/debian/patches/series b/debian/patches/series
index 8479e6fb..0019c6f4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,5 @@
0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
0002-Use-system-MathJax.patch
-0004-Offline-header-for-docs.patch
-0005-Disable-Sphinx.patch
-0006-Install-Python-module-in-correct-location.patch
-0007-Move-towards-reproducible-builds.patch
+0003-Offline-header-for-docs.patch
+0004-Disable-Sphinx.patch
+0005-Support-Hera-1.0.patch
diff --git a/debian/rules b/debian/rules
index 7e1c8813..68ffd546 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,8 +7,6 @@ LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
TMPBIN:=debian/tmp/usr/bin
-HERA_FLAGS:=-DHERA_BOTTLENECK_INCLUDE_DIR=/usr/include/hera/bottleneck -DHERA_WASSERSTEIN_INCLUDE_DIR=/usr/include/hera/wasserstein
-
PY3VERS:=$(shell py3versions -vs)
DHFLAGS+=--buildsystem=cmake
@@ -38,27 +36,29 @@ endif
dh $@ $(DHFLAGS) --with=python3
execute_before_dh_auto_configure:
- dh_auto_configure $(DHFLAGS) --builddirectory=build -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=false -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DUSER_VERSION_DIR=userversion $(HERA_FLAGS)
+ dh_auto_configure $(DHFLAGS) --builddirectory=build -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=false -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DWITH_GUDHI_REMOTE_TEST=false -DUSER_VERSION_DIR=userversion -DHERA_INCLUDE_DIR=/usr/include/hera
make -C build user_version
for py3ver in $(PY3VERS) ; do \
- dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false $(HERA_FLAGS) ; \
+ dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DWITH_GUDHI_REMOTE_TEST=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_INCLUDE_DIR=/usr/include/hera ; \
make -C build-py$$py3ver user_version ; \
done
override_dh_auto_configure:
- dh_auto_configure $(DHFLAGS) --builddirectory=build/userversion -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=false -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true $(HERA_FLAGS)
+ dh_auto_configure $(DHFLAGS) --sourcedir=build/userversion --builddirectory=build/userversion/build -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=false -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true -DWITH_GUDHI_REMOTE_TEST=false -DHERA_INCLUDE_DIR=/usr/include/hera
for py3ver in $(PY3VERS) ; do \
- dh_auto_configure $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false $(HERA_FLAGS) ; \
+ dh_auto_configure $(DHFLAGS) --sourcedir=build-py$$py3ver/userversion --builddirectory=build-py$$py3ver/userversion/build -- -DWITH_GUDHI_BENCHMARK=false -DWITH_GUDHI_EXAMPLE=false -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=false -DWITH_GUDHI_REMOTE_TEST=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false -DHERA_INCLUDE_DIR=/usr/include/hera ; \
done
override_dh_auto_build-arch:
- dh_auto_build $(DHFLAGS) --builddirectory=build/userversion
+ dh_auto_build $(DHFLAGS) --sourcedir=build/userversion --builddirectory=build/userversion/build
for py3ver in $(PY3VERS) ; do \
- dh_auto_build $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \
+ cd build-py$$py3ver/userversion/build/python ; \
+ /usr/bin/python$$py3ver setup.py build ; \
done
override_dh_auto_build-indep:
- make -C build doxygen
+ cd build/userversion/build ; \
+ make doxygen
override_dh_auto_test-indep:
@@ -66,18 +66,16 @@ override_dh_auto_test-arch:
# I believe this should be handled automatically by dh_auto_test,
# but see #901678.
ifeq (, $(filter nocheck,$(DEB_BUILD_MAINT_OPTIONS)))
- dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build/userversion
- for py3ver in $(PY3VERS) ; do \
- dh_auto_test $(DHFLAGS) --no-parallel --builddirectory=build-py$$py3ver/userversion ; \
- done
+ dh_auto_test $(DHFLAGS) --no-parallel --sourcedir=build/userversion --builddirectory=build/userversion/build
else
@echo "Skipping tests due to nocheck flag."
endif
override_dh_auto_install-arch:
- dh_auto_install $(DHFLAGS) --builddirectory=build/userversion
+ dh_auto_install $(DHFLAGS) --sourcedir=build/userversion --builddirectory=build/userversion/build
for py3ver in $(PY3VERS) ; do \
- dh_auto_install $(DHFLAGS) --builddirectory=build-py$$py3ver/userversion ; \
+ cd build-py$$py3ver/userversion/build/python ; \
+ /usr/bin/python$$py3ver setup.py install --root=../../../../debian/tmp --single-version-externally-managed --install-layout=deb ; \
done
mv $(TMPBIN)/Nerve \
@@ -120,10 +118,6 @@ override_dh_auto_install-arch:
override_dh_auto_install-indep:
find src -type f -path '*/example/*' \( -name '*.cpp' -o \( -name '*.txt' -a ! -iname 'cmake*' \) \) -exec sh -c 'name=$$(echo $$0 | sed s/src\\/// | sed s/example\\///); install -D -m 644 $$0 debian/tmp/usr/share/doc/libgudhi-examples/$$name' {} \;
- # Remove installed information about Miniball header.
- rm build/userversion/include/gudhi/Miniball.COPYRIGHT
- rm build/userversion/include/gudhi/Miniball.README
-
override_dh_compress:
dh_compress -X.cpp
@@ -135,6 +129,11 @@ override_dh_missing:
override_dh_python3:
for py3ver in $(PY3VERS) ; do \
- dh_python3 -O--builddirectory=build-py$$py3ver/userversion ; \
+ dh_python3 -O--sourcedir=build-py$$py3ver/userversion ; \
done
+execute_before_dh_auto_clean:
+ rm -rf build
+ for py3ver in $(PY3VERS) ; do \
+ rm -rf build-py$$py3ver ; \
+ done
diff --git a/debian/tests/upstream.py b/debian/tests/upstream.py
index 51265ec0..defa2da5 100644
--- a/debian/tests/upstream.py
+++ b/debian/tests/upstream.py
@@ -4,14 +4,15 @@ import pytest
blacklist = ["test_knn.py", # Requires pykeops
"test_representations.py", # Look into this
- "test_tomato.py", # Wants to use X.
- "test_wasserstein_distance.py::test_wasserstein_distance_grad" # Requires PyTorch.
+ "test_wasserstein_distance.py::test_wasserstein_distance_grad", # Requires PyTorch.
+ "test_remote_datasets.py" # Requires Internet access, and downloads DFSG-dubious data.
]
print("Blacklist: %s" %(str(blacklist)))
# These should be completely ignored, not even loaded (their imports fail).
-ignorelist = ["test_dtm.py", # Requires hnswlib.
+ignorelist = ["test_diff.py", # Requires TF.
+ "test_dtm.py", # Requires hnswlib.
"test_wasserstein_with_tensors.py" # Requires PyTorch and TF
]
diff --git a/debian/watch b/debian/watch
index 2948a0c6..d9930f3f 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,6 +1,7 @@
version=4
opts=filenamemangle=s/.+\/gudhi-release-?(\d\S+)\.tar\.gz/gudhi-$1\.tar\.gz/,\
dversionmangle=s/\+dfsg(\.\d+)?$//,\
- uversionmangle=s/.?(RC|rc)/~rc/ \
- https://github.com/GUDHI/gudhi-devel/releases .*/archive/tags/gudhi-release-(\d\S+)\.tar\.gz
-
+ uversionmangle=s/.?(RC|rc)/~rc/,\
+ repacksuffix=+dfsg \
+ https://github.com/GUDHI/gudhi-devel/tags \
+ (?:.*?/)gudhi-release-?(\d[\d.]*)\.tar\.gz