From 514f24ad38a7f673b06a5b63ff3b91b8c3251fff Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Tue, 16 Aug 2022 16:02:30 +0200 Subject: CGAL 5.5 compatibility --- debian/changelog | 7 +++ debian/control | 2 +- debian/patches/0006-CGAL-5.5-compatibility.patch | 78 ++++++++++++++++++++++++ debian/patches/series | 1 + 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 debian/patches/0006-CGAL-5.5-compatibility.patch diff --git a/debian/changelog b/debian/changelog index 11231979..129ec19a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +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 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. diff --git a/debian/control b/debian/control index 6ef62958..627bc8dd 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: gudhi Maintainer: Gard Spreemann Section: math Priority: optional -Standards-Version: 4.6.0.1 +Standards-Version: 4.6.1.1 Build-Depends: cmake (>= 3.5), cython3, debhelper-compat (= 13), diff --git a/debian/patches/0006-CGAL-5.5-compatibility.patch b/debian/patches/0006-CGAL-5.5-compatibility.patch new file mode 100644 index 00000000..a5d28944 --- /dev/null +++ b/debian/patches/0006-CGAL-5.5-compatibility.patch @@ -0,0 +1,78 @@ +From: Vincent Rouvreau +Date: Tue, 9 Aug 2022 16:06:06 +0200 +Subject: CGAL 5.5 compatibility + +Based on upstream commits + + dc7a0aed53d7b74580ed5625293e27cacd452c34 + 71cbf8f35814d247fe7421c079a6ea78da2282f4 + +with modifications from discussion in + + https://github.com/CGAL/cgal/issues/6799 +--- + .../include/gudhi/Skeleton_blocker_contractor.h | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + +diff --git a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h +index a0d9f2b..d510043 100644 +--- a/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h ++++ b/src/Contraction/include/gudhi/Skeleton_blocker_contractor.h +@@ -171,8 +171,13 @@ typename GeometricSimplifiableComplex::Vertex_handle> { + Self const* algorithm_; + }; + ++#if CGAL_VERSION_NR < 1050500000 + typedef CGAL::Modifiable_priority_queue PQ; +- typedef typename PQ::handle pq_handle; ++#else ++ typedef CGAL::Modifiable_priority_queue PQ; ++#endif ++ ++ typedef bool pq_handle; + + + // An Edge_data is associated with EVERY edge in the complex (collapsible or not). +@@ -196,7 +201,7 @@ typename GeometricSimplifiableComplex::Vertex_handle> { + } + + bool is_in_PQ() const { +- return PQHandle_ != PQ::null_handle(); ++ return PQHandle_ != false; + } + + void set_PQ_handle(pq_handle h) { +@@ -204,7 +209,7 @@ typename GeometricSimplifiableComplex::Vertex_handle> { + } + + void reset_PQ_handle() { +- PQHandle_ = PQ::null_handle(); ++ PQHandle_ = false; + } + + private: +@@ -238,16 +243,22 @@ typename GeometricSimplifiableComplex::Vertex_handle> { + } + + void insert_in_PQ(Edge_handle edge, Edge_data& data) { +- data.set_PQ_handle(heap_PQ_->push(edge)); ++ heap_PQ_->push(edge); ++ data.set_PQ_handle(true); + ++current_num_edges_heap_; + } + + void update_in_PQ(Edge_handle edge, Edge_data& data) { ++#if CGAL_VERSION_NR < 1050500000 + data.set_PQ_handle(heap_PQ_->update(edge, data.PQ_handle())); ++#else ++ heap_PQ_->update(edge); ++#endif + } + + void remove_from_PQ(Edge_handle edge, Edge_data& data) { +- data.set_PQ_handle(heap_PQ_->erase(edge, data.PQ_handle())); ++ heap_PQ_->erase(edge); ++ data.set_PQ_handle(false); + --current_num_edges_heap_; + } + diff --git a/debian/patches/series b/debian/patches/series index 4d556076..5c95e702 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ 0003-Offline-header-for-docs.patch 0004-Disable-Sphinx.patch 0005-Don-t-process-the-entire-source-tree-with-Doxygen.patch +0006-CGAL-5.5-compatibility.patch -- cgit v1.2.3