diff options
Diffstat (limited to 'debian')
-rw-r--r-- | debian/changelog | 101 | ||||
-rw-r--r-- | debian/control | 34 | ||||
-rw-r--r-- | debian/copyright | 10 | ||||
-rw-r--r-- | debian/libgudhi-doc.doc-base | 4 | ||||
-rw-r--r-- | debian/libgudhi-doc.install | 2 | ||||
-rw-r--r-- | debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch | 141 | ||||
-rw-r--r-- | debian/patches/0002-Use-system-MathJax.patch | 6 | ||||
-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.patch | 37 | ||||
-rw-r--r-- | debian/patches/0005-Disable-Sphinx.patch | 20 | ||||
-rw-r--r-- | debian/patches/0005-Support-Hera-1.0.patch | 66 | ||||
-rw-r--r-- | debian/patches/0006-Install-Python-module-in-correct-location.patch | 21 | ||||
-rw-r--r-- | debian/patches/0007-Move-towards-reproducible-builds.patch | 23 | ||||
-rw-r--r-- | debian/patches/series | 7 | ||||
-rwxr-xr-x | debian/rules | 39 | ||||
-rw-r--r-- | debian/tests/upstream.py | 7 | ||||
-rw-r--r-- | debian/watch | 7 |
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 |