git: dfed00c2382c - main - science/py-scikit-sparse: update 0.4.16 → 0.5.0

Yuri Victorovich <[email protected]> Thu, 06 Aug 2026 02:19:04 +0000
Newsgroups gmane.os.freebsd.devel.cvs.ports
Message-ID <6a73ef18.3bdde.38b251c3__34487.1721624926$1785982988$gmane$org@gitrepo.freebsd.org>
The branch main has been updated by yuri:

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

commit dfed00c2382c9c409cb4d96bd3ccef4790d2a1c6
Author:     Yuri Victorovich <[email protected]>
AuthorDate: 2026-08-06 01:13:20 +0000
Commit:     Yuri Victorovich <[email protected]>
CommitDate: 2026-08-06 02:18:50 +0000

    science/py-scikit-sparse: update 0.4.16 → 0.5.0
---
 science/py-scikit-sparse/Makefile                  | 36 ++++++++++++++--------
 science/py-scikit-sparse/distinfo                  |  6 ++--
 .../py-scikit-sparse/files/patch-pyproject.toml    | 15 +++++++++
 science/py-scikit-sparse/pkg-descr                 |  5 +++
 4 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/science/py-scikit-sparse/Makefile b/science/py-scikit-sparse/Makefile
index f94fc8d00c72..07255a9899f6 100644
--- a/science/py-scikit-sparse/Makefile
+++ b/science/py-scikit-sparse/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	scikit-sparse
 DISTVERSIONPREFIX=	v
-DISTVERSION=	0.4.16
-PORTREVISION=	4
+DISTVERSION=	0.5.0
 CATEGORIES=	science python
 #MASTER_SITES=	PYPI # missing files under tests/
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -13,25 +12,36 @@ WWW=		https://github.com/scikit-sparse/scikit-sparse
 LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
-BUILD_DEPENDS=	${RUN_DEPENDS}
-LIB_DEPENDS=	libumfpack.so:math/suitesparse-umfpack	\
-		libcholmod.so:math/suitesparse-cholmod
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}scipy>=0.19:science/py-scipy@${PY_FLAVOR}
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=2.0:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+LIB_DEPENDS=	libamd.so:math/suitesparse-amd \
+		libbtf.so:math/suitesparse-btf \
+		libcamd.so:math/suitesparse-camd \
+		libccolamd.so:math/suitesparse-ccolamd \
+		libcholmod.so:math/suitesparse-cholmod \
+		libcolamd.so:math/suitesparse-colamd \
+		libklu.so:math/suitesparse-klu \
+		libspqr.so:math/suitesparse-spqr \
+		libumfpack.so:math/suitesparse-umfpack
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>2.0:math/py-numpy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.14:science/py-scipy@${PY_FLAVOR}
 
 USES=		fortran python
-USE_PYTHON=	distutils cython autoplist pytest
+USE_PYTHON=	pep517 cython autoplist pytest
 USE_GITHUB=	yes
 
-CFLAGS+=	-I${LOCALBASE}/include/suitesparse
-LDFLAGS+=	-shared
+MAKE_ENV=	SUITESPARSE_INCLUDE_DIR=${LOCALBASE}/include/suitesparse \
+		SUITESPARSE_LIBRARY_DIR=${LOCALBASE}/lib
 
 TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
-TEST_WRKSRC=	${WRKSRC}/tests
+TEST_WRKSRC=	${WRKSRC}
+TEST_ARGS=	-p no:cov -p no:xdist
 
 post-install:
-	@${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/sksparse/cholmod*.so
+	@${FIND} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/sksparse -name "*.so" | ${XARGS} ${STRIP_CMD}
 
-# tests as of 0.4.16: 10 passed, 400 warnings in 27.47
+# tests as of 0.5.0: 9285 passed, 3 xfailed in 24.82s
 
 .include <bsd.port.mk>
diff --git a/science/py-scikit-sparse/distinfo b/science/py-scikit-sparse/distinfo
index 2278af1b41e1..30d24af84f03 100644
--- a/science/py-scikit-sparse/distinfo
+++ b/science/py-scikit-sparse/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761722287
-SHA256 (scikit-sparse-scikit-sparse-v0.4.16_GH0.tar.gz) = be75af5e8a9ff4bb947c2de02936d26b7727b1f92aa74fbd6cdb57414946e82f
-SIZE (scikit-sparse-scikit-sparse-v0.4.16_GH0.tar.gz) = 414706
+TIMESTAMP = 1785916036
+SHA256 (scikit-sparse-scikit-sparse-v0.5.0_GH0.tar.gz) = 2f98b2c7d089a65d3eaa7533393966b9e695a429509cf0c4f5d9bca05a3f8687
+SIZE (scikit-sparse-scikit-sparse-v0.5.0_GH0.tar.gz) = 3475986
diff --git a/science/py-scikit-sparse/files/patch-pyproject.toml b/science/py-scikit-sparse/files/patch-pyproject.toml
new file mode 100644
index 000000000000..cad30b51313d
--- /dev/null
+++ b/science/py-scikit-sparse/files/patch-pyproject.toml
@@ -0,0 +1,15 @@
+-- Use the setuptools version available in FreeBSD ports and the legacy
+-- license form supported by older setuptools.
+
+--- pyproject.toml.orig	2026-08-05 07:48:05 UTC
++++ pyproject.toml
+@@ -9,8 +9,7 @@ requires-python = ">=3.10"
+ description = "Scikit-sparse is a Python wrapper for the SuiteSparse sparse matrix library."
+ readme = "README.rst"
+ requires-python = ">=3.10"
+-license = "BSD-2-Clause"
+-license-files = ["LICENSE.txt"]
++license = {text = "BSD-2-Clause"}
+ 
+ authors = [
+     { name = "David Cournapeau", email = "[email protected]" },
diff --git a/science/py-scikit-sparse/pkg-descr b/science/py-scikit-sparse/pkg-descr
index 79eda251457e..2c2042a6617f 100644
--- a/science/py-scikit-sparse/pkg-descr
+++ b/science/py-scikit-sparse/pkg-descr
@@ -1 +1,6 @@
 scikits-sparse is a Python module for sparse matrix calculations.
+
+The scikit-sparse package is a companion to the scipy.sparse package for sparse
+matrix manipulation in Python. It provides routines that are not suitable for
+inclusion in scipy.sparse proper, typically because they depend on external
+libraries with GPL licenses, such as SuiteSparse.