git: 49f1cf819780 - main - math/py-igraph: 0.11.9 update, fixes libxml2 use

From: Matthias Andree <mandree_at_FreeBSD.org>
Date: Tue, 15 Jul 2025 22:22:23 UTC
The branch main has been updated by mandree:

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

commit 49f1cf8197800576b083614284c42531bb6df5ed
Author:     Matthias Andree <mandree@FreeBSD.org>
AuthorDate: 2025-07-15 21:44:46 +0000
Commit:     Matthias Andree <mandree@FreeBSD.org>
CommitDate: 2025-07-15 22:22:16 +0000

    math/py-igraph: 0.11.9 update, fixes libxml2 use
    
    with its slightly changed xmlerror.h API.
    
    Approved by:    lwhsu@ (maintainer timeout, 12+ months)
    PR:             279961
    Reported by:    diizzy@
    MFH:            2025Q3
---
 math/py-igraph/Makefile                              |  5 +----
 math/py-igraph/distinfo                              |  6 +++---
 math/py-igraph/files/patch-setup.py                  | 20 +++++++++++---------
 ...ch-vendor_source_igraph_etc_cmake_compilers.cmake | 19 +++++++++++++++++++
 4 files changed, 34 insertions(+), 16 deletions(-)

diff --git a/math/py-igraph/Makefile b/math/py-igraph/Makefile
index ba22555e9a9c..28612603df75 100644
--- a/math/py-igraph/Makefile
+++ b/math/py-igraph/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	igraph
-DISTVERSION=	0.10.6
-PORTREVISION=	6
+DISTVERSION=	0.11.9
 CATEGORIES=	math python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -12,8 +11,6 @@ WWW=		https://igraph.org/python/
 
 LICENSE=	GPLv2
 
-BROKEN=		Fails to build with libxml2 2.13+, error: incompatible function pointer types passing 'void (*)(void *, xmlErrorPtr)' (aka 'void (*)(void *, struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka 'void (*)(void *, const struct _xmlError *)')
-
 BUILD_DEPENDS=	cmake:devel/cmake-core \
 		${LOCALBASE}/bin/flex:textproc/flex
 LIB_DEPENDS=	libigraph.so:math/igraph \
diff --git a/math/py-igraph/distinfo b/math/py-igraph/distinfo
index 92d43956c400..3b9f5d95b2c0 100644
--- a/math/py-igraph/distinfo
+++ b/math/py-igraph/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1692030616
-SHA256 (python-igraph/igraph-0.10.6.tar.gz) = 76f7aad294514412f835366a7d9a9c1e7a34c3e6ef0a6c3a1a835234323228e8
-SIZE (python-igraph/igraph-0.10.6.tar.gz) = 4233333
+TIMESTAMP = 1752616078
+SHA256 (python-igraph/igraph-0.11.9.tar.gz) = c57ce44873abcfcfd1d61d7d261e416d352186958e7b5d299cf244efa6757816
+SIZE (python-igraph/igraph-0.11.9.tar.gz) = 4587322
diff --git a/math/py-igraph/files/patch-setup.py b/math/py-igraph/files/patch-setup.py
index c45c6da41642..24e3ea45c0df 100644
--- a/math/py-igraph/files/patch-setup.py
+++ b/math/py-igraph/files/patch-setup.py
@@ -1,24 +1,26 @@
---- setup.py.orig	2023-07-13 11:49:16 UTC
+--- setup.py.orig	2025-06-11 00:02:53 UTC
 +++ setup.py
-@@ -281,7 +281,7 @@ class IgraphCCoreCMakeBuilder:
+@@ -280,8 +280,8 @@ class IgraphCCoreCMakeBuilder:
+             args.append("-DIGRAPH_GRAPHML_SUPPORT:BOOL=OFF")
  
          # Build the Python interface with vendored libraries
-         for deps in "ARPACK BLAS GLPK GMP LAPACK".split():
+-        for deps in "ARPACK BLAS GLPK GMP LAPACK PLFIT".split():
 -            args.append("-DIGRAPH_USE_INTERNAL_" + deps + "=ON")
++        for deps in "ARPACK BLAS GLPK GMP LAPACK".split():
 +            args.append("-DIGRAPH_USE_INTERNAL_" + deps + "=OFF")
  
-         # -fPIC is needed on Linux so we can link to a static igraph lib from a
-         # Python shared library
-@@ -289,6 +289,12 @@ class IgraphCCoreCMakeBuilder:
- 
+         # Use link-time optinization if available
+         args.append("-DIGRAPH_ENABLE_LTO=AUTO")
+@@ -293,6 +293,12 @@ class IgraphCCoreCMakeBuilder:
          # No need to build tests
          args.append("-DBUILD_TESTING=OFF")
-+
+ 
 +        # Always use flex from ports
 +        args.append("-DFLEX_EXECUTABLE:FILEPATH=%%LOCALBASE%%/bin/flex")
 +	
 +        # Don't try to use git
 +        args.append("-DCMAKE_DISABLE_FIND_PACKAGE_Git:BOOL=True")
-         
++        
          # Do not treat compilation warnings as errors in case someone is trying
          # to "pip install" igraph in an environment for which we don't provide
+         # wheels and the compiler complains about harmless things
diff --git a/math/py-igraph/files/patch-vendor_source_igraph_etc_cmake_compilers.cmake b/math/py-igraph/files/patch-vendor_source_igraph_etc_cmake_compilers.cmake
new file mode 100644
index 000000000000..c0f153b37fa3
--- /dev/null
+++ b/math/py-igraph/files/patch-vendor_source_igraph_etc_cmake_compilers.cmake
@@ -0,0 +1,19 @@
+Strip the _POSIX_C_SOURCE=200809L define again, our libc++ breaks claiming
+that a set included from locale cannot find isascii()...
+
+--- vendor/source/igraph/etc/cmake/compilers.cmake.orig	2025-06-11 00:03:00 UTC
++++ vendor/source/igraph/etc/cmake/compilers.cmake
+@@ -1,13 +1,5 @@ include(CheckCCompilerFlag)
+ include(CheckCCompilerFlag)
+ 
+-# Enable POSIX features. This needs to be set here instead of in source files so
+-# that it affects CMake-based feature tests.
+-#
+-# See:
+-#  - https://pubs.opengroup.org/onlinepubs/007904875/functions/xsh_chap02_02.html
+-#  - https://www.gnu.org/software/libc/manual/html_node/Feature-Test-Macros.html
+-add_compile_definitions(_POSIX_C_SOURCE=200809L)
+-
+ if(MSVC)
+   add_compile_options(/FS)
+   add_compile_definitions(_CRT_SECURE_NO_WARNINGS) # necessary to compile for UWP