git: 6a668853ee5c - main - databases/sfcgal: fix build with clang 19

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sun, 25 Aug 2024 11:33:07 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6a668853ee5c59d92fc9dd6e4d2279d3e5a4eff1

commit 6a668853ee5c59d92fc9dd6e4d2279d3e5a4eff1
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-08-10 19:17:34 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-08-25 11:25:15 +0000

    databases/sfcgal: fix build with clang 19
    
    Clang 19 now diagnoses incorrect member accesses, which causes
    databases/sfcgal to fail with errors similar to:
    
        /wrkdirs/usr/ports/databases/sfcgal/work/CGAL-5.6.1/include/CGAL/boost/graph/iterator.h:219:22: error: no member named 'base' in 'Halfedge_around_source_iterator<Graph>'
          219 |     return (! (this->base() == nullptr));
              |                ~~~~  ^
        /wrkdirs/usr/ports/databases/sfcgal/work/CGAL-5.6.1/include/CGAL/boost/graph/iterator.h:313:22: error: no member named 'base' in 'Halfedge_around_target_iterator<Graph>'
          313 |     return (! (this->base() == nullptr));
              |                ~~~~  ^
        /wrkdirs/usr/ports/databases/sfcgal/work/CGAL-5.6.1/include/CGAL/boost/graph/iterator.h:405:22: error: no member named 'base' in 'Halfedge_around_face_iterator<Graph>'
          405 |     return (! (this->base() == nullptr));
              |                ~~~~  ^
    
    Upstream fixed this in https://github.com/CGAL/cgal/commit/0de060acd68
    but it does not apply easily due to some changed context. Add a
    backported patch instead.
    
    PR:             280737
    Approved by:    maintainer timeout (2 weeks)
    MFH:            2024Q3
---
 .../patch-include_CGAL_boost_graph_iterator.h      | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/databases/sfcgal/files/patch-include_CGAL_boost_graph_iterator.h b/databases/sfcgal/files/patch-include_CGAL_boost_graph_iterator.h
new file mode 100644
index 000000000000..b02e6b3a1723
--- /dev/null
+++ b/databases/sfcgal/files/patch-include_CGAL_boost_graph_iterator.h
@@ -0,0 +1,38 @@
+--- ../CGAL-5.6.1/include/CGAL/boost/graph/iterator.h	2024-02-24 21:04:12 UTC
++++ ../CGAL-5.6.1/include/CGAL/boost/graph/iterator.h
+@@ -214,11 +214,6 @@ class Halfedge_around_source_iterator { (public)
+ 
+ #ifndef DOXYGEN_RUNNING
+ 
+-  explicit operator bool() const
+-  {
+-    return (! (this->base() == nullptr));
+-  }
+-
+   bool operator==( const Self& i) const {
+     CGAL_assertion( anchor == anchor);
+     return  ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
+@@ -308,11 +303,6 @@ class Halfedge_around_target_iterator { (public)
+ 
+ #ifndef DOXYGEN_RUNNING
+ 
+-  explicit operator bool() const
+-  {
+-    return (! (this->base() == nullptr));
+-  }
+-
+   bool operator==( const Self& i) const {
+     CGAL_assertion( anchor == anchor);
+     return  ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
+@@ -399,11 +389,6 @@ class Halfedge_around_face_iterator { (public)
+   const value_type& operator *  ( ) const { return  pos; }
+   pointer           operator -> ( )       { return &pos; }
+   const value_type* operator -> ( ) const { return &pos; }
+-
+-  explicit operator bool() const
+-  {
+-    return (! (this->base() == nullptr));
+-  }
+ 
+   bool operator==( const Self& i) const {
+     CGAL_assertion( anchor == anchor);