git: 6f42157f533d - main - math/py-PyWavelets: switch to pep517 and to PyPI

From: Max Brazhnikov <makc_at_FreeBSD.org>
Date: Wed, 28 Aug 2024 11:21:56 UTC
The branch main has been updated by makc:

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

commit 6f42157f533dc1b91cebac8d58a9a6240856d70e
Author:     Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2024-08-28 11:20:09 +0000
Commit:     Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2024-08-28 11:20:09 +0000

    math/py-PyWavelets: switch to pep517 and to PyPI
    
    Switch to pep517 and to PyPI.
---
 math/py-PyWavelets/Makefile                   | 17 +++++------
 math/py-PyWavelets/distinfo                   |  6 ++--
 math/py-PyWavelets/files/patch-pyproject.toml | 43 +++++++++++++++++++++++++++
 3 files changed, 54 insertions(+), 12 deletions(-)

diff --git a/math/py-PyWavelets/Makefile b/math/py-PyWavelets/Makefile
index 6b5bf6f3e52d..bcd76711e774 100644
--- a/math/py-PyWavelets/Makefile
+++ b/math/py-PyWavelets/Makefile
@@ -1,8 +1,8 @@
 PORTNAME=	PyWavelets
 PORTVERSION=	1.4.1
-PORTREVISION=	1
-DISTVERSIONPREFIX=	v
+PORTREVISION=	2
 CATEGORIES=	math python
+MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	makc@FreeBSD.org
@@ -12,16 +12,15 @@ WWW=		https://github.com/PyWavelets/pywt
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-BUILD_DEPENDS=	${PYNUMPY}
+BUILD_DEPENDS=	${PYNUMPY} \
+		${PYTHON_PKGNAMEPREFIX}setuptools>=0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
 RUN_DEPENDS=	${PYNUMPY}
 
-USE_GITHUB=	yes
-GH_PROJECT=	pywt
-
 USES=		python
-USE_PYTHON=	autoplist distutils cython cython_run
+USE_PYTHON=	autoplist cython pep517
 
-PYDISTUTILS_BUILD_TARGET=	build build_ext
-PYDISTUTILS_BUILDARGS+=		saveopts
+post-install:
+	${STRIP_CMD} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/pywt/_extensions/*.so
 
 .include <bsd.port.mk>
diff --git a/math/py-PyWavelets/distinfo b/math/py-PyWavelets/distinfo
index bc4c6b697709..2ad92327aea6 100644
--- a/math/py-PyWavelets/distinfo
+++ b/math/py-PyWavelets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1667936687
-SHA256 (PyWavelets-pywt-v1.4.1_GH0.tar.gz) = b1d0edca28998d35ec1bbc31f009b334a98b475f67b1c84f7521eb689a8607f8
-SIZE (PyWavelets-pywt-v1.4.1_GH0.tar.gz) = 3941439
+TIMESTAMP = 1724843132
+SHA256 (PyWavelets-1.4.1.tar.gz) = 6437af3ddf083118c26d8f97ab43b0724b956c9f958e9ea788659f6a2834ba93
+SIZE (PyWavelets-1.4.1.tar.gz) = 4589677
diff --git a/math/py-PyWavelets/files/patch-pyproject.toml b/math/py-PyWavelets/files/patch-pyproject.toml
new file mode 100644
index 000000000000..a4df3902ae8e
--- /dev/null
+++ b/math/py-PyWavelets/files/patch-pyproject.toml
@@ -0,0 +1,43 @@
+--- pyproject.toml.orig	2022-09-16 08:55:28 UTC
++++ pyproject.toml
+@@ -9,39 +9,5 @@ requires = [
+     "wheel",
+     "setuptools<65",
+     "Cython>=0.29.24,<3.0",
+-
+-    # NumPy dependencies - to update these, sync from
+-    # https://github.com/scipy/oldest-supported-numpy/, and then
+-    # update minimum version to match our install_requires min version
+-    # ----------------------------------------------------------------
+-
+-    # 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.8' and platform_machine=='aarch64'",
+-    # aarch64 for py39 is covered by 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'",
+-
+-    # On Windows we need to avoid 1.21.6, 1.22.0 and 1.22.1 because they were
+-    # built with vc142. 1.22.3 is the first version that has 32-bit Windows
+-    # wheels *and* was built with vc141. So use that:
+-    "numpy==1.22.3; python_version=='3.10' and platform_system=='Windows' and platform_python_implementation != 'PyPy'",
+-
+-    # default numpy requirements
+-    "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'",
+-    # Note that 1.21.3 was the first version with a complete set of 3.10 wheels,
+-    # however macOS was broken and it's safe C API/ABI-wise to build against 1.21.6
+-    # (see oldest-supported-numpy issues gh-28 and gh-45)
+-    "numpy==1.21.6; python_version=='3.10' and (platform_system!='Windows' and platform_machine!='loongarch64') and platform_python_implementation != 'PyPy'",
+-    "numpy==1.23.3; python_version=='3.11' 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.12'",
+-    "numpy; python_version>='3.8' and platform_python_implementation=='PyPy'",
++    "numpy",
+ ]