git: 550d75481807 - main - graphics/py-pyvista: update 0.34.2 → 0.48.4

Yuri Victorovich <[email protected]> Thu, 06 Aug 2026 02:18:55 +0000
Newsgroups gmane.os.freebsd.devel.cvs.ports
Message-ID <6a73ef0f.3cc9e.fb0b348__35855.9784175426$1785982902$gmane$org@gitrepo.freebsd.org>
The branch main has been updated by yuri:

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

commit 550d754818072f79483da46e4bc175728a08c1ee
Author:     Yuri Victorovich <[email protected]>
AuthorDate: 2026-08-06 00:51:24 +0000
Commit:     Yuri Victorovich <[email protected]>
CommitDate: 2026-08-06 02:18:49 +0000

    graphics/py-pyvista: update 0.34.2 → 0.48.4
---
 graphics/py-pyvista/Makefile                   | 27 ++++++++++++----
 graphics/py-pyvista/distinfo                   |  6 ++--
 graphics/py-pyvista/files/patch-pyproject.toml | 45 ++++++++++++++++++++++++++
 graphics/py-pyvista/files/patch-setup.py       | 11 -------
 4 files changed, 69 insertions(+), 20 deletions(-)

diff --git a/graphics/py-pyvista/Makefile b/graphics/py-pyvista/Makefile
index b78e9a356a42..c0deac098166 100644
--- a/graphics/py-pyvista/Makefile
+++ b/graphics/py-pyvista/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	pyvista
-DISTVERSION=	0.34.2
-PORTREVISION=	10
+DISTVERSION=	0.48.4
 CATEGORIES=	graphics python
 MASTER_SITES=	PYPI
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -12,15 +11,31 @@ WWW=		https://github.com/pyvista/pyvista
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}numpy>=1.16:math/py-numpy@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}imageio>0:graphics/py-imageio@${PY_FLAVOR} \
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}cyclopts>=4.0.0:devel/py-cyclopts@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}matplotlib>=3.0.1:math/py-matplotlib@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}numpy>=1.21.0:math/py-numpy@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pooch>0:devel/py-pooch@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}scooby>=0.5.1:devel/py-scooby@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.10:devel/py-typing-extensions@${PY_FLAVOR} \
 		vtk${VTK_VER:R}>0:math/vtk${VTK_VER:R}
 
 USES=		python
-USE_PYTHON=	distutils autoplist
+USE_PYTHON=	pep517 autoplist pytest
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} MPLBACKEND=agg
+TEST_WRKSRC=	${WRKSRC}
+TEST_ARGS=	-o filterwarnings=default -p no:cov -p no:black -p no:mypy -p no:benchmark \
+		tests/test_init.py tests/test_meta.py tests/test_warn_external.py
+PYTEST_IGNORED_TESTS=	test_plotting_attribute_cached test_pyvista_oo_flag test_plotting_getattr_called_once
+
+# The full test suite requires a display/GUI environment and the pytest-pyvista
+# helper which is not yet packaged for FreeBSD. Only a small set of safe tests is
+# run. The skipped tests fail because the math/vtk9 package does not include the
+# vtkRenderingMatplotlib module.
+# tests as of 0.48.4: 7 passed in 4.40s (3 ignored due to missing VTK module)
 
 NO_ARCH=	yes
 
diff --git a/graphics/py-pyvista/distinfo b/graphics/py-pyvista/distinfo
index 5e3b9efd41ec..ab46f5c5c8f3 100644
--- a/graphics/py-pyvista/distinfo
+++ b/graphics/py-pyvista/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1656654897
-SHA256 (pyvista-0.34.2.tar.gz) = 410d52a9c4d57c86823e8db0f1b51bd947702c82685da8bfdb78e98f82b3ae24
-SIZE (pyvista-0.34.2.tar.gz) = 1399464
+TIMESTAMP = 1785898970
+SHA256 (pyvista-0.48.4.tar.gz) = c639dad1bddff5e366d77371f66f783f6e6a0581446810a66439902222d8db07
+SIZE (pyvista-0.48.4.tar.gz) = 2581423
diff --git a/graphics/py-pyvista/files/patch-pyproject.toml b/graphics/py-pyvista/files/patch-pyproject.toml
new file mode 100644
index 000000000000..4b9ffd08bd18
--- /dev/null
+++ b/graphics/py-pyvista/files/patch-pyproject.toml
@@ -0,0 +1,45 @@
+-- Adjust pyproject.toml for compatibility with the setuptools version in the FreeBSD ports tree.
+-- Remove the high setuptools version requirement and use the PEP 621 license.text form
+-- supported by the available setuptools. Also remove pytest-pyvista-specific options
+-- because the pytest-pyvista helper is not packaged for FreeBSD yet; the remaining
+-- tests do not need it.
+
+--- pyproject.toml.orig	2026-05-18 02:25:26 UTC
++++ pyproject.toml
+@@ -1,6 +1,6 @@ build-backend = 'setuptools.build_meta'
+ [build-system]
+ build-backend = 'setuptools.build_meta'
+-requires = ['setuptools>=77.0.3']
++requires = ['setuptools']
+ 
+ [project]
+ authors = [{ name = 'PyVista Developers', email = '[email protected]' }]
+@@ -33,7 +33,7 @@ keywords = ['mesh', 'numpy', 'plotting', 'vtk']
+ description = '3D visualization and mesh analysis for science and engineering.'
+ dynamic = ['version']
+ keywords = ['mesh', 'numpy', 'plotting', 'vtk']
+-license = 'MIT'
++license = {text = 'MIT'}
+ name = 'pyvista'
+ readme = 'README.md'
+ requires-python = '>=3.10'
+@@ -300,19 +300,6 @@ xfail_strict = true
+ testpaths = 'tests'
+ xfail_strict = true
+ 
+-# pytest-pyvista options
+-doc_failed_image_dir = '_doc_failed_test_images'
+-doc_generated_image_dir = '_doc_generated_test_images'
+-doc_image_cache_dir = 'tests/doc/doc_image_cache'
+-doc_image_format = 'jpg'
+-doc_images_dir = 'doc/_build/html/_images'
+-failed_image_dir = '_failed_test_images'
+-generated_image_dir = '_generated_test_images'
+-image_cache_dir = 'tests/plotting/image_cache'
+-image_format = 'png'
+-include_vtksz = true
+-max_image_size = 400 # pixels
+-max_vtksz_file_size = 25 # MB
+ 
+ [tool.mypy]
+ check_untyped_defs = true
diff --git a/graphics/py-pyvista/files/patch-setup.py b/graphics/py-pyvista/files/patch-setup.py
deleted file mode 100644
index f64db2b3eab8..000000000000
--- a/graphics/py-pyvista/files/patch-setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- setup.py.orig	2026-04-13 05:09:30 UTC
-+++ setup.py
-@@ -71,7 +71,7 @@ setup(
-             '2k_earth_daymap.jpg',
-         ],
-     },
--    python_requires='>=3.7.*',
-+    python_requires='>=3.7',
-     install_requires=install_requires,
-     extras_require={
-         'all': ['matplotlib', 'colorcet', 'cmocean', 'meshio'],