diff options
24 files changed, 668 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000..c1d7235d --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +gudhi (2.1.0+dfsg-1) unstable; urgency=medium + + * Initial packaging. (Closes: #840686) + + -- Gard Spreemann <gspreemann@gmail.com> Sat, 10 Mar 2018 23:52:14 +0100
\ No newline at end of file diff --git a/debian/clean b/debian/clean new file mode 100644 index 00000000..1258531f --- /dev/null +++ b/debian/clean @@ -0,0 +1,2 @@ +GUDHIVersion.cmake +doc/html/ diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000..b4de3947 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000..57830f67 --- /dev/null +++ b/debian/control @@ -0,0 +1,133 @@ +Source: gudhi +Maintainer: Gard Spreemann <gspreemann@gmail.com> +Section: math +Priority: optional +Standards-Version: 4.1.3 +Build-Depends: cmake (>= 2.6), + cython3, + debhelper (>= 11), + dh-python, + libboost-chrono-dev (>= 1.48), + libboost-filesystem-dev (>= 1.48), + libboost-program-options-dev (>= 1.48), + libboost-system-dev (>= 1.48), + libboost-test-dev (>= 1.48), + libboost-timer-dev (>= 1.48), + libcgal-dev (>= 4.8.1), + libcgal-qt5-dev (>= 4.8.1), + libeigen3-dev (>= 3.1.0), + libgmp-dev (>= 4.2), + libqglviewer-dev-qt5, + libtbb-dev, + python3-dev, + python3-matplotlib, + python3-pytest, + python3-tk, + qtbase5-dev +Build-Depends-Indep: doxygen, + graphviz +Homepage: http://gudhi.gforge.inria.fr/ +Vcs-Browser: https://git.nonempty.org/debian-gudhi +Vcs-Git: https://git.nonempty.org/debian-gudhi -b debian/sid + +Package: libgudhi-dev +Section: libdevel +Architecture: all +Multi-Arch: foreign +Depends: libboost-chrono-dev (>= 1.48), + libboost-filesystem-dev (>= 1.48), + libboost-program-options-dev (>= 1.48), + libboost-system-dev (>= 1.48), + libboost-test-dev (>= 1.48), + libboost-timer-dev (>= 1.48), + libcgal-dev (>= 4.8.1), + libeigen3-dev (>= 3.1.0), + libgmp-dev (>= 4.2), + libtbb-dev, + ${misc:Depends} +Suggests: libgudhi-doc, libgudhi-examples +Description: Generic open source C++ library for topological data analysis + The GUDHI library is a generic open source C++ library for + Topological Data Analysis (TDA) and Higher Dimensional Geometry + Understanding. The library offers state-of-the-art data structures + and algorithms to construct simplicial complexes and compute + persistent homology. + . + The GUDHI library is developed as part of the GUDHI project supported + by the European Research Council. + . + This package contains the header files. See the libgudhi-examples + package for example programs using the library. + +Package: libgudhi-examples +Section: misc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Recommends: libgudhi-dev, libgudhi-doc +Description: Example programs for the GUDHI library + The GUDHI library is a generic open source C++ library for + Topological Data Analysis (TDA) and Higher Dimensional Geometry + Understanding. The library offers state-of-the-art data structures + and algorithms to construct simplicial complexes and compute + persistent homology. + . + The GUDHI library is developed as part of the GUDHI project supported + by the European Research Council. + . + This package contains some source code examples. + +Package: libgudhi-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: libjs-mathjax, ${misc:Depends} +Description: Documentation for the GUDHI library for topological data analysis + The GUDHI library is a generic open source C++ library for + Topological Data Analysis (TDA) and Higher Dimensional Geometry + Understanding. The library offers state-of-the-art data structures + and algorithms to construct simplicial complexes and compute + persistent homology. + . + The GUDHI library is developed as part of the GUDHI project supported + by the European Research Council. + . + This package contains documentation for the package. + +Package: python3-gudhi +Section: python +Architecture: any +Multi-Arch: same +Depends: python3-matplotlib, + python3-tk, + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends} +Description: Python 3 interface to the GUDHI library for topological data analysis + The GUDHI library is a generic open source C++ library for + Topological Data Analysis (TDA) and Higher Dimensional Geometry + Understanding. The library offers state-of-the-art data structures + and algorithms to construct simplicial complexes and compute + persistent homology. + . + The GUDHI library is developed as part of the GUDHI project supported + by the European Research Council. + . + This package contains GUDHI's Python (3) interface. + +Package: gudhui +Section: math +Architecture: any +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: GUI for some of the functionality of the GUDHI library + The GUDHI library is a generic open source C++ library for + Topological Data Analysis (TDA) and Higher Dimensional Geometry + Understanding. The library offers state-of-the-art data structures + and algorithms to construct simplicial complexes and compute + persistent homology. + . + The GUDHI library is developed as part of the GUDHI project supported + by the European Research Council. + . + This package contains GudhUI, a graphical interface to a few of GUDHI's + features. Be aware that it is quite rough around the edges. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000..cfd9e334 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,144 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: gudhi +Files-Excluded: GudhUI/utils/homsimpl data/filtered_simplicial_complex/bunny_5000_complex.fsc data/points/COIL_database data/points/SO3* data/points/bunny* doc/common/MathJax.* +Source: http://gudhi.gforge.inria.fr + Deleted unnecessary precompiled binary and upstream data files of unclear licensing status. Deleted also bundled MathJax. + +Files: * +Copyright: 2014-2017 Inria Sophia Antipolis - Méditerranée + 2014-2017 Inria Saclay - Île-de-France + 2014-2017 Université Nice Sophia Antipolis +License: GPL-3.0+ + +Files: cmake/modules/FindEigen3.cmake +Copyright: 2006, 2007 Montel Laurent <montel@kde.org> + 2008, 2009 Gael Guennebaud <g.gael@free.fr> + 2009 Benoit Jacob <jacob.benoit.1@gmail.com> +License: BSD-2-clause + +Files: cmake/modules/FindTBB.cmake +Copyright: Hannes Hofmann +License: MIT + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + . + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + +Files: cmake/modules/FindCython.cmake +Copyright: 2011 Kitware, Inc. +License: Apache-2.0 + +Files: utilities/Nerve_GIC/km.py* +Copyright: 2015 Triskelion - HJ van Veen <info@mlwave.com> +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +Files: include/gudhi/Contraction/CGAL_queue/Modifiable_priority_queue.h +Copyright: 2006-2011 GeometryFactory +License: LPGL-3.0+ + This file is part of CGAL (www.cgal.org); you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + . + Licensees holding a valid commercial license may use this file in + accordance with the commercial license agreement provided with the software. + . + This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. + . + On Debian systems, the complete text of the GNU Lesser General Public + License version 3 can be found in "/usr/share/common-licenses/LGPL-3". + +Files: debian/* +Copyright: 2016-2018 Gard Spreemann <gspreemann@gmail.com> +License: GPL-3.0+ + +License: GPL-3.0+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY + WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache License version 2.0 + can be found in "/usr/share/common-licenses/Apache-2.0". diff --git a/debian/gudhui.install b/debian/gudhui.install new file mode 100644 index 00000000..9f140378 --- /dev/null +++ b/debian/gudhui.install @@ -0,0 +1 @@ +debian/tmp/usr/bin/gudhui diff --git a/debian/libgudhi-dev.docs b/debian/libgudhi-dev.docs new file mode 100644 index 00000000..3d523db3 --- /dev/null +++ b/debian/libgudhi-dev.docs @@ -0,0 +1 @@ +biblio diff --git a/debian/libgudhi-dev.install b/debian/libgudhi-dev.install new file mode 100644 index 00000000..3035131d --- /dev/null +++ b/debian/libgudhi-dev.install @@ -0,0 +1,2 @@ +debian/tmp/usr/include/gudhi/ usr/include/ +debian/tmp/usr/share/gudhi/*.cmake usr/lib/cmake/gudhi/ diff --git a/debian/libgudhi-doc.doc-base b/debian/libgudhi-doc.doc-base new file mode 100644 index 00000000..f8175ee1 --- /dev/null +++ b/debian/libgudhi-doc.doc-base @@ -0,0 +1,8 @@ +Document: libgudhi-doc +Title: GUDHI C++ library manual +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 diff --git a/debian/libgudhi-doc.install b/debian/libgudhi-doc.install new file mode 100644 index 00000000..ceccbc47 --- /dev/null +++ b/debian/libgudhi-doc.install @@ -0,0 +1 @@ +doc/html/* usr/share/doc/libgudhi/html/ diff --git a/debian/libgudhi-examples.docs b/debian/libgudhi-examples.docs new file mode 100644 index 00000000..253d5377 --- /dev/null +++ b/debian/libgudhi-examples.docs @@ -0,0 +1 @@ +debian/tmp/usr/share/doc/libgudhi-examples/* diff --git a/debian/patches/0001-Force-Python-3-detection-to-avoid-mixing-2-and-3.patch b/debian/patches/0001-Force-Python-3-detection-to-avoid-mixing-2-and-3.patch new file mode 100644 index 00000000..ba76ed11 --- /dev/null +++ b/debian/patches/0001-Force-Python-3-detection-to-avoid-mixing-2-and-3.patch @@ -0,0 +1,36 @@ +From 976e231e80eeb59c27f2389fb9ee70030c56cb44 Mon Sep 17 00:00:00 2001 +From: Gard Spreemann <gspreemann@gmail.com> +Date: Mon, 9 Oct 2017 11:46:06 +0200 +Subject: [PATCH 1/5] Force Python 3 detection to avoid mixing 2 and 3. + +--- + cmake/modules/FindCython.cmake | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/cmake/modules/FindCython.cmake b/cmake/modules/FindCython.cmake +index 04aed1f..f3a5b7b 100644 +--- a/cmake/modules/FindCython.cmake ++++ b/cmake/modules/FindCython.cmake +@@ -24,16 +24,16 @@ + + # Use the Cython executable that lives next to the Python executable + # if it is a local installation. +-find_package( PythonInterp ) ++find_package( PythonInterp 3 ) + if( PYTHONINTERP_FOUND ) + get_filename_component( _python_path ${PYTHON_EXECUTABLE} PATH ) + find_program( CYTHON_EXECUTABLE +- NAMES cython cython.bat cython3 ++ NAMES cython3 + HINTS ${_python_path} + ) + else() + find_program( CYTHON_EXECUTABLE +- NAMES cython cython.bat cython3 ++ NAMES cython3 + ) + endif() + +-- +2.11.0 + diff --git a/debian/patches/0002-Disable-the-Sphinx-test.-We-re-not-using-it-as-it-re.patch b/debian/patches/0002-Disable-the-Sphinx-test.-We-re-not-using-it-as-it-re.patch new file mode 100644 index 00000000..b532ab10 --- /dev/null +++ b/debian/patches/0002-Disable-the-Sphinx-test.-We-re-not-using-it-as-it-re.patch @@ -0,0 +1,32 @@ +From 598ac8ccc13024583e51f25559cbe7eaf059188e Mon Sep 17 00:00:00 2001 +From: Gard Spreemann <gspreemann@gmail.com> +Date: Mon, 9 Oct 2017 12:05:01 +0200 +Subject: [PATCH 2/5] Disable the Sphinx test. We're not using it, as it + requires the Sphinx bibtex module (#800358). + +--- + cython/CMakeLists.txt | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/cython/CMakeLists.txt b/cython/CMakeLists.txt +index afca9d6..ec3cb8f 100644 +--- a/cython/CMakeLists.txt ++++ b/cython/CMakeLists.txt +@@ -305,10 +305,10 @@ if(CYTHON_FOUND) + DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/gudhi.so" + COMMENT "${GUDHI_SPHINX_MESSAGE}" VERBATIM) + +- add_test(NAME sphinx_py_test +- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} +- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}" +- ${SPHINX_PATH} -b doctest ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/doctest) ++# add_test(NAME sphinx_py_test ++# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} ++# COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CMAKE_CURRENT_BINARY_DIR}" ++# ${SPHINX_PATH} -b doctest ${CMAKE_CURRENT_SOURCE_DIR}/doc ${CMAKE_CURRENT_BINARY_DIR}/doctest) + + endif(SPHINX_PATH AND NOT CGAL_WITH_EIGEN3_VERSION VERSION_LESS 4.8.1) + endif(CYTHON_FOUND) +-- +2.11.0 + diff --git a/debian/patches/0003-Disable-tests-that-use-DFSG-deleted-data-files.patch b/debian/patches/0003-Disable-tests-that-use-DFSG-deleted-data-files.patch new file mode 100644 index 00000000..54c13639 --- /dev/null +++ b/debian/patches/0003-Disable-tests-that-use-DFSG-deleted-data-files.patch @@ -0,0 +1,111 @@ +From 9218bee33900e1e203991607e038f029a2216c3c Mon Sep 17 00:00:00 2001 +From: Gard Spreemann <gspreemann@gmail.com> +Date: Mon, 5 Feb 2018 10:15:40 +0100 +Subject: [PATCH 3/5] Disable tests that use DFSG-deleted data files. + +--- + example/Nerve_GIC/CMakeLists.txt | 10 +++++----- + example/Persistent_cohomology/CMakeLists.txt | 8 ++++---- + example/Simplex_tree/CMakeLists.txt | 4 ++-- + example/common/CMakeLists.txt | 4 ++-- + utilities/Nerve_GIC/CMakeLists.txt | 10 +++++----- + 5 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/example/Nerve_GIC/CMakeLists.txt b/example/Nerve_GIC/CMakeLists.txt +index f262692..825974c 100644 +--- a/example/Nerve_GIC/CMakeLists.txt ++++ b/example/Nerve_GIC/CMakeLists.txt +@@ -13,14 +13,14 @@ if (NOT CGAL_VERSION VERSION_LESS 4.8.1) + + # 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}/) ++ #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> + "tore3D_1307.off" "0") + +- add_test(NAME Nerve_GIC_example_FuncGIC COMMAND $<TARGET_FILE:FuncGIC> +- "lucky_cat.off" +- "lucky_cat_PCA1") ++ #add_test(NAME Nerve_GIC_example_FuncGIC COMMAND $<TARGET_FILE:FuncGIC> ++ # "lucky_cat.off" ++ # "lucky_cat_PCA1") + + endif (NOT CGAL_VERSION VERSION_LESS 4.8.1) +diff --git a/example/Persistent_cohomology/CMakeLists.txt b/example/Persistent_cohomology/CMakeLists.txt +index 18e2913..e2dca6d 100644 +--- a/example/Persistent_cohomology/CMakeLists.txt ++++ b/example/Persistent_cohomology/CMakeLists.txt +@@ -29,10 +29,10 @@ add_test(NAME Persistent_cohomology_example_from_rips_step_by_step_on_tore_3D CO + "${CMAKE_SOURCE_DIR}/data/points/tore3D_1307.off" "-r" "0.25" "-m" "0.5" "-d" "3" "-p" "3") + add_test(NAME Persistent_cohomology_example_via_boundary_matrix COMMAND $<TARGET_FILE:rips_persistence_via_boundary_matrix> + "${CMAKE_SOURCE_DIR}/data/points/Kl.off" "-r" "0.16" "-d" "3" "-p" "3" "-m" "100") +-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") ++#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") + + install(TARGETS plain_homology DESTINATION bin) + install(TARGETS persistence_from_simple_simplex_tree DESTINATION bin) +diff --git a/example/Simplex_tree/CMakeLists.txt b/example/Simplex_tree/CMakeLists.txt +index b33b2d0..1cba524 100644 +--- a/example/Simplex_tree/CMakeLists.txt ++++ b/example/Simplex_tree/CMakeLists.txt +@@ -30,8 +30,8 @@ if(GMP_FOUND AND CGAL_FOUND) + 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") ++# 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") + + install(TARGETS Simplex_tree_example_alpha_shapes_3_from_off DESTINATION bin) + +diff --git a/example/common/CMakeLists.txt b/example/common/CMakeLists.txt +index afe865d..2ad4a64 100644 +--- a/example/common/CMakeLists.txt ++++ b/example/common/CMakeLists.txt +@@ -3,8 +3,8 @@ project(Common_examples) + + add_executable ( vector_double_off_reader example_vector_double_points_off_reader.cpp ) + target_link_libraries(vector_double_off_reader ${CGAL_LIBRARY}) +-add_test(NAME Common_example_vector_double_off_reader COMMAND $<TARGET_FILE:vector_double_off_reader> +- "${CMAKE_SOURCE_DIR}/data/points/SO3_10000.off") ++#add_test(NAME Common_example_vector_double_off_reader COMMAND $<TARGET_FILE:vector_double_off_reader> ++# "${CMAKE_SOURCE_DIR}/data/points/SO3_10000.off") + + install(TARGETS vector_double_off_reader DESTINATION bin) + +diff --git a/utilities/Nerve_GIC/CMakeLists.txt b/utilities/Nerve_GIC/CMakeLists.txt +index 7762c8a..c41898b 100644 +--- a/utilities/Nerve_GIC/CMakeLists.txt ++++ b/utilities/Nerve_GIC/CMakeLists.txt +@@ -13,12 +13,12 @@ if (NOT CGAL_VERSION VERSION_LESS 4.8.1) + + 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 "${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_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") ++ #add_test(NAME Nerve_GIC_utilities_VoronoiGIC COMMAND $<TARGET_FILE:VoronoiGIC> ++ # "human.off" "100") + + endif (NOT CGAL_VERSION VERSION_LESS 4.8.1) +-- +2.11.0 + diff --git a/debian/patches/0004-Use-system-MathJax.patch b/debian/patches/0004-Use-system-MathJax.patch new file mode 100644 index 00000000..98510981 --- /dev/null +++ b/debian/patches/0004-Use-system-MathJax.patch @@ -0,0 +1,25 @@ +From 1228db48dd680c1baf20fdd9b5b99665adf8f212 Mon Sep 17 00:00:00 2001 +From: Gard Spreemann <gspreemann@gmail.com> +Date: Mon, 9 Oct 2017 16:06:36 +0200 +Subject: [PATCH 4/5] Use system MathJax. + +--- + Doxyfile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Doxyfile b/Doxyfile +index f1981e2..991645b 100644 +--- a/Doxyfile ++++ b/Doxyfile +@@ -1453,7 +1453,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 = ../common ++MATHJAX_RELPATH = /usr/share/javascript/mathjax + + # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax + # extension names that should be enabled during MathJax rendering. For example +-- +2.11.0 + diff --git a/debian/patches/0005-Don-t-set-runtime_library_dirs-for-the-Python-extens.patch b/debian/patches/0005-Don-t-set-runtime_library_dirs-for-the-Python-extens.patch new file mode 100644 index 00000000..ace45b46 --- /dev/null +++ b/debian/patches/0005-Don-t-set-runtime_library_dirs-for-the-Python-extens.patch @@ -0,0 +1,26 @@ +From 8beaad20e6d61f9d2253ee1b679fe2feafff9bdc Mon Sep 17 00:00:00 2001 +From: Gard Spreemann <gspreemann@gmail.com> +Date: Mon, 16 Oct 2017 13:46:22 +0200 +Subject: [PATCH 5/5] Don't set runtime_library_dirs for the Python extension. + Avoid RPATH in the shared object. + +--- + cython/setup.py.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cython/setup.py.in b/cython/setup.py.in +index c767e93..d00f65a 100644 +--- a/cython/setup.py.in ++++ b/cython/setup.py.in +@@ -36,7 +36,7 @@ gudhi = Extension( + libraries=[@GUDHI_CYTHON_LIBRARIES@], + library_dirs=[@GUDHI_CYTHON_LIBRARY_DIRS@], + include_dirs = [@GUDHI_CYTHON_INCLUDE_DIRS@], +- runtime_library_dirs=[@GUDHI_CYTHON_RUNTIME_LIBRARY_DIRS@], ++ runtime_library_dirs=[], + ) + + setup( +-- +2.11.0 + diff --git a/debian/patches/no-external-doc-resources.patch b/debian/patches/no-external-doc-resources.patch new file mode 100644 index 00000000..df35669d --- /dev/null +++ b/debian/patches/no-external-doc-resources.patch @@ -0,0 +1,78 @@ +Remove external resource references from Doxygen header. Later upstream +versions will include an alternative header that does the job. +--- a/doc/common/header.html ++++ b/doc/common/header.html +@@ -8,8 +8,6 @@ + <meta name="generator" content="Doxygen $doxygenversion"/> + <!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME--> + <!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME--> +-<!-- GUDHI website css for header BEGIN --> +-<link rel="stylesheet" type="text/css" href="http://pages.saclay.inria.fr/vincent.rouvreau/gudhi/gudhi-doc-2.0.0/assets/css/styles_feeling_responsive.css" /> + <!-- GUDHI website css for header END --> + <link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/> + <script type="text/javascript" src="$relpath^jquery.js"></script> +@@ -22,64 +20,6 @@ + </head> + <body> + +-<!-- GUDHI website header BEGIN --> +-<div id="navigation" class="sticky"> +- <nav class="top-bar" role="navigation" data-topbar> +- <ul class="title-area"> +- <li class="name"> +- <h1 class="show-for-small-only"><a href="http://gudhi.gforge.inria.fr" class="icon-tree"> GUDHI C++ library</a></h1> +- </li> +- <!-- Remove the class "menu-icon" to get rid of menu icon. Take out "Menu" to just have icon alone --> +- <li class="toggle-topbar menu-icon"><a href="#"><span>Navigation</span></a></li> +- </ul> +- <section class="top-bar-section"> +- <ul class="right"> +- <li class="divider"></li> +- <li><a href="http://gudhi.gforge.inria.fr/contact/">Contact</a></li> +- </ul> +- <ul class="left"> +- <li><a href="http://gudhi.gforge.inria.fr/"> <img src="http://gudhi.gforge.inria.fr/assets/img/home.png" alt=" GUDHI"> GUDHI </a></li> +- <li class="divider"></li> +- <li class="has-dropdown"> +- <a href="#">Project</a> +- <ul class="dropdown"> +- <li><a href="http://gudhi.gforge.inria.fr/people/">People</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/keepintouch/">Keep in touch</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/partners/">Partners and Funding</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/relatedprojects/">Related projects</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/theyaretalkingaboutus/">They are talking about us</a></li> +- </ul> +- </li> +- <li class="divider"></li> +- <li class="has-dropdown"> +- <a href="#">Download</a> +- <ul class="dropdown"> +- <li><a href="http://gudhi.gforge.inria.fr/licensing/">Licensing</a></li> +- <li><a href="https://gforge.inria.fr/frs/?group_id=3865" target="_blank">Get the sources</a></li> +- <li><a href="https://gforge.inria.fr/frs/download.php/file/37113/GUDHI_2.0.0_OSX_UTILS.beta.tar.gz" target="_blank">Utils for Mac OSx</a></li> +- <li><a href="https://gforge.inria.fr/frs/download.php/file/37112/GUDHI_2.0.0_WIN64_UTILS.beta.zip" target="_blank">Utils for Win x64</a></li> +- </ul> +- </li> +- <li class="divider"></li> +- <li class="has-dropdown"> +- <a href="#">Documentation</a> +- <ul class="dropdown"> +- <li><a href="http://gudhi.gforge.inria.fr/doc/latest/">C++ documentation</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/doc/latest/installation.html">C++ installation manual</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/python/latest/">Python documentation</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/python/latest/installation.html">Python installation manual</a></li> +- <li><a href="http://gudhi.gforge.inria.fr/utils/">Utilities</a></li> +- <li><a href="http://bertrand.michel.perso.math.cnrs.fr/Enseignements/TDA-Gudhi-Python.html" target="_blank">Tutorial</a></li> +- </ul> +- </li> +- <li class="divider"></li> +- <li><a href="http://gudhi.gforge.inria.fr/interfaces/">Interfaces</a></li> +- <li class="divider"></li> +- </ul> +- </section> +- </nav> +-</div><!-- /#navigation --> +-<!-- GUDHI website header BEGIN --> + + <div id="top"><!-- do not remove this div, it is closed by doxygen! --> + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000..ca224839 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,6 @@ +0001-Force-Python-3-detection-to-avoid-mixing-2-and-3.patch +0002-Disable-the-Sphinx-test.-We-re-not-using-it-as-it-re.patch +0003-Disable-tests-that-use-DFSG-deleted-data-files.patch +0004-Use-system-MathJax.patch +0005-Don-t-set-runtime_library_dirs-for-the-Python-extens.patch +no-external-doc-resources.patch diff --git a/debian/python3-gudhi.install b/debian/python3-gudhi.install new file mode 100644 index 00000000..22b018bc --- /dev/null +++ b/debian/python3-gudhi.install @@ -0,0 +1 @@ +build/cython/gudhi*.so usr/lib/python3/dist-packages/ diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000..80e81857 --- /dev/null +++ b/debian/rules @@ -0,0 +1,27 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) +CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) +LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) + +%: +# The --buildirectory=build is there so that we can easily get a hold +# of documentation and examples, which are not installed by upstream. + dh $@ --with=python3 --builddirectory=build + +override_dh_auto_configure: + dh_auto_configure -- -DWITH_GUDHI_BENCHMARK=true -DWITH_GUDHI_EXAMPLE=true -DWITH_GUDHI_PYTHON=true -DWITH_GUDHI_TEST=true -DWITH_GUDHI_UTILITIES=true + +override_dh_auto_build-indep: + make -C build doxygen + dh_auto_build --builddirectory=build + +override_dh_auto_test: + dh_auto_test --no-parallel --builddirectory=build + +override_dh_auto_install: + find example -type f \( -name '*.cpp' -o \( -name '*.txt' -a ! -iname 'cmake*' \) \) -exec sh -c 'install -D -m 644 $$0 debian/tmp/usr/share/doc/libgudhi-examples/$$0' {} \; + install -D build/GudhUI/GudhUI debian/tmp/usr/bin/gudhui + dh_auto_install --builddirectory=build + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 00000000..49eabb3f --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,2 @@ +Tests: python-upstream +Depends: python3-gudhi, python3-pytest
\ No newline at end of file diff --git a/debian/tests/python-upstream b/debian/tests/python-upstream new file mode 100755 index 00000000..ed1c6027 --- /dev/null +++ b/debian/tests/python-upstream @@ -0,0 +1,19 @@ +#!/usr/bin/python3 -B + +import pytest +import os + +tmpdir = os.getenv("AUTOPKGTEST_TMP") + +if tmpdir is None: + print("Need the environment variable AUTOPKGTEST_TMP.") + exit(1) + +cwd = os.getcwd() +test_path = cwd + "/cython/test" + +os.chdir(tmpdir) + +print("Running tests from %s with cwd %s." %(test_path, os.getcwd())) + +exit(pytest.main([test_path])) diff --git a/debian/watch b/debian/watch new file mode 100644 index 00000000..d518384a --- /dev/null +++ b/debian/watch @@ -0,0 +1,5 @@ +version=3 + +opts="dversionmangle=s/\+dfsg(\.\d+)?$//,filenamemangle=s/\S+\/v?(\S+)\.tar\.gz/gudhi-$1\.tar\.gz/" \ + https://gforge.inria.fr/frs/?group_id=3865 \ + .*\/.*GUDHI_(\d[\d.-]*)\.tar\.gz |