summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog313
-rw-r--r--debian/clean2
-rw-r--r--debian/control142
-rw-r--r--debian/copyright100
-rw-r--r--debian/gudhi-utils.118
-rw-r--r--debian/gudhi-utils.install1
-rw-r--r--debian/gudhui.112
-rw-r--r--debian/gudhui.install1
-rw-r--r--debian/gudhui.manpages1
-rw-r--r--debian/libgudhi-dev.docs1
-rw-r--r--debian/libgudhi-dev.install1
-rw-r--r--debian/libgudhi-doc.doc-base8
-rw-r--r--debian/libgudhi-doc.install1
-rw-r--r--debian/libgudhi-examples.docs1
-rw-r--r--debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch88
-rw-r--r--debian/patches/0002-Use-system-MathJax.patch21
-rw-r--r--debian/patches/0003-Offline-header-for-docs.patch21
-rw-r--r--debian/patches/0004-Disable-Sphinx.patch37
-rw-r--r--debian/patches/0005-Support-QGLViewer-2.7.patch26
-rw-r--r--debian/patches/series5
-rw-r--r--debian/python3-gudhi.install1
-rwxr-xr-xdebian/rules141
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control3
-rwxr-xr-xdebian/tests/python-upstream.sh20
-rw-r--r--debian/tests/upstream.py27
-rw-r--r--debian/watch7
27 files changed, 1000 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 00000000..1d4c5eb2
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,313 @@
+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)
+
+ -- Gard Spreemann <gspr@nonempty.org> Tue, 29 Dec 2020 11:00:12 +0100
+
+gudhi (3.4.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ - Disable new test that requires PyTorch and TensorFlow.
+ * Standards-version 4.5.1, no changes needed.
+ * Prevent some tests from even loading, as their imports fail.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 17 Dec 2020 14:50:12 +0100
+
+gudhi (3.3.0+dfsg-4) unstable; urgency=medium
+
+ * Enable EagerPy support. (Closes: #972686)
+ - Enable tests that require EagerPy.
+ * Tune GCC GC to help Ubuntu buildds not run out of memory on arm.
+ * Disable test that wants to use X.
+
+ -- Gard Spreemann <gspr@nonempty.org> Sun, 01 Nov 2020 14:20:00 +0100
+
+gudhi (3.3.0+dfsg-3) unstable; urgency=medium
+
+ * Fix binary-all FTBFS. (Closes: #972267)
+
+ -- Gard Spreemann <gspr@nonempty.org> Fri, 16 Oct 2020 11:11:36 +0200
+
+gudhi (3.3.0+dfsg-2) unstable; urgency=medium
+
+ * Treat all Python versions the same way during build.
+ * Fix broken build with multiple Python versions. (Closes: #972009)
+
+ -- Gard Spreemann <gspr@nonempty.org> Sun, 11 Oct 2020 17:23:10 +0200
+
+gudhi (3.3.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version.
+ * Drop patch for working around #963955 (bug closed in Qt).
+ * Build the exported "user version".
+ * Drop 0008-Don-t-try-to-install-Hera.patch, no longer needed.
+ * Install collapse utilities.
+ * Move git to Salsa.
+ * Tidy up Boost dependencies.
+
+ -- Gard Spreemann <gspr@nonempty.org> Tue, 11 Aug 2020 13:58:59 +0200
+
+gudhi (3.2.0+dfsg-4) unstable; urgency=medium
+
+ * Re-enable build-time tests on s390x, no longer failing.
+ * Simplify autopkgtesting.
+ * Demote matplotlib and POT to recommends for python3-gudhi.
+ * Demote libhera-dev to suggests for libgudhi-dev.
+
+ -- Gard Spreemann <gspr@nonempty.org> Fri, 10 Jul 2020 11:14:03 +0200
+
+gudhi (3.2.0+dfsg-3) unstable; urgency=medium
+
+ * Enable Wasserstein Python module. (Closes: #949475)
+ - Depend on python3-pot.
+ - Drop corresponding patch.
+ - Don't blacklist Wasserstein tests anymore.
+ * Recommend POT, SciPy and scikit-learn.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 08 Jul 2020 21:32:32 +0200
+
+gudhi (3.2.0+dfsg-2) unstable; urgency=medium
+
+ * Add patch 0010-Work-around-963955.patch to work around FTBFS with
+ Qt 5.14.
+ * DH compat level 13.
+
+ -- Gard Spreemann <gspr@nonempty.org> Mon, 29 Jun 2020 13:40:18 +0200
+
+gudhi (3.2.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release. (Closes: #961783)
+ * Refresh patches.
+ * Depend on pybind11 and hera.
+ * Fix broken tests that trivially passed.
+
+ -- Gard Spreemann <gspr@nonempty.org> Sat, 06 Jun 2020 15:12:31 +0200
+
+gudhi (3.1.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream bugfix release.
+
+ -- Gard Spreemann <gspr@nonempty.org> Fri, 07 Feb 2020 18:04:44 +0100
+
+gudhi (3.1.0+dfsg-2) unstable; urgency=medium
+
+ * Require PyTest for autopkgtests.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 22 Jan 2020 11:16:38 +0100
+
+gudhi (3.1.0+dfsg-1) unstable; urgency=medium
+
+ * Allow forcing parallel builds for local use.
+ * Standards-version 4.5.0.0. No changes needed.
+ * New upstream release.
+
+ -- Gard Spreemann <gspr@nonempty.org> Tue, 21 Jan 2020 10:26:33 +0100
+
+gudhi (3.0.0+dfsg-4) unstable; urgency=medium
+
+ * Drop 0003-Don-t-set-runtime-library-dirs-for-Python-extensions.patch
+ in favor of CMake option.
+ * Disable parallel builds. A lot of buildds seem to be swapping out, and
+ some Ubuntu ones run out of memory outright. (Closes: #945226)
+ * Standards-version 4.4.1. No changes needed.
+ * Drop 0004-Force-linking-of-Python-module-with-CGAL.patch since CGAL is
+ now header-only.
+ * Add 0007-Move-towards-reproducible-builds.patch to move towards
+ reproducible builds.
+
+ -- Gard Spreemann <gspr@nonempty.org> Tue, 10 Dec 2019 14:33:51 +0100
+
+gudhi (3.0.0+dfsg-3) unstable; urgency=medium
+
+ * Disable build-time tests on i386 and s390x.
+ * Drop support for mipsel due to failure to build because of too little
+ addressable memory. This introduces an explicit architecture list for
+ the packages.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 30 Oct 2019 09:27:19 +0100
+
+gudhi (3.0.0+dfsg-2) unstable; urgency=medium
+
+ * Fix binary-arch build.
+ * Disable parallel building also on i386.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 23 Oct 2019 22:18:22 +0200
+
+gudhi (3.0.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream:
+ - Python interface for sparse Rips complexes.
+ - New C++ interface for alpha complexes.
+ * Standards-version 4.4.0. No changes needed.
+ * DH compat 12.
+ * Declare Rules-Requires-Root: no.
+ * Change maintainer email address.
+ * Refresh patches for new version.
+ - Drop 0008-Propagate-CXXFLAGS-when-building-Python-modules.patch, seems no
+ longer needed.
+ - Add 0008-Install-Python-module-in-correct-location.patch to install Python
+ modules in correct location.
+
+ -- Gard Spreemann <gspr@nonempty.org> Wed, 23 Oct 2019 11:47:25 +0200
+
+gudhi (2.3.0+dfsg-2) unstable; urgency=medium
+
+ * Disable parallel building on certain architectures to avoid buildds
+ running out of memory.
+ * New patch to properly propagate CXXFLAGS when building the Python
+ modules.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Fri, 05 Oct 2018 17:05:03 +0200
+
+gudhi (2.3.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release:
+ - Python interface for GIC.
+ * Refresh patches:
+ - Expand patch to disable new tests that rely on DFSG-deleted data.
+ * Standards-version 4.2.1. No changes needed.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Tue, 11 Sep 2018 16:10:44 +0200
+
+gudhi (2.2.0+dfsg-3) unstable; urgency=medium
+
+ * Fix build of bindings for multiple Python versions when building just
+ binary-arch.
+ * Test all supported Python (3) versions.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Tue, 14 Aug 2018 13:45:43 +0200
+
+gudhi (2.2.0+dfsg-2) unstable; urgency=medium
+
+ * Build Python bindings for all supported Python (3) versions.
+ * Drop patch forcing Python 3 detection. Upstream has cmake option for
+ selecting Python version.
+ * Standards-version 4.2.0. No changes needed.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Tue, 07 Aug 2018 13:47:38 +0200
+
+gudhi (2.2.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ - Čech complex.
+ - New functionality for the Rips complex.
+ * Refresh patches:
+ - Drop floating point precision workaround patch (fixed upstream).
+ - Drop CGAL 4.12 compatibility patch (fixed upstream).
+ * Streamline the copyright information a bit.
+ * Bump CMake build-dep to 3.1.
+ * New upstream utilities in gudhi-utils.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Fri, 22 Jun 2018 10:12:19 +0200
+
+gudhi (2.1.0+dfsg-3) unstable; urgency=medium
+
+ * Add patch for floating point rounding problem on some architectures.
+ * Add patch that forces linking against libatomic. This hopefully fixes
+ building on MIPS et al.
+ * Install utilities (gudhi-utils).
+
+ -- Gard Spreemann <gspreemann@gmail.com> Thu, 14 Jun 2018 20:07:51 +0200
+
+gudhi (2.1.0+dfsg-2) unstable; urgency=medium
+
+ * Add patches for CGAL 4.12 compatibility.
+ * Bump standards-version to 4.1.4. No changes needed.
+
+ -- Gard Spreemann <gspreemann@gmail.com> Thu, 24 May 2018 11:46:12 +0200
+
+gudhi (2.1.0+dfsg-1) unstable; urgency=medium
+
+ * Initial packaging. (Closes: #840686)
+
+ -- Gard Spreemann <gspreemann@gmail.com> Sun, 25 Mar 2018 23:52:14 +0200
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/control b/debian/control
new file mode 100644
index 00000000..be36102c
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,142 @@
+Source: gudhi
+Maintainer: Gard Spreemann <gspr@nonempty.org>
+Section: math
+Priority: optional
+Standards-Version: 4.6.1.1
+Build-Depends: cmake (>= 3.5),
+ cython3,
+ debhelper-compat (= 13),
+ dh-python,
+ 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 (>= 1.0.0),
+ libqglviewer-dev-qt5,
+ libtbb-dev,
+ pybind11-dev,
+ python3-all-dev,
+ python3-eagerpy,
+ python3-matplotlib,
+ python3-numpy,
+ python3-pot,
+ python3-pybind11,
+ python3-pytest,
+ python3-scipy,
+ python3-setuptools,
+ python3-sklearn,
+ python3-tk,
+ qtbase5-dev
+Build-Depends-Indep: doxygen,
+ graphviz
+Rules-Requires-Root: no
+Homepage: https://gudhi.inria.fr/
+Vcs-Browser: https://salsa.debian.org/gspr/gudhi
+Vcs-Git: https://salsa.debian.org/gspr/gudhi.git -b debian/sid
+
+Package: libgudhi-dev
+Section: libdevel
+Architecture: all
+Multi-Arch: foreign
+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,
+ ${misc:Depends}
+Suggests: libgudhi-doc, libgudhi-examples, libhera-dev
+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.
+ .
+ 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}
+Suggests: 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.
+ .
+ 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
+ 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.
+ .
+ This package contains documentation.
+
+Package: python3-gudhi
+Section: python
+Architecture: amd64 arm64 i386 mips64el ppc64el s390x ia64 ppc64 riscv64 sparc64 x32
+Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
+Recommends: python3-eagerpy,
+ python3-matplotlib,
+ python3-pot,
+ python3-scipy,
+ python3-sklearn
+Description: Python 3 interface to 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.
+ .
+ This package contains GUDHI's Python (3) interface.
+
+Package: gudhui
+Section: math
+Architecture: amd64 arm64 i386 mips64el ppc64el s390x ia64 ppc64 riscv64 sparc64 x32
+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.
+ .
+ This package contains GudhUI, a graphical interface to a few of GUDHI's
+ features. Be aware that it is quite rough around the edges.
+
+Package: gudhi-utils
+Section: math
+Architecture: amd64 arm64 i386 mips64el ppc64el s390x ia64 ppc64 riscv64 sparc64 x32
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Utilities from 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.
+ .
+ This package contains some utilities built with the GUDHI library.
+
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 00000000..a9283498
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,100 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: gudhi
+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.
+ .
+ Most of the GUDHI project is licensed under the MIT license, but certain parts
+ of the code rely on GPL-3+ code. The Debian binaries are thus licensed as
+ GPL-3+.
+License: GPL-3+
+
+Files: *
+Copyright: 2014-2022 Inria
+License: MIT
+
+Files: src/common/include/gudhi/writing_persistence_to_file.h
+Copyright: 2017 Swansea University
+License: MIT
+
+Files: src/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: src/cmake/modules/FindTBB.cmake
+Copyright: 2011 Hannes Hofmann
+License: MIT
+
+Files: src/Nerve_GIC/utilities/km.py*
+Copyright: 2015 Triskelion - HJ van Veen <info@mlwave.com>
+License: MIT
+
+Files: debian/*
+Copyright: 2016-2022 Gard Spreemann <gspr@nonempty.org>
+License: GPL-3+
+
+License: GPL-3+
+ 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: 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.
diff --git a/debian/gudhi-utils.1 b/debian/gudhi-utils.1
new file mode 100644
index 00000000..2cb654a5
--- /dev/null
+++ b/debian/gudhi-utils.1
@@ -0,0 +1,18 @@
+.TH "gudhi-utils" 1
+.SH NAME
+gudhi-utils \- utilities built with the GUDHI library
+.SH SYNOPSIS
+.B gudhi-*
+[\fIoptions\fR]
+.SH DESCRIPTION
+The
+.B gudhi-*
+programs are a collection of utilities built around the GUDHI library
+for topological data analysis. Each individual one currently lacks a
+man page, but they will all print informative help texts describing
+usage if run with no arguments.
+.SH ARGUMENTS
+.TP
+.BR options
+The options differ for each individual program. Run them without any
+arguments to see a help text describing the options.
diff --git a/debian/gudhi-utils.install b/debian/gudhi-utils.install
new file mode 100644
index 00000000..71e8eb9f
--- /dev/null
+++ b/debian/gudhi-utils.install
@@ -0,0 +1 @@
+debian/tmp/usr/bin/gudhi-* usr/bin/
diff --git a/debian/gudhui.1 b/debian/gudhui.1
new file mode 100644
index 00000000..53ce0867
--- /dev/null
+++ b/debian/gudhui.1
@@ -0,0 +1,12 @@
+.TH GUDHUI 1 "" "" ""
+.SH NAME
+GudhUI \- graphical interface for some of the GUDHI library's features
+.SH SYNOPSIS
+.B gudhui
+[\fIQt options\fR]
+.SH DESCRIPTION
+.B gudhui
+is a graphical interface for some of the GUDHI library's features. It
+can aid the exploratory steps of topological data analysis.
+.SH OPTIONS
+The program accepts only standard Qt options.
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/gudhui.manpages b/debian/gudhui.manpages
new file mode 100644
index 00000000..4ffbdc9f
--- /dev/null
+++ b/debian/gudhui.manpages
@@ -0,0 +1 @@
+debian/gudhui.1 \ No newline at end of file
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..953f5aab
--- /dev/null
+++ b/debian/libgudhi-dev.install
@@ -0,0 +1 @@
+build/userversion/include/gudhi/ usr/include/
diff --git a/debian/libgudhi-doc.doc-base b/debian/libgudhi-doc.doc-base
new file mode 100644
index 00000000..45906e52
--- /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-dev/html/index.html
+Files: /usr/share/doc/libgudhi-dev/html/*.html
diff --git a/debian/libgudhi-doc.install b/debian/libgudhi-doc.install
new file mode 100644
index 00000000..bac48320
--- /dev/null
+++ b/debian/libgudhi-doc.install
@@ -0,0 +1 @@
+build/userversion/build/html/* usr/share/doc/libgudhi-dev/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-Disable-tests-that-use-DFSG-deleted-data-files.patch b/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
new file mode 100644
index 00000000..d451e683
--- /dev/null
+++ b/debian/patches/0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
@@ -0,0 +1,88 @@
+From: Gard Spreemann <gspr@nonempty.org>
+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/python/CMakeLists.txt | 29 -----------------------------
+ 3 files changed, 42 deletions(-)
+
+diff --git a/src/Nerve_GIC/example/CMakeLists.txt b/src/Nerve_GIC/example/CMakeLists.txt
+index 4b0f467..110212d 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)
+
+ # 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)
+diff --git a/src/Nerve_GIC/utilities/CMakeLists.txt b/src/Nerve_GIC/utilities/CMakeLists.txt
+index 65a08d9..3f16db9 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()
+
+ 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/python/CMakeLists.txt b/src/python/CMakeLists.txt
+index 5f32393..02082db 100644
+--- a/src/python/CMakeLists.txt
++++ b/src/python/CMakeLists.txt
+@@ -432,35 +432,6 @@ if(PYTHONINTERP_FOUND)
+
+ add_gudhi_py_test(test_bottleneck_distance)
+
+- # 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}"
+- ${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 "${GUDHI_PYTHON_PATH_ENV}"
+- ${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 "${GUDHI_PYTHON_PATH_ENV}"
+- ${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 "${GUDHI_PYTHON_PATH_ENV}"
+- ${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)
+ endif (NOT CGAL_VERSION VERSION_LESS 4.11.0)
+
diff --git a/debian/patches/0002-Use-system-MathJax.patch b/debian/patches/0002-Use-system-MathJax.patch
new file mode 100644
index 00000000..4f8e143c
--- /dev/null
+++ b/debian/patches/0002-Use-system-MathJax.patch
@@ -0,0 +1,21 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Wed, 25 Sep 2019 15:14:13 +0200
+Subject: Use system MathJax.
+
+---
+ src/Doxyfile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Doxyfile.in b/src/Doxyfile.in
+index 6e0e033..b2f44d5 100644
+--- a/src/Doxyfile.in
++++ b/src/Doxyfile.in
+@@ -1506,7 +1506,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 =
++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
diff --git a/debian/patches/0003-Offline-header-for-docs.patch b/debian/patches/0003-Offline-header-for-docs.patch
new file mode 100644
index 00000000..2ba471d3
--- /dev/null
+++ b/debian/patches/0003-Offline-header-for-docs.patch
@@ -0,0 +1,21 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Wed, 25 Sep 2019 15:19:14 +0200
+Subject: Offline header for docs.
+
+---
+ src/Doxyfile.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Doxyfile.in b/src/Doxyfile.in
+index b2f44d5..c938635 100644
+--- a/src/Doxyfile.in
++++ b/src/Doxyfile.in
+@@ -1096,7 +1096,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 = @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-Support-QGLViewer-2.7.patch b/debian/patches/0005-Support-QGLViewer-2.7.patch
new file mode 100644
index 00000000..2f367d5f
--- /dev/null
+++ b/debian/patches/0005-Support-QGLViewer-2.7.patch
@@ -0,0 +1,26 @@
+From: Gard Spreemann <gspr@nonempty.org>
+Date: Mon, 14 Nov 2022 17:28:23 +0100
+Subject: Support QGLViewer >=2.7
+
+This is Marc Glisse's commit 1e71120bdacb6f5ec4c90fb4c1365f76ecea7ff9
+proposed upstream.
+---
+ src/GudhUI/view/Viewer.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/GudhUI/view/Viewer.cpp b/src/GudhUI/view/Viewer.cpp
+index 6b17c83..2c00f86 100644
+--- a/src/GudhUI/view/Viewer.cpp
++++ b/src/GudhUI/view/Viewer.cpp
+@@ -31,7 +31,11 @@ void Viewer::set_bounding_box(const Point_3 & lower_left, const Point_3 & upper_
+ }
+
+ void Viewer::update_GL() {
++#if QGLVIEWER_VERSION >= 0x020700
++ this->update();
++#else
+ this->updateGL();
++#endif
+ }
+
+ void Viewer::init_scene() {
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 00000000..3f3da71a
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,5 @@
+0001-Disable-tests-that-use-DFSG-deleted-data-files.patch
+0002-Use-system-MathJax.patch
+0003-Offline-header-for-docs.patch
+0004-Disable-Sphinx.patch
+0005-Support-QGLViewer-2.7.patch
diff --git a/debian/python3-gudhi.install b/debian/python3-gudhi.install
new file mode 100644
index 00000000..b6a91df9
--- /dev/null
+++ b/debian/python3-gudhi.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/python3/
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 00000000..5737303c
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,141 @@
+#!/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)
+
+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
+
+# To fix #945226, we turn off parallel builds everywhere, except if
+# someone explicitly wants them enabled by setting the environment
+# variable ALLOW_PARALLEL.
+ifeq (, $(ALLOW_PARALLEL))
+ DHFLAGS+=--no-parallel
+endif
+
+# The buildds run out of memory on some architectures. On those, we
+# tune the GCC garbage collector and force non-parallel building.
+ifneq (, $(filter $(shell dpkg-architecture --query DEB_BUILD_ARCH),armhf arm64 i386 mips mipsel m68k powerpcspe x32))
+ export DEB_CXXFLAGS_MAINT_APPEND = --param ggc-min-expand=5
+# We have disabled parallel builds in general now. Consider disabling
+# for certain architectures if it's reenabled globally.
+# DHFLAGS+=--no-parallel
+endif
+
+# Disable tests on i386 due to rounding problem in some. See upstream GitHub issue #118.
+ifneq (, $(filter $(shell dpkg-architecture --query DEB_BUILD_ARCH),i386 x32))
+ export DEB_BUILD_MAINT_OPTIONS := $(DEB_BUILD_MAINT_OPTIONS) nocheck
+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 -DWITH_GUDHI_REMOTE_TEST=false -DUSER_VERSION_DIR=userversion $(HERA_FLAGS)
+ 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 -DWITH_GUDHI_REMOTE_TEST=false -DPython_ADDITIONAL_VERSIONS=$$py3ver -DUSER_VERSION_DIR=userversion -DWITH_GUDHI_PYTHON_RUNTIME_LIBRARY_DIRS=false $(HERA_FLAGS) ; \
+ make -C build-py$$py3ver user_version ; \
+ done
+
+override_dh_auto_configure:
+ 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 $(HERA_FLAGS)
+ for py3ver in $(PY3VERS) ; do \
+ 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 $(HERA_FLAGS) ; \
+ done
+
+override_dh_auto_build-arch:
+ dh_auto_build $(DHFLAGS) --sourcedir=build/userversion --builddirectory=build/userversion/build
+ for py3ver in $(PY3VERS) ; do \
+ cd build-py$$py3ver/userversion/build/python ; \
+ /usr/bin/python$$py3ver setup.py build ; \
+ done
+
+override_dh_auto_build-indep:
+ cd build/userversion/build ; \
+ make doxygen
+
+override_dh_auto_test-indep:
+
+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 --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) --sourcedir=build/userversion --builddirectory=build/userversion/build
+ for py3ver in $(PY3VERS) ; do \
+ 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 \
+ $(TMPBIN)/gudhi-nerve
+ mv $(TMPBIN)/VoronoiGIC \
+ $(TMPBIN)/gudhi-voronoi-gic
+ mv $(TMPBIN)/Witness_complex_strong_witness_persistence \
+ $(TMPBIN)/gudhi-witness-complex-strong-witness-persistence
+ mv $(TMPBIN)/Witness_complex_weak_witness_persistence \
+ $(TMPBIN)/gudhi-witness-complex-weak-witness-persistence
+ mv $(TMPBIN)/alpha_complex_3d_persistence \
+ $(TMPBIN)/gudhi-alpha-complex-3d-persistence
+ mv $(TMPBIN)/alpha_complex_persistence \
+ $(TMPBIN)/gudhi-alpha-complex-persistence
+ mv $(TMPBIN)/bottleneck_distance \
+ $(TMPBIN)/gudhi-bottleneck-distance
+ mv $(TMPBIN)/cech_persistence \
+ $(TMPBIN)/gudhi-cech-persistence
+ mv $(TMPBIN)/cubical_complex_persistence \
+ $(TMPBIN)/gudhi-cubical-complex-persistence
+ mv $(TMPBIN)/off_file_from_shape_generator \
+ $(TMPBIN)/gudhi-off-file-from-shape-generator
+ mv $(TMPBIN)/periodic_cubical_complex_persistence \
+ $(TMPBIN)/gudhi-periodic-cubical-complex-persistence
+ mv $(TMPBIN)/rips_correlation_matrix_persistence \
+ $(TMPBIN)/gudhi-rips-correlation-matrix-persistence
+ mv $(TMPBIN)/rips_distance_matrix_persistence \
+ $(TMPBIN)/gudhi-rips-distance-matrix-persistence
+ mv $(TMPBIN)/rips_persistence \
+ $(TMPBIN)/gudhi-rips-persistence
+ mv $(TMPBIN)/sparse_rips_persistence \
+ $(TMPBIN)/gudhi-sparse-rips-persistence
+ mv $(TMPBIN)/distance_matrix_edge_collapse_rips_persistence \
+ $(TMPBIN)/gudhi-distance-matrix-edge-collapse-rips-persistence
+ mv $(TMPBIN)/point_cloud_edge_collapse_rips_persistence \
+ $(TMPBIN)/gudhi-point-cloud-edge-collapse-rips-persistence
+
+ mv $(TMPBIN)/GudhUI $(TMPBIN)/gudhui
+
+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' {} \;
+
+override_dh_compress:
+ dh_compress -X.cpp
+
+override_dh_install:
+ dh_install -X__pycache__ -X.pyc -X.pyo
+
+override_dh_missing:
+ dh_missing --list-missing
+
+override_dh_python3:
+ for py3ver in $(PY3VERS) ; do \
+ 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/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..d5970de3
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,3 @@
+Tests: python-upstream.sh
+Depends: python3-all, python3-eagerpy, python3-gudhi, python3-matplotlib, python3-pot, python3-pytest, python3-scipy, python3-sklearn, python3-tk
+Restrictions: allow-stderr \ No newline at end of file
diff --git a/debian/tests/python-upstream.sh b/debian/tests/python-upstream.sh
new file mode 100755
index 00000000..36d5031c
--- /dev/null
+++ b/debian/tests/python-upstream.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+set -e
+set -u
+
+helper=$PWD/debian/tests/upstream.py
+testdir=$PWD/src/python/test
+cp $helper $AUTOPKGTEST_TMP
+cp -R $testdir $AUTOPKGTEST_TMP
+cd $AUTOPKGTEST_TMP
+
+rm -f test/test_dtm.py # Imports torch too early.
+
+for py3ver in $(py3versions -vs)
+do
+ echo "Running tests with Python ${py3ver}."
+ /usr/bin/python${py3ver} -B upstream.py test
+ rm -rf .pytest_cache
+ echo "**********"
+done
diff --git a/debian/tests/upstream.py b/debian/tests/upstream.py
new file mode 100644
index 00000000..defa2da5
--- /dev/null
+++ b/debian/tests/upstream.py
@@ -0,0 +1,27 @@
+import sys
+import itertools
+import pytest
+
+blacklist = ["test_knn.py", # Requires pykeops
+ "test_representations.py", # Look into this
+ "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_diff.py", # Requires TF.
+ "test_dtm.py", # Requires hnswlib.
+ "test_wasserstein_with_tensors.py" # Requires PyTorch and TF
+ ]
+
+print("Ignorelist:", ignorelist)
+
+testdir = sys.argv[1]
+
+deselect_args = list(itertools.chain.from_iterable([["--deselect", "%s/%s" %(testdir, exclude)] for exclude in blacklist]))
+ignore_args = list(itertools.chain.from_iterable([["--ignore-glob", "%s/%s" %(testdir, exclude)] for exclude in ignorelist]))
+
+exitcode = pytest.main([testdir] + deselect_args + ignore_args)
+exit(exitcode)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 00000000..d9930f3f
--- /dev/null
+++ b/debian/watch
@@ -0,0 +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/,\
+ repacksuffix=+dfsg \
+ https://github.com/GUDHI/gudhi-devel/tags \
+ (?:.*?/)gudhi-release-?(\d[\d.]*)\.tar\.gz