git: cfa907c04b97 - main - graphics/py-scikit-image: Update to 0.25.2

From: Max Brazhnikov <makc_at_FreeBSD.org>
Date: Sun, 21 Sep 2025 12:52:39 UTC
The branch main has been updated by makc:

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

commit cfa907c04b97dab3045db7758b0c72fe2d3f079d
Author:     Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2025-09-21 12:43:59 +0000
Commit:     Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2025-09-21 12:51:32 +0000

    graphics/py-scikit-image: Update to 0.25.2
    
    The previous updates were blocked due to outdated setuptools in the ports-tree.
    Upstream has swithched to meson build meanwhile, making this update possible.
    
    - Clean up runtime dependencies, require only bare mininum.
    - Switch to PYPI.
    
    PR:             289075
---
 graphics/py-scikit-image/Makefile                  | 30 +++++------
 graphics/py-scikit-image/distinfo                  |  6 +--
 .../py-scikit-image/files/patch-pyproject.toml     | 61 ++++++++--------------
 3 files changed, 39 insertions(+), 58 deletions(-)

diff --git a/graphics/py-scikit-image/Makefile b/graphics/py-scikit-image/Makefile
index 6d8485b63a83..92d7f6c761ef 100644
--- a/graphics/py-scikit-image/Makefile
+++ b/graphics/py-scikit-image/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	scikit-image
-PORTVERSION=	0.19.3
-DISTVERSIONPREFIX=	v
-PORTREVISION=	4
+PORTVERSION=	0.25.2
 CATEGORIES=	graphics python
+MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+DISTNAME=	scikit_image-${DISTVERSION}
 
 MAINTAINER=	makc@FreeBSD.org
 COMMENT=	Image processing in Python
@@ -13,25 +13,25 @@ LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE.txt
 
 BUILD_DEPENDS=	${PYNUMPY} \
-		${PYTHON_PKGNAMEPREFIX}packaging>0:devel/py-packaging@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pythran>0:devel/py-pythran@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}lazy_loader>=0.4:devel/py-lazy_loader@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}meson-python>=0.16:devel/meson-python@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pythran>=0.16:devel/py-pythran@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
 RUN_DEPENDS=	${PYNUMPY} \
-		${PYTHON_PKGNAMEPREFIX}cloudpickle>=0.2.1:devel/py-cloudpickle@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}imageio>=2.4.1:graphics/py-imageio@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}matplotlib>=1.1:math/py-matplotlib@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}networkx>=2.2:math/py-networkx@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}imageio>2.35.0:graphics/py-imageio@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}lazy_loader>=0.4:devel/py-lazy_loader@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}networkx>=3.0:math/py-networkx@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}packaging>=21:devel/py-packaging@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pillow>=10.1:graphics/py-pillow@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}pywavelets>=1.5.0:math/py-pywavelets@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}scipy>=1.4.1:science/py-scipy@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}tifffile>=2019.7.26:graphics/py-tifffile@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}scipy>=1.11.4:science/py-scipy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}tifffile>=2022.8.12:graphics/py-tifffile@${PY_FLAVOR}
 
 USES=		compiler:c++11-lang python shebangfix
-USE_GITHUB=	yes
-USE_PYTHON=	autoplist concurrent cython cython_run pep517
+USE_PYTHON=	autoplist cython3 pep517
 
-SHEBANG_FILES=	skimage/scripts/skivi
+BINARY_ALIAS=	python=${PYTHON_CMD} \
+		python3=${PYTHON_CMD}
 
 post-install:
 	@${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/skimage -name "*.so" -exec ${STRIP_CMD} {} \;
diff --git a/graphics/py-scikit-image/distinfo b/graphics/py-scikit-image/distinfo
index 3ee07516de0e..8b324c686a50 100644
--- a/graphics/py-scikit-image/distinfo
+++ b/graphics/py-scikit-image/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1662028806
-SHA256 (scikit-image-scikit-image-v0.19.3_GH0.tar.gz) = 4eb877c98d1395769daef5bc2ba8a7efd3f736c87086aecb3775a9174593398b
-SIZE (scikit-image-scikit-image-v0.19.3_GH0.tar.gz) = 22978982
+TIMESTAMP = 1758404066
+SHA256 (scikit_image-0.25.2.tar.gz) = e5a37e6cd4d0c018a7a55b9d601357e3382826d3888c10d0213fc63bff977dde
+SIZE (scikit_image-0.25.2.tar.gz) = 22693594
diff --git a/graphics/py-scikit-image/files/patch-pyproject.toml b/graphics/py-scikit-image/files/patch-pyproject.toml
index 018f5fbe0a7d..71596ab88d03 100644
--- a/graphics/py-scikit-image/files/patch-pyproject.toml
+++ b/graphics/py-scikit-image/files/patch-pyproject.toml
@@ -1,42 +1,23 @@
---- pyproject.toml.orig	2022-06-12 15:28:34 UTC
+--- pyproject.toml.orig	2025-02-18 17:45:36 UTC
 +++ pyproject.toml
-@@ -1,37 +1,10 @@ requires = [
- [build-system]
- requires = [
-     "wheel",
--    "setuptools<=59.4",
-+    "setuptools",
-     "packaging",
-     "Cython>=0.29.24,<3.0",
-     "pythran",
- 
--    # We follow scipy for much of these pinnings
--    # https://github.com/scipy/scipy/blob/master/pyproject.toml
--    # numpy 1.19 was the first minor release to provide aarch64 wheels, but
--    # wheels require fixes contained in numpy 1.19.2
--    "numpy==1.19.2; python_version=='3.7' and platform_machine=='aarch64'",
--    "numpy==1.19.2; python_version=='3.8' and platform_machine=='aarch64'",
--    # aarch64 for py39 and py310 are covered by the default requirement below
--
--    # arm64 on Darwin supports Python 3.8 and above requires numpy>=1.20.0
--    "numpy==1.20.0; python_version=='3.8' and platform_machine=='arm64' and platform_system=='Darwin'",
--    "numpy==1.20.0; python_version=='3.9' and platform_machine=='arm64' and platform_system=='Darwin'",
--    # arm64 for py310 is covered by the default requirement below
--
--    # default numpy requirements
--    "numpy==1.17.3; python_version=='3.7' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
--    "numpy==1.17.3; python_version=='3.8' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_machine!='aarch64' and platform_python_implementation != 'PyPy'",
--    "numpy==1.19.3; python_version=='3.9' and (platform_machine!='arm64' or platform_system!='Darwin') and platform_python_implementation != 'PyPy'",
--    "numpy==1.21.4; python_version=='3.10' and platform_python_implementation != 'PyPy'",
--
--    # First PyPy versions for which there are numpy wheels
--    "numpy==1.20.0; python_version=='3.7' and platform_python_implementation=='PyPy'",
--
--    # For Python versions which aren't yet officially supported,
--    # we specify an unpinned NumPy which allows source distributions
--    # to be used and allows wheels to be used as soon as they
--    # become available.
--    "numpy; python_version>='3.11'",
--    "numpy; python_version>='3.8' and platform_python_implementation=='PyPy'",
-+    "numpy",
+@@ -50,9 +50,9 @@ build = [
+     'ninja>=1.11.1.1',
+     'Cython>=3.0.8',
+     'pythran>=0.16',
+-    'numpy>=2.0',
++    'numpy>=1.24',
+     # Developer UI
+-    'spin==0.13',
++    'spin>=0.13',
+     'build>=1.2.1',
+ ]
+ data = ['pooch>=1.6.0']
+@@ -120,7 +120,7 @@ requires = [
+     'Cython>=3.0.8',
+     'pythran>=0.16',
+     'lazy_loader>=0.4',
+-    'numpy>=2.0',
++    'numpy>=1.24',
  ]
+ 
+ [tool.spin]