git: e51da618ba0a - main - math/py-dionysus: FIx build failure with clang-18; Add tests

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Fri, 12 Apr 2024 03:40:20 UTC
The branch main has been updated by yuri:

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

commit e51da618ba0a89924a245ca929e568021f79746c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-04-12 03:39:48 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-04-12 03:39:48 +0000

    math/py-dionysus: FIx build failure with clang-18; Add tests
    
    Reported by:    fallout
---
 math/py-dionysus/Makefile                                 |  6 +++++-
 math/py-dionysus/files/patch-bindings_python_boundary.cpp | 13 +++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/math/py-dionysus/Makefile b/math/py-dionysus/Makefile
index ae884f939382..183493010c9e 100644
--- a/math/py-dionysus/Makefile
+++ b/math/py-dionysus/Makefile
@@ -14,11 +14,15 @@ LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
 BUILD_DEPENDS=	${LOCALBASE}/include/boost/range/adaptors.hpp:devel/boost-libs
 
-USES=		cmake python
+USES=		cmake compiler:c++14-lang python
+USE_PYTHON=	flavors pytest # 1 test fails, see https://github.com/mrzv/dionysus/issues/64, another one loops forever
 
 CMAKE_ARGS=	-DPython_EXECUTABLE:STRING=${PYTHON_CMD}
 CMAKE_OFF=	build_examples
 
+TEST_WRKSRC=	${WRKSRC}/tests
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
 PLIST_FILES=	${PYTHON_SITELIBDIR}/dionysus/__init__.py \
 		${PYTHON_SITELIBDIR}/dionysus/_dionysus${PYTHON_EXT_SUFFIX}.so \
 		${PYTHON_SITELIBDIR}/dionysus/_version.py \
diff --git a/math/py-dionysus/files/patch-bindings_python_boundary.cpp b/math/py-dionysus/files/patch-bindings_python_boundary.cpp
new file mode 100644
index 000000000000..f15f7504aa8e
--- /dev/null
+++ b/math/py-dionysus/files/patch-bindings_python_boundary.cpp
@@ -0,0 +1,13 @@
+- workaround for https://github.com/mrzv/dionysus/issues/63
+
+--- bindings/python/boundary.cpp.orig	2024-04-12 03:21:33 UTC
++++ bindings/python/boundary.cpp
+@@ -68,7 +68,7 @@ PyMatrixFiltration coboundary(const PyFiltration& f)
+                           return Entry(ee, f.index(e.index()));
+                         }))
+         {
+-            m.column(n - 1 - x.index()).emplace_back(Entry { x.element(), n - 1 - i });
++            m.column(n - 1 - x.index()).emplace_back(Entry { x.element(), (unsigned int)(n - 1 - i) });
+         }
+         ++i;
+     }