Bug 280737

Summary: databases/sfcgal: fix build with clang 19
Product: Ports & Packages Reporter: Dimitry Andric <dim>
Component: Individual Port(s)Assignee: Loïc Bartoletti <lbartoletti>
Status: Closed FIXED    
Severity: Affects Some People Flags: bugzilla: maintainer-feedback? (lbartoletti)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 280562    
Attachments:
Description Flags
databases/sfcgal: fix build with clang 19 none

Description Dimitry Andric freebsd_committer freebsd_triage 2024-08-10 19:17:09 UTC
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.
Comment 1 Dimitry Andric freebsd_committer freebsd_triage 2024-08-10 19:24:15 UTC
Created attachment 252667 [details]
databases/sfcgal: fix build with clang 19
Comment 2 commit-hook freebsd_committer freebsd_triage 2024-08-25 11:33:21 UTC
A commit in branch main references this bug:

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 (new) | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)
Comment 3 commit-hook freebsd_committer freebsd_triage 2024-08-25 11:38:24 UTC
A commit in branch 2024Q3 references this bug:

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

commit b733ae96495fdd841d5955ddca4365927ddb5321
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:37:53 +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

    (cherry picked from commit 6a668853ee5c59d92fc9dd6e4d2279d3e5a4eff1)

 ...patch-include_CGAL_boost_graph_iterator.h (new) | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)