During an exp-run for llvm 15 (see bug 265425), it turned out that graphics/py-pygraphviz failed to build with clang 15: pygraphviz/graphviz_wrap.c:3047:12: error: incompatible pointer to integer conversion returning 'Agsym_t *' (aka 'struct Agsym_s *') from a function with result type 'int' [-Wint-conversion] return agattr(g, kind, name, val); ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. In graphviz.i and the swig-generated graphviz_wrap.c, the agattr_label() function is incorrectly labeled as returning 'int', while it should return 'Agsym_t *' instead. Upstream fixed this as part of a much bigger commit [1], and they also regenerated the swig wrapper. For our case, it is simpler to patch the wrapper instead, as otherwise you would have to add swig as a build-time dependency. [1] https://github.com/pygraphviz/pygraphviz/commit/79fdee178785620b90241c70a0efab9dd57e3c86
Created attachment 238669 [details] graphics/py-pygraphviz: fix build with clang 15
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=f2f3ab67ff127029f70393a05f2f8e560d70ccb4 commit f2f3ab67ff127029f70393a05f2f8e560d70ccb4 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-12-09 17:41:55 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-12-18 17:29:15 +0000 graphics/py-pygraphviz: fix build with clang 15 During an exp-run for llvm 15 (see bug 265425), it turned out that graphics/py-pygraphviz failed to build with clang 15: pygraphviz/graphviz_wrap.c:3047:12: error: incompatible pointer to integer conversion returning 'Agsym_t *' (aka 'struct Agsym_s *') from a function with result type 'int' [-Wint-conversion] return agattr(g, kind, name, val); ^~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. In graphviz.i and the swig-generated graphviz_wrap.c, the agattr_label() function is incorrectly labeled as returning 'int', while it should return 'Agsym_t *' instead. Upstream fixed this as part of a much bigger commit [1], and they also regenerated the swig wrapper. For our case, it is simpler to patch the wrapper instead, as otherwise you would have to add swig as a build-time dependency. [1] https://github.com/pygraphviz/pygraphviz/commit/79fdee178785620b90241c70a0efab9dd57e3c86 PR: 268278 Approved by: portmgr (tcberner) MFH: 2022Q4 .../files/patch-pygraphviz_graphviz__wrap.c (new) | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+)