summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2024-04-11 20:39:48 -0700
committerYuri Victorovich <yuri@FreeBSD.org>2024-04-11 20:39:48 -0700
commite51da618ba0a89924a245ca929e568021f79746c (patch)
tree1001660c32f222f5566e74a5b21c5dfee9024cc2 /math
parentmath/py-Pyomo: update 6.7.0 → 6.7.1 (diff)
math/py-dionysus: FIx build failure with clang-18; Add tests
Reported by: fallout
Diffstat (limited to 'math')
-rw-r--r--math/py-dionysus/Makefile6
-rw-r--r--math/py-dionysus/files/patch-bindings_python_boundary.cpp13
2 files changed, 18 insertions, 1 deletions
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;
+ }