git: 0c041ad4a2d2 - main - textproc/py-python-lsp-black: New port: Black plugin for the Python LSP Server

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Thu, 13 Oct 2022 17:25:48 UTC
The branch main has been updated by yuri:

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

commit 0c041ad4a2d2ade16fb3a91a5e651f018e33455f
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-10-13 14:41:27 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-10-13 17:25:45 +0000

    textproc/py-python-lsp-black: New port: Black plugin for the Python LSP Server
---
 cad/appcsxcad/Makefile                             |  7 +-
 cad/csxcad/Makefile                                |  7 +-
 cad/opencascade/Makefile                           |  9 ++-
 .../patch-src_IVtkDraw_IVtkDraw__Interactor.cxx    | 17 +++++
 cad/qcsxcad/Makefile                               |  7 +-
 devel/py-spyder/Makefile                           | 76 +++++++++++++++++++---
 devel/py-spyder/files/patch-setup.py               | 11 ----
 graphics/cloudcompare/Makefile                     |  5 +-
 graphics/f3d/Makefile                              | 13 ++--
 graphics/mirtk/Makefile                            |  5 +-
 graphics/opencv/Makefile                           |  5 +-
 graphics/pcl-pointclouds/Makefile                  |  7 +-
 graphics/py-mayavi/Makefile                        |  2 +
 graphics/py-pyvista/Makefile                       |  2 +
 math/py-rustworkx/Makefile                         |  3 +
 math/vtk9/Makefile                                 | 15 ++---
 math/vtk9/distinfo                                 |  6 +-
 ...ThirdParty_exodusII_vtkexodusII_src_ex__utils.c | 12 ----
 ...h-ThirdParty_libproj_vtklibproj_src_pj__mutex.c | 11 ----
 science/elmerfem/Makefile                          |  6 +-
 science/liggghts/Makefile                          |  7 +-
 science/openems/Makefile                           |  7 +-
 science/paraview/Makefile                          |  3 +-
 textproc/Makefile                                  |  1 +
 textproc/py-python-lsp-black/Makefile              | 20 ++++++
 textproc/py-python-lsp-black/distinfo              |  3 +
 textproc/py-python-lsp-black/pkg-descr             | 15 +++++
 27 files changed, 193 insertions(+), 89 deletions(-)

diff --git a/cad/appcsxcad/Makefile b/cad/appcsxcad/Makefile
index eeacd1ff5ed4..391abcce4447 100644
--- a/cad/appcsxcad/Makefile
+++ b/cad/appcsxcad/Makefile
@@ -2,7 +2,7 @@ PORTNAME=	appcsxcad
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.2.2-9
 DISTVERSIONSUFFIX=	-g97ba30e
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	cad
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -20,7 +20,7 @@ LIB_DEPENDS=	libCSXCAD.so:cad/csxcad \
 		libQCSXCAD.so:cad/qcsxcad \
 		libsz.so:science/libaec \
 		libtiff.so:graphics/tiff \
-		libvtkCommonCore-9.1.so:math/vtk9
+		libvtkCommonCore-${VTK_VER}.so:math/vtk9
 
 USES=		cmake jpeg pkgconfig qt:5 xorg
 USE_QT=		core gui sql widgets xml buildtools:build qmake:build
@@ -31,7 +31,7 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	thliebig
 GH_PROJECT=	AppCSXCAD
 
-CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1
+CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER}
 
 PLIST_FILES=	bin/AppCSXCAD
 
@@ -40,4 +40,5 @@ post-install:
 
 # an example of file that AppCSXCAD opens (zipped): http://openems.de/forum/download/file.php?id=418&sid=6daebbb2df72b415fa2ec7031ffa6ca9
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/cad/csxcad/Makefile b/cad/csxcad/Makefile
index 4c2563b0c173..55b3091b7edf 100644
--- a/cad/csxcad/Makefile
+++ b/cad/csxcad/Makefile
@@ -2,7 +2,7 @@ PORTNAME=	csxcad
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.6.2-109
 DISTVERSIONSUFFIX=	-gcd9decb
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	cad
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -22,7 +22,7 @@ LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 		libsz.so:science/libaec \
 		libtiff.so:graphics/tiff \
 		libtinyxml.so:textproc/tinyxml \
-		libvtkCommonCore-9.1.so:math/vtk9
+		libvtkCommonCore-${VTK_VER}.so:math/vtk9
 
 USES=		cmake jpeg pkgconfig
 USE_LDCONFIG=	yes
@@ -32,6 +32,7 @@ GH_ACCOUNT=	thliebig
 GH_PROJECT=	${PORTNAME:tu}
 
 CMAKE_ARGS=	-DFPARSER_ROOT_DIR=${LOCALBASE} \
-		-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1
+		-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER}
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/cad/opencascade/Makefile b/cad/opencascade/Makefile
index 0ff44d1e1b94..d10b1d6a1967 100644
--- a/cad/opencascade/Makefile
+++ b/cad/opencascade/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	opencascade
 PORTVERSION=	7.6.0
-PORTREVISION=	8
+PORTREVISION=	9
 CATEGORIES=	cad science
 MASTER_SITES=	LOCAL/thierry
 
@@ -20,7 +20,7 @@ LIB_DEPENDS=	libfontconfig.so:x11-fonts/fontconfig	\
 		libfreetype.so:print/freetype2		\
 		libexpat.so:textproc/expat2		\
 		libpng16.so:graphics/png		\
-		libvtksys-${VTKVER}.so:math/vtk${VTKVER:R}
+		libvtksys-${VTK_VER}.so:math/vtk${VTK_VER:R}
 RUN_DEPENDS=	bash:shells/bash
 
 # Check ${WRKSRC}/dox/overview/overview.md
@@ -40,8 +40,6 @@ SHEBANG_FILES=	adm/templates/*.sh	\
 		gendoc
 ENVSH=		adm/templates/env.sh
 
-VTKVER=		9.1
-
 OPTIONS_DEFINE=	DOCS DOXYGEN FFMPEG VIS
 VIS_DESC=	Build Visualizazion module (requires OpenGL, freetype, ftgl)
 OPTIONS_DEFAULT=FFMPEG VIS
@@ -62,7 +60,7 @@ CMAKE_ARGS+=	-DINSTALL_DIR=${OCCROOT}				\
 		-DUSE_TBB:BOOL=OFF					\
 		-DUSE_RAPIDJSON:BOOL=ON					\
 		-DUSE_VTK:BOOL=ON					\
-		-D3RDPARTY_VTK_INCLUDE_DIR:PATH=${LOCALBASE}/include/vtk-${VTKVER}
+		-D3RDPARTY_VTK_INCLUDE_DIR:PATH=${LOCALBASE}/include/vtk-${VTK_VER}
 CONFIGURE_ENV+=	DESTDIR=${STAGEDIR}
 
 .if defined(MAINTAINER_MODE)
@@ -181,4 +179,5 @@ regression-test:	install
 	DRAWEXE -f ${FILESDIR}/regtest "
 .endif
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx
new file mode 100644
index 000000000000..e5b6146f4111
--- /dev/null
+++ b/cad/opencascade/files/patch-src_IVtkDraw_IVtkDraw__Interactor.cxx
@@ -0,0 +1,17 @@
+- workaround for https://gitlab.kitware.com/vtk/vtk/-/issues/18683
+
+--- src/IVtkDraw/IVtkDraw_Interactor.cxx.orig	2021-10-30 11:13:52 UTC
++++ src/IVtkDraw/IVtkDraw_Interactor.cxx
+@@ -26,6 +26,12 @@
+ #ifdef AllValues
+ #undef AllValues
+ #endif
++#ifdef Status
++#undef Status
++#endif
++#ifdef Success
++#undef Success
++#endif
+ 
+ #include <vtkXRenderWindowInteractor.h>
+ #include <vtkXOpenGLRenderWindow.h>
diff --git a/cad/qcsxcad/Makefile b/cad/qcsxcad/Makefile
index 8fc566507178..2ac32b0d67bc 100644
--- a/cad/qcsxcad/Makefile
+++ b/cad/qcsxcad/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	qcsxcad
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.6.2-9
-PORTREVISION=	1
+PORTREVISION=	2
 DISTVERSIONSUFFIX=	-g3f09a8b
 CATEGORIES=	cad
 
@@ -18,7 +18,7 @@ LIB_DEPENDS=	libCSXCAD.so:cad/csxcad \
 		libpng16.so:graphics/png \
 		libtiff.so:graphics/tiff \
 		libtinyxml.so:textproc/tinyxml \
-		libvtkCommonCore-9.1.so:math/vtk9
+		libvtkCommonCore-${VTK_VER}.so:math/vtk9
 
 USES=		cmake gl jpeg pkgconfig qt:5 xorg
 USE_QT=		core gui opengl sql widgets xml buildtools:build qmake:build
@@ -30,6 +30,7 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	thliebig
 GH_PROJECT=	${PORTNAME:tu}
 
-CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1
+CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER}
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/devel/py-spyder/Makefile b/devel/py-spyder/Makefile
index a16c10fcdd6a..cc9de677f1ed 100644
--- a/devel/py-spyder/Makefile
+++ b/devel/py-spyder/Makefile
@@ -7,22 +7,85 @@ PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
 
 MAINTAINER=	yuri@FreeBSD.org
 COMMENT=	Scientific PYthon Development EnviRonment, an alternative to IDLE
-WWW=		https://github.com/spyder-ide/spyder/
+WWW=		https://www.spyder-ide.org/
 
 LICENSE=	MIT
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}QtAwesome>0:x11-fonts/py-QtAwesome@${PY_FLAVOR} \
+RUN_DEPENDS=	\
 		${PYTHON_PKGNAMEPREFIX}QtPy>=1.3.1:devel/py-QtPy@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}cloudpickle>=0.3.1:devel/py-cloudpickle@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}jedi>=0.9.0:devel/py-jedi@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}nbconvert>=4.0:devel/py-nbconvert@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pep8>=0.6:devel/pep8@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}pycodestyle>=2.3:devel/py-pycodestyle@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}qtconsole>=4.3.0:devel/py-qtconsole@${PY_FLAVOR} \
 		${PYTHON_PKGNAMEPREFIX}numpydoc>0:textproc/py-numpydoc@${PY_FLAVOR} \
-		pylint${PYTHON_PKGNAMESUFFIX}>=0.25:devel/pylint@${PY_FLAVOR} \
-		${PYTHON_PKGNAMEPREFIX}parso>=0.1.1:textproc/py-parso@${PY_FLAVOR}
+
+		${PYTHON_PKGNAMEPREFIX}parso>=0.7.0:textproc/py-parso@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}pexpect>=4.4.0:misc/py-pexpect@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pickleshare>=0.4:databases/py-pickleshare@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}psutil>=5.3:sysutils/py-psutil@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}pygments>=2.0:textproc/py-pygments@${PY_FLAVOR}
+		pylint${PYTHON_PKGNAMESUFFIX}>=2.5.0:devel/pylint@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pylint-venv>=2.1.1:devel/py-pylint-venv@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}python-lsp-server>=1.5.0:textproc/py-python-lsp-server@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}pyxdg>=0.26:devel/py-pyxdg@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}pyzmq>=22.1.0:net/py-pyzmq@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}QDarkStyle>=3.0.2:textproc/py-QDarkStyle@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}qstylizer>=0.1.10:devel/py-qstylizer@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}QtAwesome>=1.0.2:x11-fonts/py-QtAwesome@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}qtconsole>=5.3.2:devel/py-qtconsole@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}QtPy>=2.1.0:py-QtPy@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}rtree>=0.9.7:devel/py-rtree@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}spyder-kernels>=2.3.3:devel/py-spyder-kernels@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}textdistance>=4.2.0:textproc/py-textdistance@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}three-merge>=0.1.1:textproc/py-three-merge@${PY_FLAVOR}
+		${PYTHON_PKGNAMEPREFIX}watchdog>=0.10.3:devel/py-watchdog@${PY_FLAVOR}
+
+install_requires = [
+    'applaunchservices>=0.3.0;platform_system=="Darwin"',
+    'atomicwrites>=1.2.0',
+    'chardet>=2.0.0',
+    'cloudpickle>=0.5.0',
+    'cookiecutter>=1.6.0',
+    'diff-match-patch>=20181111',
+    'intervaltree>=3.0.2',
+    'ipython>=7.31.1,<8.0.0',
+    'jedi>=0.17.2,<0.19.0',
+    'jellyfish>=0.7',
+    'jsonschema>=3.2.0',
+    'keyring>=17.0.0',
+    'nbconvert>=4.0',
+    'numpydoc>=0.6.0',
+    # Required to get SSH connections to remote kernels
+    'paramiko>=2.4.0;platform_system=="Windows"',
+    'parso>=0.7.0,<0.9.0',
+    'pexpect>=4.4.0',
+    'pickleshare>=0.4',
+    'psutil>=5.3',
+    'pygments>=2.0',
+    'pylint>=2.5.0,<3.0',
+    'pylint-venv>=2.1.1',
+    'python-lsp-black>=1.2.0',
+    'pyls-spyder>=0.4.0',
+    'pyqt5<5.16',
+    'pyqtwebengine<5.16',
+    'python-lsp-server[all]>=1.5.0,<1.6.0',
+    'pyxdg>=0.26;platform_system=="Linux"',
+    'pyzmq>=22.1.0',
+    'qdarkstyle>=3.0.2,<3.1.0',
+    'qstylizer>=0.1.10',
+    'qtawesome>=1.0.2',
+    'qtconsole>=5.3.2,<5.4.0',
+    'qtpy>=2.1.0',
+    'rtree>=0.9.7',
+    'setuptools>=49.6.0',
+    'sphinx>=0.6.6',
+    'spyder-kernels>=2.3.3,<2.4.0',
+    'textdistance>=4.2.0',
+    'three-merge>=0.1.1',
+    'watchdog>=0.10.3'
+]
 
 USES=		desktop-file-utils python:3.7+ pyqt:5
 USE_GITHUB=	yes
@@ -53,13 +116,10 @@ SYMPY_DESC=	Symbolic mathematics in the IPython Console
 
 DOCS_BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
 IPYTHON_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}ipython>=6.0:devel/ipython@${PY_FLAVOR} \
-			${PYTHON_PKGNAMEPREFIX}pyzmq>=2.1.11:net/py-pyzmq@${PY_FLAVOR}
 MATPLOT_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}matplotlib>=1.0:math/py-matplotlib@${PY_FLAVOR}
 NUMPY_RUN_DEPENDS=	${PYNUMPY}
 PANDAS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pandas>=0.13.1:math/py-pandas@${PY_FLAVOR}
-PSUTIL_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}psutil>=0.3:sysutils/py-psutil@${PY_FLAVOR}
 PYFLAKES_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pyflakes>=0.5:devel/py-pyflakes@${PY_FLAVOR}
-PYGMENTS_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pygments>=1.6:textproc/py-pygments@${PY_FLAVOR}
 ROPE_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}rope>=0.9.2:devel/py-rope@${PY_FLAVOR}
 SCIPY_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}scipy>0:science/py-scipy@${PY_FLAVOR}
 SPHINX_RUN_DEPENDS=	${DOCS_BUILD_DEPENDS}
diff --git a/devel/py-spyder/files/patch-setup.py b/devel/py-spyder/files/patch-setup.py
deleted file mode 100644
index 9b345df23cc4..000000000000
--- a/devel/py-spyder/files/patch-setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- setup.py.orig	2018-03-13 19:57:09 UTC
-+++ setup.py
-@@ -291,7 +291,7 @@ install_requires = [
-     'numpydoc',
-     # Packages for pyqt5 are only available in
-     # Python 3
--    'pyqt5<5.10;python_version>="3"',
-+    #'pyqt5<5.10;python_version>="3"',
-     # This is only needed for our wheels on Linux.
-     # See issue #3332
-     'pyopengl;platform_system=="Linux"'
diff --git a/graphics/cloudcompare/Makefile b/graphics/cloudcompare/Makefile
index ca1d9e58fc2d..2b9a317fa458 100644
--- a/graphics/cloudcompare/Makefile
+++ b/graphics/cloudcompare/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	cloudcompare
 DISTVERSIONPREFIX=	v
 DISTVERSION=	2.12.4
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	graphics
 
 MAINTAINER=	nc@FreeBSD.org
@@ -75,7 +75,7 @@ PLUGINS_LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 			libfreetype.so:print/freetype2 \
 			libpng.so:graphics/png \
 			libtiff.so:graphics/tiff \
-			libvtkCommonCore-9.1.so:math/vtk9
+			libvtkCommonCore-${VTK_VER}.so:math/vtk9
 PLUGINS_IMPLIES=	SHAPELIB
 
 pre-configure:
@@ -88,4 +88,5 @@ post-install:
 	${INSTALL_DATA} ${WRKSRC}/snap/gui/cloudcompare.desktop ${STAGEDIR}${PREFIX}/share/applications
 	${INSTALL_DATA} ${WRKSRC}/snap/gui/cloudcompare.png ${STAGEDIR}${PREFIX}/share/pixmaps
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/f3d/Makefile b/graphics/f3d/Makefile
index e760e0d066a7..23ed496ec648 100644
--- a/graphics/f3d/Makefile
+++ b/graphics/f3d/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	f3d
 DISTVERSIONPREFIX=	v
 DISTVERSION=	1.3.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	graphics
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -11,12 +11,16 @@ WWW=		https://f3d-app.github.io/f3d/
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-LIB_DEPENDS=	libfreetype.so:print/freetype2 \
+LIB_DEPENDS=	libavcodec.so:multimedia/ffmpeg \
+		libfontconfig.so:x11-fonts/fontconfig \
+		libfreeimage.so:graphics/freeimage \
+		libfreetype.so:print/freetype2 \
 		libhdf5.so:science/hdf5 \
+		libImath-3_1.so:math/Imath \
 		libnetcdf.so:science/netcdf \
-		libvtkCommonMisc-9.1.so:math/vtk9
+		libvtkCommonMisc-${VTK_VER}.so:math/vtk9
 
-USES=		cmake:testing compiler:c++17-lang desktop-file-utils gl xorg
+USES=		cmake:testing compiler:c++17-lang desktop-file-utils gl tcl tk xorg
 USE_GL=		gl glu
 USE_XORG=	ice sm x11 xt
 
@@ -57,4 +61,5 @@ RAYTRACING_BROKEN=		Requires VTK::RenderingRayTracing enabled in VTK
 post-install:
 	@${RM} -r ${STAGEDIR}${DOCSDIR}
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/mirtk/Makefile b/graphics/mirtk/Makefile
index 95ab382b3636..25c6178157cc 100644
--- a/graphics/mirtk/Makefile
+++ b/graphics/mirtk/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	mirtk
 DISTVERSIONPREFIX=	v
 DISTVERSION=	2.0.0-178
-PORTREVISION=	2
+PORTREVISION=	3
 DISTVERSIONSUFFIX=	-g973ce2f
 CATEGORIES=	graphics
 
@@ -31,7 +31,8 @@ TBB_LIB_DEPENDS=	libtbb.so:devel/onetbb
 
 VTK_DESC=		Build with the VTK toolkit
 VTK_CMAKE_BOOL=		WITH_VTK
-VTK_LIB_DEPENDS=	libvtkCommonCore-9.1.so:math/vtk9 \
+VTK_LIB_DEPENDS=	libvtkCommonCore-${VTK_VER}.so:math/vtk9 \
 			libexpat.so:textproc/expat2
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/opencv/Makefile b/graphics/opencv/Makefile
index db1706d1ce2c..79709f353204 100644
--- a/graphics/opencv/Makefile
+++ b/graphics/opencv/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	opencv
 DISTVERSION=	4.6.0
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	graphics
 
 MAINTAINER=	desktop@FreeBSD.org
@@ -124,7 +124,7 @@ GTK3_CMAKE_BOOL=	WITH_GTK
 
 VTK_DESC=		Include VTK library support (build opencv_viz module)
 VTK_CMAKE_BOOL=		WITH_VTK
-VTK_LIB_DEPENDS=	libvtkCommonCore-9.1.so:math/vtk9
+VTK_LIB_DEPENDS=	libvtkCommonCore-${VTK_VER}.so:math/vtk9
 VTK_USES=		qt:5
 VTK_USE=		QT=buildtools:build,qmake:build
 ###
@@ -235,4 +235,5 @@ post-patch:
 	${REINPLACE_CMD} -e 's|/usr/lib/atlas-base|${LOCALBASE}/lib|g' ${WRKSRC}/cmake/OpenCVFindAtlas.cmake
 	${REINPLACE_CMD} -e 's|/usr/include/atlas|${LOCALBASE}/include|g' ${WRKSRC}/cmake/OpenCVFindAtlas.cmake
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/pcl-pointclouds/Makefile b/graphics/pcl-pointclouds/Makefile
index 00511605899e..d3823f726cb7 100644
--- a/graphics/pcl-pointclouds/Makefile
+++ b/graphics/pcl-pointclouds/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	pcl
 DISTVERSION=	1.12.1
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	graphics math
 MASTER_SITES=	https://github.com/PointCloudLibrary/${PORTNAME}/releases/download/${PORTNAME}-${DISTVERSION}/
 PKGNAMESUFFIX=	-pointclouds
@@ -81,7 +81,8 @@ VTK_DESC=		Build VTK visualizations
 VTK_USES=		gl qt:5
 VTK_USE=		GL=gl,glu QT=core,gui,opengl,widgets,buildtools:build,qmake:build
 VTK_CMAKE_BOOL=		WITH_VTK
-VTK_CMAKE_ON=		-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1
-VTK_LIB_DEPENDS=	libvtkCommonCore-9.1.so:math/vtk9
+VTK_CMAKE_ON=		-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER}
+VTK_LIB_DEPENDS=	libvtkCommonCore-${VTK_VER}.so:math/vtk9
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/py-mayavi/Makefile b/graphics/py-mayavi/Makefile
index fbe45d655bd8..326216d58b0e 100644
--- a/graphics/py-mayavi/Makefile
+++ b/graphics/py-mayavi/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	mayavi
 DISTVERSION=	4.8.0
+PORTREVISION=	1
 CATEGORIES=	graphics science python
 MASTER_SITES=	CHEESESHOP
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -52,4 +53,5 @@ fix-plist:
 do-test:
 	@${SETENV} ${TEST_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} ${PYTHON_CMD} ${WRKSRC}/examples/mayavi/interactive/coil_design_application.py
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/graphics/py-pyvista/Makefile b/graphics/py-pyvista/Makefile
index a21b438873da..2c8087cb93a1 100644
--- a/graphics/py-pyvista/Makefile
+++ b/graphics/py-pyvista/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	pyvista
 DISTVERSION=	0.34.2
+PORTREVISION=	1
 CATEGORIES=	graphics python
 MASTER_SITES=	CHEESESHOP
 PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
@@ -23,4 +24,5 @@ USE_PYTHON=	distutils autoplist
 
 NO_ARCH=	yes
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/math/py-rustworkx/Makefile b/math/py-rustworkx/Makefile
index b36d9d2875ee..62c4f8b715ad 100644
--- a/math/py-rustworkx/Makefile
+++ b/math/py-rustworkx/Makefile
@@ -105,4 +105,7 @@ BINARY_ALIAS=	python3=${PYTHON_CMD}
 post-install:
 	@${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/rustworkx/rustworkx.cpython-${PYTHON_SUFFIX}.so
 
+do-test:
+	cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} tox -epy
+
 .include <bsd.port.mk>
diff --git a/math/vtk9/Makefile b/math/vtk9/Makefile
index 84fe19360a8b..191828541d22 100644
--- a/math/vtk9/Makefile
+++ b/math/vtk9/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	vtk
-DISTVERSION=	9.1.0
-PORTREVISION=	4
+DISTVERSION=	9.2.2
 CATEGORIES=	math graphics
 MASTER_SITES=	https://vtk.org/files/release/${VTK_SHORT_VER}/
 PKGNAMESUFFIX=	9
@@ -42,8 +41,8 @@ DOCSDIR=	${PREFIX}/share/doc/vtk-${VTK_SHORT_VER}
 DATADIR=	${PREFIX}/share/vtk-${VTK_SHORT_VER}
 
 # Options
-OPTIONS_DEFINE=	DESIGNER DOCS MPI OSMESA PYTHON QT5 EXAMPLES
-OPTIONS_DEFAULT=	MPI PYTHON QT5 # vtk python binding is needed by other packages, and is unfortunately is unseparable. It is a candidate to be a subpackage.
+OPTIONS_DEFINE=	DESIGNER DOCS MPI OSMESA PYTHON QT6 EXAMPLES
+OPTIONS_DEFAULT=	MPI PYTHON QT6 # vtk python binding is needed by other packages, and is unfortunately is unseparable. It is a candidate to be a subpackage.
 OSMESA_DESC=	Use Mesa for off-screen rendering
 DESIGNER_DESC=	Build the Qt Designer plugin
 OPTIONS_SUB=	yes
@@ -63,15 +62,15 @@ PYTHON_CMAKE_BOOL=	VTK_WRAP_PYTHON
 PYTHON_CMAKE_ON=	-DVTK_PYTHON_VERSION=${PYTHON_MAJOR_VER} -DPython3_EXECUTABLE=${PYTHON_CMD}
 PYTHON_VARS=		SUB_FILES=PKG-INFO SUB_LIST=PORTVERSION=${PORTVERSION}
 
-QT5_USES=		qt:5
-QT5_USE=		QT=core,declarative,gui,network,opengl,sql,uiplugin,widgets,x11extras,qmake:build,buildtools:build
-QT5_CMAKE_ON=		-DCMAKE_PREFIX_PATH:STRING=${LOCALBASE}/lib/qt5 \
+QT6_USES=		qt:6
+QT6_USE=		QT=base,declarative,tools:build
+QT6_CMAKE_ON=		-DCMAKE_PREFIX_PATH:STRING=${LOCALBASE}/lib/qt5 \
 			-DVTK_GROUP_ENABLE_Qt:STRING=YES \
 			-DVTK_MODULE_ENABLE_VTK_GUISupportQt:STRING=YES
 
 DESIGNER_CMAKE_BOOL=	QT_DESIGNER_PLUGIN
 DESIGNER_USE=		QT=designer
-DESIGNER_IMPLIES=	QT5
+DESIGNER_IMPLIES=	QT
 
 MPI_CMAKE_BOOL=		VTK_USE_MPI
 MPI_LIB_DEPENDS=	libmpi.so:net/mpich
diff --git a/math/vtk9/distinfo b/math/vtk9/distinfo
index cfc8330ff50a..8985e4d4b042 100644
--- a/math/vtk9/distinfo
+++ b/math/vtk9/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1637434253
-SHA256 (VTK-9.1.0.tar.gz) = 8fed42f4f8f1eb8083107b68eaa9ad71da07110161a3116ad807f43e5ca5ce96
-SIZE (VTK-9.1.0.tar.gz) = 47871165
+TIMESTAMP = 1665288935
+SHA256 (VTK-9.2.2.tar.gz) = 1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075
+SIZE (VTK-9.2.2.tar.gz) = 53801737
diff --git a/math/vtk9/files/patch-ThirdParty_exodusII_vtkexodusII_src_ex__utils.c b/math/vtk9/files/patch-ThirdParty_exodusII_vtkexodusII_src_ex__utils.c
deleted file mode 100644
index e52da58e3878..000000000000
--- a/math/vtk9/files/patch-ThirdParty_exodusII_vtkexodusII_src_ex__utils.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- ThirdParty/exodusII/vtkexodusII/src/ex_utils.c.orig	2022-06-22 15:58:58.543731000 +0200
-+++ ThirdParty/exodusII/vtkexodusII/src/ex_utils.c	2022-06-22 16:00:28.263448000 +0200
-@@ -1770,7 +1770,9 @@
-         */
- 
-         /* const int NC_SZIP_EC = 4; */ /* Selects entropy coding method for szip. */
-+#if !defined(NC_SZIP_NN)
-         const int NC_SZIP_NN = 32;      /* Selects nearest neighbor coding method for szip. */
-+#endif
-         /* Even and between 4 and 32; typical values are 8, 10, 16, 32 */
-         const int SZIP_PIXELS_PER_BLOCK =
-             file->compression_level == 0 ? 32 : file->compression_level;
diff --git a/math/vtk9/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c b/math/vtk9/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c
deleted file mode 100644
index bd453a0dc9ca..000000000000
--- a/math/vtk9/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- ThirdParty/libproj/vtklibproj/src/pj_mutex.c.orig	2020-04-25 01:23:01 UTC
-+++ ThirdParty/libproj/vtklibproj/src/pj_mutex.c
-@@ -124,7 +124,7 @@ void pj_acquire_lock()
-         pthread_mutex_lock( &pj_precreated_lock);
- 
-         pthread_mutexattr_init(&mutex_attr);
--#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE
-+#if defined(HAVE_PTHREAD_MUTEX_RECURSIVE) || defined(__FreeBSD__)
-         pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE);
- #else
-         pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP);
diff --git a/science/elmerfem/Makefile b/science/elmerfem/Makefile
index 30a7b9adef4a..206be890e921 100644
--- a/science/elmerfem/Makefile
+++ b/science/elmerfem/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	elmerfem
 DISTVERSIONPREFIX=	release-
 DISTVERSION=	9.0
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	science
 
 MAINTAINER=	henrik@gulbra.net
@@ -61,7 +61,7 @@ OCC_LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 			libpython${_PYVERSION}.so:lang/python${PYTHON_SUFFIX} \
 			libtiff.so:graphics/tiff \
 			libTKernel.so:cad/opencascade \
-			libvtksys-9.1.so:math/vtk9
+			libvtksys-${VTK_VER}.so:math/vtk9
 OCC_USES=		python
 OCC_CMAKE_BOOL=		WITH_OCC
 OCC_CMAKE_ON=		-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.0 \
@@ -73,6 +73,7 @@ _QT5_LIBS=	buildtools:build concurrent core declarative gui location \
 		network opengl printsupport qmake:build script sensors \
 		sql svg webchannel webkit widgets xml
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.pre.mk>
 
 .if ${ARCH} == "amd64"
@@ -115,4 +116,5 @@ post-install:
 do-test:
 	@cd ${TEST_WRKSRC} && ctest -C ${CMAKE_BUILD_TYPE} ${_MAKE_JOBS}
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.post.mk>
diff --git a/science/liggghts/Makefile b/science/liggghts/Makefile
index 67dbf51aa74b..7967b24645b7 100644
--- a/science/liggghts/Makefile
+++ b/science/liggghts/Makefile
@@ -18,7 +18,7 @@ LIB_DEPENDS=	libexpat.so:textproc/expat2 \
 		libnetcdf.so:science/netcdf \
 		libpng.so:graphics/png \
 		libtiff.so:graphics/tiff \
-		libvtkViewsCore-9.1.so:math/vtk9
+		libvtkViewsCore-${VTK_VER}.so:math/vtk9
 
 USES=		compiler:c++17-lang cmake fortran gl jpeg python qt:5 xorg
 USE_XORG=	ice sm x11 xext xt
@@ -30,15 +30,16 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	CFDEMproject
 GH_PROJECT=	${PORTNAME:tu}-PUBLIC
 
-CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1 \
+CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER} \
 		-DPython3_EXECUTABLE=${PYTHON_CMD}
 
 WRKSRC_SUBDIR=	src
 
 CFLAGS+=	-fPIC
 CXXFLAGS+=	-fPIC \
-		-I${LOCALBASE}/include/vtk-9.1
+		-I${LOCALBASE}/include/vtk-${VTK_VER}
 
 BINARY_ALIAS=	sed=gsed
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/science/openems/Makefile b/science/openems/Makefile
index 3d297459af5d..605c2e180749 100644
--- a/science/openems/Makefile
+++ b/science/openems/Makefile
@@ -2,7 +2,7 @@ PORTNAME=	openems
 DISTVERSIONPREFIX=	v
 DISTVERSION=	0.0.35-76
 DISTVERSIONSUFFIX=	-gd4448fa
-PORTREVISION=	2
+PORTREVISION=	3
 CATEGORIES=	science
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -24,7 +24,7 @@ LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
 		libsz.so:science/libaec \
 		libtiff.so:graphics/tiff \
 		libtinyxml.so:textproc/tinyxml \
-		libvtkCommonCore-9.1.so:math/vtk9
+		libvtkCommonCore-${VTK_VER}.so:math/vtk9
 
 USES=		cmake jpeg pkgconfig
 USE_LDCONFIG=	yes
@@ -33,7 +33,7 @@ USE_GITHUB=	yes
 GH_ACCOUNT=	thliebig
 GH_PROJECT=	openEMS
 
-CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-9.1 \
+CMAKE_ARGS=	-DVTK_DIR=${LOCALBASE}/lib/cmake/vtk-${VTK_VER} \
 		-DLOCALBASE=${LOCALBASE}
 
 CXXFLAGS+=	-I${LOCALBASE}/include/fparser # fparser.pc probably returns a wrong value
@@ -43,4 +43,5 @@ DATADIR=	${PREFIX}/share/openEMS
 post-install:
 	@${REINPLACE_CMD} -i '' -e 's|#!/bin/bash|#!/bin/sh|' ${STAGEDIR}${PREFIX}/bin/openEMS.sh
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/science/paraview/Makefile b/science/paraview/Makefile
index 7c736b11962c..04b6abc6a5c8 100644
--- a/science/paraview/Makefile
+++ b/science/paraview/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	paraview
 DISTVERSION=	5.10.1
-PORTREVISION=	5
+PORTREVISION=	6
 CATEGORIES=	science graphics
 MASTER_SITES=	http://www.paraview.org/files/v${VERMAJORMINOR}/
 DISTNAME=	ParaView-v${PORTVERSION}
@@ -162,4 +162,5 @@ post-install-EXAMPLES-on:
 	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
 	cd ${WRKSRC}/Examples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
 
+.include <../../math/vtk9/Makefile.version>
 .include <bsd.port.mk>
diff --git a/textproc/Makefile b/textproc/Makefile
index 7fd1d840f6ea..8f8304f24f79 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -1459,6 +1459,7 @@
     SUBDIR += py-python-docs-theme
     SUBDIR += py-python-docx
     SUBDIR += py-python-gettext
+    SUBDIR += py-python-lsp-black
     SUBDIR += py-python-lsp-jsonrpc
     SUBDIR += py-python-lsp-server
     SUBDIR += py-python-markdown-math
diff --git a/textproc/py-python-lsp-black/Makefile b/textproc/py-python-lsp-black/Makefile
new file mode 100644
index 000000000000..1f352e7416f1
--- /dev/null
+++ b/textproc/py-python-lsp-black/Makefile
@@ -0,0 +1,20 @@
+PORTNAME=	python-lsp-black
+DISTVERSION=	1.2.1
+CATEGORIES=	textproc python
+MASTER_SITES=	CHEESESHOP
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Black plugin for the Python LSP Server
+WWW=		https://github.com/python-lsp/python-lsp-black
+
+LICENSE=	MIT
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}python-lsp-server>=1.4.0:textproc/py-python-lsp-server@${PY_FLAVOR}
+
+USES=		python:3.7+
+USE_PYTHON=	distutils autoplist pytest
+
+NO_ARCH=	yes
+
+.include <bsd.port.mk>
diff --git a/textproc/py-python-lsp-black/distinfo b/textproc/py-python-lsp-black/distinfo
new file mode 100644
index 000000000000..1bf0f460b0d3
--- /dev/null
+++ b/textproc/py-python-lsp-black/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1665679561
+SHA256 (python-lsp-black-1.2.1.tar.gz) = d7eaeab2a377e96a82cc26afe2f8f2e1cf7c6eaefdcdeab026343e2e559dcce9
+SIZE (python-lsp-black-1.2.1.tar.gz) = 5392
diff --git a/textproc/py-python-lsp-black/pkg-descr b/textproc/py-python-lsp-black/pkg-descr
new file mode 100644
index 000000000000..4250b463b235
--- /dev/null
+++ b/textproc/py-python-lsp-black/pkg-descr
@@ -0,0 +1,15 @@
+Black plugin for the Python LSP Server.
+
+* This plugin will disable the yapf and autopep8 plugins if installed.
+* python-lsp-black can either format an entire file or just the selected text.
+* The code will only be formatted if it is syntactically valid Python.
+* Text selections are treated as if they were a separate Python file.
+  Unfortunately this means you can't format an indented block of code.
+* python-lsp-black will use your project's pyproject.toml if it has one.
+* python-lsp-black only officially supports the latest stable version of
+  black. An effort is made to keep backwards-compatibility but older black
+  versions will not be actively tested.
+* The plugin can cache the black configuration that applies to each Python file,
+  this improves performance of the plugin. When configuration caching is
+  enabled any changes to black's configuration will need the LSP server to be
+  restarted. Configuration caching can be disabled with the cache_config option.