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 @@ -1,30 +1,34 @@ PORTNAME= dionysus PORTVERSION= 2.0.10 CATEGORIES= math MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} PKGNAMESUFFIX= -topology-library MAINTAINER= yuri@FreeBSD.org COMMENT= Library for computing persistent homology WWW= https://mrzv.org/software/dionysus2/ LICENSE= BSD3CLAUSE 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 \ ${PYTHON_SITELIBDIR}/dionysus/plot.py do-install: cd ${BUILD_WRKSRC}/bindings/python && ${COPYTREE_SHARE} ${PORTNAME} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} .include 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; + }