aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MOVED2
-rw-r--r--audio/mac/Makefile7
-rw-r--r--audio/mac/distinfo6
-rw-r--r--audio/mac/files/patch-Shared_All.h14
-rw-r--r--audio/mac/files/patch-Source_Shared_All.h27
-rw-r--r--audio/mac/files/patch-Source_Shared_CPUFeatures.cpp46
-rw-r--r--converters/dos2ansi/Makefile2
-rw-r--r--converters/dos2unix/Makefile2
-rw-r--r--converters/dos2unix/distinfo6
-rw-r--r--databases/Makefile2
-rw-r--r--databases/py-prisma/Makefile37
-rw-r--r--databases/py-prisma/distinfo3
-rw-r--r--databases/py-prisma/pkg-descr11
-rw-r--r--databases/py-redisvl/Makefile38
-rw-r--r--databases/py-redisvl/distinfo3
-rw-r--r--databases/py-redisvl/pkg-descr9
-rw-r--r--devel/glab/Makefile3
-rw-r--r--devel/glab/distinfo10
-rw-r--r--devel/glab/pkg-plist3
-rw-r--r--devel/poser/Makefile3
-rw-r--r--devel/py-openstacksdk/Makefile2
-rw-r--r--devel/py-pybind11/Makefile8
-rw-r--r--devel/py-pybind11/distinfo6
-rw-r--r--devel/py-scikit-build-core/Makefile4
-rw-r--r--devel/py-scikit-build-core/distinfo6
-rw-r--r--devel/pybind11/Makefile4
-rw-r--r--devel/pybind11/distinfo6
-rw-r--r--devel/pybind11/pkg-plist16
-rw-r--r--devel/xtl-quant-stack/Makefile9
-rw-r--r--devel/xtl-quant-stack/distinfo6
-rw-r--r--devel/xtl-quant-stack/pkg-plist3
-rw-r--r--editors/Makefile1
-rw-r--r--editors/quilter/Makefile29
-rw-r--r--editors/quilter/distinfo3
-rw-r--r--editors/quilter/files/patch-meson.build20
-rw-r--r--editors/quilter/pkg-descr2
-rw-r--r--editors/quilter/pkg-plist42
-rw-r--r--emulators/Ymir/Makefile19
-rw-r--r--emulators/Ymir/distinfo10
-rw-r--r--emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt27
-rw-r--r--emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp11
-rw-r--r--emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp14
-rw-r--r--emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt12
-rw-r--r--emulators/Ymir/files/patch-vendor_CMakeLists.txt78
-rw-r--r--emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp13
-rw-r--r--emulators/Ymir/pkg-descr10
-rw-r--r--filesystems/Makefile1
-rw-r--r--filesystems/nbd-client-kmod/Makefile31
-rw-r--r--filesystems/nbd-client-kmod/distinfo3
-rw-r--r--filesystems/nbd-client-kmod/files/gnbd.in3
-rw-r--r--filesystems/nbd-client-kmod/files/patch-lib_Makefile12
-rw-r--r--filesystems/nbd-client-kmod/pkg-descr5
-rw-r--r--filesystems/nbd-client-kmod/pkg-plist5
-rw-r--r--graphics/vv/Makefile40
-rw-r--r--graphics/vv/distinfo6
-rw-r--r--graphics/vv/files/patch-common_clitkCommon.txx25
-rw-r--r--graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx15
-rw-r--r--graphics/vv/files/patch-common_rtkEdfImageIO.h15
-rw-r--r--graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx30
-rw-r--r--graphics/vv/files/patch-vv_vv.cxx33
-rw-r--r--graphics/vv/files/patch-vv_vvBlendImageActor.cxx56
-rw-r--r--graphics/vv/files/patch-vv_vvSlicer.cxx25
-rw-r--r--mail/Makefile2
-rw-r--r--mail/pantomime/Makefile26
-rw-r--r--mail/pantomime/pkg-descr6
-rw-r--r--mail/py-exchangelib/Makefile40
-rw-r--r--mail/py-exchangelib/distinfo3
-rw-r--r--mail/py-exchangelib/files/patch-pyproject.toml12
-rw-r--r--mail/py-exchangelib/pkg-descr13
-rw-r--r--mail/py-resend/Makefile36
-rw-r--r--mail/py-resend/distinfo3
-rw-r--r--mail/py-resend/files/requirements.txt2
-rw-r--r--mail/py-resend/pkg-descr4
-rw-r--r--math/Makefile1
-rw-r--r--math/geogebra/Makefile2
-rw-r--r--math/geogebra/distinfo6
-rw-r--r--math/py-numpy/Makefile12
-rw-r--r--math/py-numpy/files/patch-numpy_core_setup.py19
-rw-r--r--math/py-numpy/files/patch-numpy_distutils_mingw32ccompiler.py17
-rw-r--r--math/py-numpy/files/patch-numpy_random_setup.py23
-rw-r--r--math/py-numpy/files/patch-pyproject.toml11
-rw-r--r--math/vtk8/Makefile130
-rw-r--r--math/vtk8/distinfo3
-rw-r--r--math/vtk8/files/patch-GUISupport_Qt_CMakeLists.txt28
-rw-r--r--math/vtk8/files/patch-GUISupport_Qt_PluginInstall.cmake.in11
-rw-r--r--math/vtk8/files/patch-Rendering_FreeType_vtkFreeTypeTools.cxx11
-rw-r--r--math/vtk8/files/patch-Rendering_Qt_vtkQtLabelRenderStrategy.cxx10
-rw-r--r--math/vtk8/files/patch-Rendering_Qt_vtkQtStringToImage.cxx10
-rw-r--r--math/vtk8/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c11
-rw-r--r--math/vtk8/files/patch-ThirdParty_verdict_vtkverdict_CMakeLists.txt25
-rw-r--r--math/vtk8/files/patch-git_a9079bd44
-rw-r--r--math/vtk8/pkg-descr12
-rw-r--r--math/xtensor-python/Makefile9
-rw-r--r--math/xtensor-python/distinfo6
-rw-r--r--math/xtensor-python/pkg-plist7
-rw-r--r--math/xtensor/Makefile6
-rw-r--r--math/xtensor/distinfo6
-rw-r--r--math/xtensor/pkg-plist148
-rw-r--r--misc/fastscapelib/Makefile10
-rw-r--r--misc/fastscapelib/distinfo6
-rw-r--r--misc/fastscapelib/pkg-plist8
-rw-r--r--misc/py-fastscapelib/Makefile8
-rw-r--r--misc/py-fastscapelib/distinfo6
-rw-r--r--misc/py-fastscapelib/files/patch-pyproject.toml14
-rw-r--r--multimedia/mediamtx/Makefile3
-rw-r--r--multimedia/mediamtx/distinfo14
-rw-r--r--net/gerbera/files/patch-src_web_config__load.cc14
-rw-r--r--net/openldap25-server/Makefile1
-rw-r--r--net/openldap26-server/Makefile1
-rw-r--r--ports-mgmt/poudriere-devel/Makefile6
-rw-r--r--ports-mgmt/poudriere-devel/distinfo6
-rw-r--r--ports-mgmt/poudriere-devel/files/patch-src_share_poudriere_common.sh11
-rw-r--r--ports-mgmt/poudriere-devel/pkg-plist1
-rw-r--r--print/paps/Makefile28
-rw-r--r--print/paps/distinfo8
-rw-r--r--science/arbor/Makefile4
-rw-r--r--science/healpix/Makefile10
-rw-r--r--science/highfive/Makefile2
-rw-r--r--science/pcmsolver/Makefile6
-rw-r--r--science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake8
-rw-r--r--science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h14
-rw-r--r--security/Makefile1
-rw-r--r--security/py-google-cloud-kms/Makefile38
-rw-r--r--security/py-google-cloud-kms/distinfo3
-rw-r--r--security/py-google-cloud-kms/pkg-descr9
-rw-r--r--security/tlsc/Makefile3
-rw-r--r--security/unix-selfauth-helper/Makefile3
-rw-r--r--sysutils/ttyd/Makefile2
-rwxr-xr-xsysutils/ttyd/files/ttyd.in4
-rw-r--r--x11/xmoji/Makefile3
130 files changed, 1091 insertions, 779 deletions
diff --git a/MOVED b/MOVED
index 2845011c0bc6..9dc189deb9b5 100644
--- a/MOVED
+++ b/MOVED
@@ -4805,4 +4805,6 @@ games/xqf||2025-10-14|Has expired: Fails to build
games/galaxyhack||2025-10-14|Has expired: Fails to build with boost-1.85+
x11-fm/fsv2||2025-10-14|Has expired: does not configure: No fonts installed on the system
deskutils/gnome-shell-extension-openweather||2025-10-14|Has expired: Superseded by deskutils/gnome-shell-extension-simple-weather
+math/vtk8|math/vtk9|2025-10-14|Last user switched to math/vtk9
security/iddawc||2025-10-14|Has expired: Upstream repo archived on Nov 11, 2024
+editors/quilter||2025-10-15|Deprecated upstream
diff --git a/audio/mac/Makefile b/audio/mac/Makefile
index 2a99619bd084..cd5891747773 100644
--- a/audio/mac/Makefile
+++ b/audio/mac/Makefile
@@ -1,5 +1,6 @@
PORTNAME= mac
-PORTVERSION= 11.54
+PORTVERSION= 11.62
+PORTREVISION= 1
CATEGORIES= audio
MASTER_SITES= https://www.monkeysaudio.com/files/
DISTNAME= ${PORTNAME:tu}_${PORTVERSION:S|.||}_SDK
@@ -14,7 +15,9 @@ LICENSE_FILE= ${WRKSRC}/License.txt
USES= cmake dos2unix zip
DOS2UNIX_FILES= Shared/*.h \
- Source/Console/Console.cpp
+ Source/Console/*.cpp \
+ Source/Shared/*.cpp \
+ Source/Shared/*.h
NO_WRKSUBDIR= yes
diff --git a/audio/mac/distinfo b/audio/mac/distinfo
index c420dbd014e0..bb534eecf5d4 100644
--- a/audio/mac/distinfo
+++ b/audio/mac/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759128267
-SHA256 (MAC_1154_SDK.zip) = 6f825a606e474a03729eb50d8b6967c74dbd1863c172e0732d836bebd9813dfc
-SIZE (MAC_1154_SDK.zip) = 1704471
+TIMESTAMP = 1760517847
+SHA256 (MAC_1162_SDK.zip) = 9945408555424f1f81d69d8bba46f191331219c144b7576158f1e4d9cff67024
+SIZE (MAC_1162_SDK.zip) = 1705126
diff --git a/audio/mac/files/patch-Shared_All.h b/audio/mac/files/patch-Shared_All.h
index 03e25dc1defc..10b574e7d180 100644
--- a/audio/mac/files/patch-Shared_All.h
+++ b/audio/mac/files/patch-Shared_All.h
@@ -1,6 +1,9 @@
We need to define PLATFORM_LINUX as the default if consumers don't do so.
---- Shared/All.h.orig 2025-02-07 08:39:49 UTC
+Fix runtime for little endian archs. At least on amd64, _BIG_ENDIAN is defined
+somewhere in the toolchain, causing the byte order to be reversed.
+
+--- Shared/All.h.orig 2025-10-15 08:20:58 UTC
+++ Shared/All.h
@@ -10,8 +10,8 @@ PLATFORM_ANDROID
PLATFORM_ANDROID
@@ -13,3 +16,12 @@ We need to define PLATFORM_LINUX as the default if consumers don't do so.
#endif
#ifdef PLATFORM_ANDROID
+@@ -311,7 +311,7 @@ Byte order
+ #define APE_LITTLE_ENDIAN 1234
+ #define APE_BIG_ENDIAN 4321
+
+-#if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
++#if defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+ #define APE_BYTE_ORDER APE_BIG_ENDIAN
+ #else
+ #define APE_BYTE_ORDER APE_LITTLE_ENDIAN
diff --git a/audio/mac/files/patch-Source_Shared_All.h b/audio/mac/files/patch-Source_Shared_All.h
new file mode 100644
index 000000000000..d7748cd159f8
--- /dev/null
+++ b/audio/mac/files/patch-Source_Shared_All.h
@@ -0,0 +1,27 @@
+We need to define PLATFORM_LINUX as the default if consumers don't do so.
+
+Fix runtime for little endian archs. At least on amd64, _BIG_ENDIAN is defined
+somewhere in the toolchain, causing the byte order to be reversed.
+
+--- Source/Shared/All.h.orig 2025-10-15 08:20:58 UTC
++++ Source/Shared/All.h
+@@ -10,8 +10,8 @@ PLATFORM_ANDROID
+ PLATFORM_ANDROID
+ **************************************************************************************************/
+ #if !defined(PLATFORM_WINDOWS) && !defined(PLATFORM_APPLE) && !defined(PLATFORM_LINUX) && !defined(PLATFORM_ANDROID)
+- #pragma message("No platform set for MACLib, defaulting to Windows")
+- #define PLATFORM_WINDOWS
++ #pragma message("No platform set for MACLib, defaulting to Linux")
++ #define PLATFORM_LINUX
+ #endif
+
+ #ifdef PLATFORM_ANDROID
+@@ -311,7 +311,7 @@ Byte order
+ #define APE_LITTLE_ENDIAN 1234
+ #define APE_BIG_ENDIAN 4321
+
+-#if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
++#if defined(__BIG_ENDIAN__) || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__))
+ #define APE_BYTE_ORDER APE_BIG_ENDIAN
+ #else
+ #define APE_BYTE_ORDER APE_LITTLE_ENDIAN
diff --git a/audio/mac/files/patch-Source_Shared_CPUFeatures.cpp b/audio/mac/files/patch-Source_Shared_CPUFeatures.cpp
index 3713b9bb9152..4c89888d95e9 100644
--- a/audio/mac/files/patch-Source_Shared_CPUFeatures.cpp
+++ b/audio/mac/files/patch-Source_Shared_CPUFeatures.cpp
@@ -1,26 +1,26 @@
--- Source/Shared/CPUFeatures.cpp.orig 2025-08-04 20:52:19 UTC
+++ Source/Shared/CPUFeatures.cpp
@@ -4,7 +4,7 @@
- #if defined(PLATFORM_LINUX)
- #include <sys/auxv.h>
-
-- #if defined(__arm__)
-+ #if defined(__arm__) && defined(__linux__)
- #include <asm/hwcap.h>
-
- #ifndef HWCAP_NEON
-@@ -187,7 +187,14 @@ bool GetNeonSupported()
- #if defined(__ARM_NEON) || defined(__ARM_NEON__) || defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
- return true;
- #elif defined(__arm__) && defined(PLATFORM_LINUX)
-+#ifdef __linux__
- return getauxval(AT_HWCAP) & HWCAP_NEON;
-+#elif defined(__FreeBSD__)
-+ long hwcap = 0;
-+
-+ elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
-+ return (hwcap & HWCAP_NEON);
-+#endif
- #else
- return false;
- #endif
+ #if defined(PLATFORM_LINUX)
+ #include <sys/auxv.h>
+
+- #if defined(__arm__)
++ #if defined(__arm__) && defined(__linux__)
+ #include <asm/hwcap.h>
+
+ #ifndef HWCAP_NEON
+@@ -187,7 +187,14 @@ bool GetNeonSupported()
+ #if defined(__ARM_NEON) || defined(__ARM_NEON__) || defined(__aarch64__) || defined(_M_ARM64) || defined(_M_ARM64EC)
+ return true;
+ #elif defined(__arm__) && defined(PLATFORM_LINUX)
++#ifdef __linux__
+ return getauxval(AT_HWCAP) & HWCAP_NEON;
++#elif defined(__FreeBSD__)
++ long hwcap = 0;
++
++ elf_aux_info(AT_HWCAP, &hwcap, sizeof hwcap);
++ return (hwcap & HWCAP_NEON);
++#endif
+ #else
+ return false;
+ #endif
diff --git a/converters/dos2ansi/Makefile b/converters/dos2ansi/Makefile
index ad77c7640a03..1c8c8fec77c9 100644
--- a/converters/dos2ansi/Makefile
+++ b/converters/dos2ansi/Makefile
@@ -3,7 +3,7 @@ DISTVERSION= 2.0
CATEGORIES= converters
MASTER_SITES= ${WWW}/releases/download/v${DISTVERSION}/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= grembo@FreeBSD.org
COMMENT= Converter for old MS-DOS/ANSI.SYS text files
WWW= https://github.com/Zirias/dos2ansi
diff --git a/converters/dos2unix/Makefile b/converters/dos2unix/Makefile
index 38a12451f532..83dd5d45c4fc 100644
--- a/converters/dos2unix/Makefile
+++ b/converters/dos2unix/Makefile
@@ -1,5 +1,5 @@
PORTNAME= dos2unix
-DISTVERSION= 7.5.2
+DISTVERSION= 7.5.3
CATEGORIES= converters
MASTER_SITES= SF \
https://waterlan.home.xs4all.nl/dos2unix/
diff --git a/converters/dos2unix/distinfo b/converters/dos2unix/distinfo
index 276c7e3a733e..978b2ee7ff5f 100644
--- a/converters/dos2unix/distinfo
+++ b/converters/dos2unix/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1707150448
-SHA256 (dos2unix-7.5.2.tar.gz) = 264742446608442eb48f96c20af6da303cb3a92b364e72cb7e24f88239c4bf3a
-SIZE (dos2unix-7.5.2.tar.gz) = 991485
+TIMESTAMP = 1760514676
+SHA256 (dos2unix-7.5.3.tar.gz) = 28a4b0d9f9179da4e44c567b9c01f818b070a20827115fffd96f760dcfa0f3b2
+SIZE (dos2unix-7.5.3.tar.gz) = 955879
diff --git a/databases/Makefile b/databases/Makefile
index a9b48e6dbc45..9e2eaa683ef9 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -813,6 +813,7 @@
SUBDIR += py-pony
SUBDIR += py-postgresql
SUBDIR += py-powa-collector
+ SUBDIR += py-prisma
SUBDIR += py-psycogreen
SUBDIR += py-psycopg
SUBDIR += py-psycopg-c
@@ -840,6 +841,7 @@
SUBDIR += py-redis
SUBDIR += py-redis2
SUBDIR += py-redis5
+ SUBDIR += py-redisvl
SUBDIR += py-rrdtool
SUBDIR += py-schemachange
SUBDIR += py-sispy
diff --git a/databases/py-prisma/Makefile b/databases/py-prisma/Makefile
new file mode 100644
index 000000000000..bf28253912b3
--- /dev/null
+++ b/databases/py-prisma/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= prisma
+DISTVERSION= 0.15.0
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Type-safe database access for Python
+WWW= https://github.com/RobertCraigie/prisma-client-py
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}httpx>=0.19.0:www/py-httpx@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=2.11.2:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=1.11.0<3:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}click>=7.1.2:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.12.0:www/py-python-dotenv@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.5.0:devel/py-typing-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tomlkit>0:textproc/py-tomlkit@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}nodeenv>0:devel/py-nodeenv@${PY_FLAVOR}
+
+USES= python
+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/databases/py-prisma/distinfo b/databases/py-prisma/distinfo
new file mode 100644
index 000000000000..5113fccab7d7
--- /dev/null
+++ b/databases/py-prisma/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760497728
+SHA256 (prisma-0.15.0.tar.gz) = 5cd6402aa8322625db3fc1152040404e7fc471fe7f8fa3a314fa8a99529ca107
+SIZE (prisma-0.15.0.tar.gz) = 154975
diff --git a/databases/py-prisma/pkg-descr b/databases/py-prisma/pkg-descr
new file mode 100644
index 000000000000..c23e882d4afa
--- /dev/null
+++ b/databases/py-prisma/pkg-descr
@@ -0,0 +1,11 @@
+Prisma Client Python is a next-generation ORM built on top of Prisma
+that has been designed from the ground up for ease of use and
+correctness.
+
+Prisma is a TypeScript ORM with zero-cost type safety for your
+database, although don't worry, Prisma Client Python interfaces with
+Prisma using Rust, you don't need Node or TypeScript.
+
+Prisma Client Python can be used in any Python backend
+application. This can be a REST API, a GraphQL API or anything else
+that needs a database.
diff --git a/databases/py-redisvl/Makefile b/databases/py-redisvl/Makefile
new file mode 100644
index 000000000000..8dc2d6eda00a
--- /dev/null
+++ b/databases/py-redisvl/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= redisvl
+DISTVERSION= 0.9.1
+CATEGORIES= databases python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Python client library and CLI for using Redis as a vector database
+WWW= https://github.com/redis/redis-vl-python
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+RUN_DEPENDS= ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=5.4<7.0:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}redis>=5.0<7.0:databases/py-redis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pydantic2>=2<3:devel/py-pydantic2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tenacity>=8.2.2:devel/py-tenacity@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ml-dtypes>=0.4.0<1.0.0:math/py-ml-dtypes@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-ulid>=3.0.0:textproc/py-python-ulid@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jsonpath-ng>=1.5.0:devel/py-jsonpath-ng@${PY_FLAVOR}
+
+USES= python
+
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+PORTDOCS= CONTRIBUTING.md README.md
+
+OPTIONS_DEFINE= DOCS
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/databases/py-redisvl/distinfo b/databases/py-redisvl/distinfo
new file mode 100644
index 000000000000..b92a628c3925
--- /dev/null
+++ b/databases/py-redisvl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760507103
+SHA256 (redisvl-0.9.1.tar.gz) = a735ecf3238e804800b54a513b85a8cf4300fe6d111fb055bd75528f77dd5419
+SIZE (redisvl-0.9.1.tar.gz) = 606980
diff --git a/databases/py-redisvl/pkg-descr b/databases/py-redisvl/pkg-descr
new file mode 100644
index 000000000000..e06569dd1329
--- /dev/null
+++ b/databases/py-redisvl/pkg-descr
@@ -0,0 +1,9 @@
+Redis Vector Library (RedisVL) is the production-ready Python client
+for AI applications built on Redis. Lightning-fast vector search meets
+enterprise-grade reliability.
+
+Built for Modern AI Workloads:
+- RAG Pipelines -> Real-time retrieval with hybrid search capabilities
+- AI Agents -> Short term & long term memory and semantic routing for
+ intent-based decisions
+- Recommendation Systems -> Fast retrieval and reranking
diff --git a/devel/glab/Makefile b/devel/glab/Makefile
index 9b14a7ccb498..fd3f7cc616e0 100644
--- a/devel/glab/Makefile
+++ b/devel/glab/Makefile
@@ -1,7 +1,6 @@
PORTNAME= glab
DISTVERSIONPREFIX= v
-DISTVERSION= 1.73.1
-PORTREVISION= 1
+DISTVERSION= 1.74.0
CATEGORIES= devel
MAINTAINER= mfechner@FreeBSD.org
diff --git a/devel/glab/distinfo b/devel/glab/distinfo
index fb2af53a4a46..f9697e1e984f 100644
--- a/devel/glab/distinfo
+++ b/devel/glab/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1760252925
-SHA256 (go/devel_glab/glab-v1.73.1/v1.73.1.mod) = 6c38c677d14fc3d35aa06017b339ef57be98de0f2142523635d63b5eeb9ac600
-SIZE (go/devel_glab/glab-v1.73.1/v1.73.1.mod) = 8140
-SHA256 (go/devel_glab/glab-v1.73.1/v1.73.1.zip) = a698c8ef0d0ba94ee8be4b398ccfa7fa963cb5f16c507119a53bd5da0174559c
-SIZE (go/devel_glab/glab-v1.73.1/v1.73.1.zip) = 17506729
+TIMESTAMP = 1760504467
+SHA256 (go/devel_glab/glab-v1.74.0/v1.74.0.mod) = 6c38c677d14fc3d35aa06017b339ef57be98de0f2142523635d63b5eeb9ac600
+SIZE (go/devel_glab/glab-v1.74.0/v1.74.0.mod) = 8140
+SHA256 (go/devel_glab/glab-v1.74.0/v1.74.0.zip) = d3f21f1223a444f52144fb0a89df395b0b610f65deec03271fa4425269fe53f8
+SIZE (go/devel_glab/glab-v1.74.0/v1.74.0.zip) = 17486124
diff --git a/devel/glab/pkg-plist b/devel/glab/pkg-plist
index 7f6273740199..f6dbfbd47ee9 100644
--- a/devel/glab/pkg-plist
+++ b/devel/glab/pkg-plist
@@ -53,9 +53,6 @@
%%MANPAGES%%share/man/man1/glab-deploy-key.1.gz
%%MANPAGES%%share/man/man1/glab-duo-ask.1.gz
%%MANPAGES%%share/man/man1/glab-duo.1.gz
-%%MANPAGES%%share/man/man1/glab-duo-claude-token.1.gz
-%%MANPAGES%%share/man/man1/glab-duo-claude.1.gz
-%%MANPAGES%%share/man/man1/glab-duo-codex.1.gz
%%MANPAGES%%share/man/man1/glab-incident-close.1.gz
%%MANPAGES%%share/man/man1/glab-incident-list.1.gz
%%MANPAGES%%share/man/man1/glab-incident-note.1.gz
diff --git a/devel/poser/Makefile b/devel/poser/Makefile
index 4b54a24a14bb..234f70c209d0 100644
--- a/devel/poser/Makefile
+++ b/devel/poser/Makefile
@@ -11,6 +11,9 @@ WWW= https://zirias.github.io/poser/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Unmaintained port
+EXPIRATION_DATE=2025-12-31
+
USES= compiler:c11 gmake pkgconfig tar:xz
USE_LDCONFIG= yes
diff --git a/devel/py-openstacksdk/Makefile b/devel/py-openstacksdk/Makefile
index 1073e742a943..9724ed9b89e3 100644
--- a/devel/py-openstacksdk/Makefile
+++ b/devel/py-openstacksdk/Makefile
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}decorator>=4.4.1:devel/py-decorator@${PY_FLA
${PYTHON_PKGNAMEPREFIX}jmespath>=0.9.0:devel/py-jmespath@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}jsonpatch>=1.16:devel/py-jsonpatch@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}keystoneauth1>=5.10.0:devel/py-keystoneauth1@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}os-service-types>=1.8.0:devel/py-os-service-types@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}os-service-types>0:devel/py-os-service-types@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pbr>=2.0.0:devel/py-pbr@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}platformdirs>=3:devel/py-platformdirs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psutil>=3.2.2:sysutils/py-psutil@${PY_FLAVOR} \
diff --git a/devel/py-pybind11/Makefile b/devel/py-pybind11/Makefile
index 582cee5f3caf..a13d77c50b1a 100644
--- a/devel/py-pybind11/Makefile
+++ b/devel/py-pybind11/Makefile
@@ -1,5 +1,5 @@
PORTNAME= pybind11
-DISTVERSION= 2.13.6
+DISTVERSION= 3.0.1
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -11,11 +11,11 @@ WWW= https://pybind11.readthedocs.io/en/stable/ \
LICENSE= BSD3CLAUSE
-BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
-USES= python
-USE_PYTHON= pep517 concurrent autoplist
+USES= cmake:indirect python
+USE_PYTHON= pep517 concurrent autoplist pytest
NO_ARCH= yes
diff --git a/devel/py-pybind11/distinfo b/devel/py-pybind11/distinfo
index 3a02704480e4..dc2251267414 100644
--- a/devel/py-pybind11/distinfo
+++ b/devel/py-pybind11/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726298011
-SHA256 (pybind11-2.13.6.tar.gz) = ba6af10348c12b24e92fa086b39cfba0eff619b61ac77c406167d813b096d39a
-SIZE (pybind11-2.13.6.tar.gz) = 218403
+TIMESTAMP = 1760505164
+SHA256 (pybind11-3.0.1.tar.gz) = 9c0f40056a016da59bab516efb523089139fcc6f2ba7e4930854c61efb932051
+SIZE (pybind11-3.0.1.tar.gz) = 546914
diff --git a/devel/py-scikit-build-core/Makefile b/devel/py-scikit-build-core/Makefile
index 0c4739f0f45b..aa2108dde3b5 100644
--- a/devel/py-scikit-build-core/Makefile
+++ b/devel/py-scikit-build-core/Makefile
@@ -1,5 +1,5 @@
PORTNAME= scikit-build-core
-DISTVERSION= 0.11.1
+DISTVERSION= 0.11.6
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -46,6 +46,6 @@ TEST_ENV= ${MAKE_ENV} \
NO_ARCH= yes
-# tests as of 0.11.1: 1 failed, 415 passed, 5 skipped, 3 xfailed, 1 warning in 603.00s (0:10:03), see https://github.com/scikit-build/scikit-build-core/issues/1057
+# tests as of 0.11.6: 2 failed, 460 passed, 5 skipped, 4 xfailed, 1 warning in 1152.80s (0:19:12), see https://github.com/scikit-build/scikit-build-core/issues/1159
.include <bsd.port.mk>
diff --git a/devel/py-scikit-build-core/distinfo b/devel/py-scikit-build-core/distinfo
index 256a11ba316d..0d39780bddbf 100644
--- a/devel/py-scikit-build-core/distinfo
+++ b/devel/py-scikit-build-core/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745646968
-SHA256 (scikit_build_core-0.11.1.tar.gz) = 4e5988df5cd33f0bdb9967b72663ca99f50383c9bc21d8b24fa40c0661ae72b7
-SIZE (scikit_build_core-0.11.1.tar.gz) = 273807
+TIMESTAMP = 1760505206
+SHA256 (scikit_build_core-0.11.6.tar.gz) = 5982ccd839735be99cfd3b92a8847c6c196692f476c215da84b79d2ad12f9f1b
+SIZE (scikit_build_core-0.11.6.tar.gz) = 286006
diff --git a/devel/pybind11/Makefile b/devel/pybind11/Makefile
index 1b6be96a204b..e0a989feae80 100644
--- a/devel/pybind11/Makefile
+++ b/devel/pybind11/Makefile
@@ -1,6 +1,6 @@
PORTNAME= pybind11
DISTVERSIONPREFIX= v
-DISTVERSION= 2.13.6
+DISTVERSION= 3.0.1
CATEGORIES= devel python
MAINTAINER= yuri@FreeBSD.org
@@ -23,4 +23,6 @@ CMAKE_TESTING_TARGET= pytest
NO_ARCH= yes
+# tests of 3.0.1: 5 failed, 1253 passed, 20 skipped, 2 xfailed, 1 xpassed in 53.99s
+
.include <bsd.port.mk>
diff --git a/devel/pybind11/distinfo b/devel/pybind11/distinfo
index d899221bd476..6153f18eacf0 100644
--- a/devel/pybind11/distinfo
+++ b/devel/pybind11/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1726298147
-SHA256 (pybind-pybind11-v2.13.6_GH0.tar.gz) = e08cb87f4773da97fa7b5f035de8763abc656d87d5773e62f6da0587d1f0ec20
-SIZE (pybind-pybind11-v2.13.6_GH0.tar.gz) = 800804
+TIMESTAMP = 1760503125
+SHA256 (pybind-pybind11-v3.0.1_GH0.tar.gz) = 741633da746b7c738bb71f1854f957b9da660bcd2dce68d71949037f0969d0ca
+SIZE (pybind-pybind11-v3.0.1_GH0.tar.gz) = 918227
diff --git a/devel/pybind11/pkg-plist b/devel/pybind11/pkg-plist
index 1dff2e13bd8d..f7f1c9dfdb14 100644
--- a/devel/pybind11/pkg-plist
+++ b/devel/pybind11/pkg-plist
@@ -4,15 +4,26 @@ include/pybind11/cast.h
include/pybind11/chrono.h
include/pybind11/common.h
include/pybind11/complex.h
+include/pybind11/conduit/README.txt
+include/pybind11/conduit/pybind11_conduit_v1.h
+include/pybind11/conduit/pybind11_platform_abi_id.h
+include/pybind11/conduit/wrap_include_python_h.h
+include/pybind11/critical_section.h
include/pybind11/detail/class.h
include/pybind11/detail/common.h
include/pybind11/detail/cpp_conduit.h
include/pybind11/detail/descr.h
+include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h
include/pybind11/detail/exception_translation.h
+include/pybind11/detail/function_record_pyobject.h
include/pybind11/detail/init.h
include/pybind11/detail/internals.h
+include/pybind11/detail/native_enum_data.h
+include/pybind11/detail/pybind11_namespace_macros.h
+include/pybind11/detail/struct_smart_holder.h
include/pybind11/detail/type_caster_base.h
include/pybind11/detail/typeid.h
+include/pybind11/detail/using_smart_holder.h
include/pybind11/detail/value_and_holder.h
include/pybind11/eigen.h
include/pybind11/eigen/common.h
@@ -23,7 +34,9 @@ include/pybind11/eval.h
include/pybind11/functional.h
include/pybind11/gil.h
include/pybind11/gil_safe_call_once.h
+include/pybind11/gil_simple.h
include/pybind11/iostream.h
+include/pybind11/native_enum.h
include/pybind11/numpy.h
include/pybind11/operators.h
include/pybind11/options.h
@@ -32,8 +45,11 @@ include/pybind11/pytypes.h
include/pybind11/stl.h
include/pybind11/stl/filesystem.h
include/pybind11/stl_bind.h
+include/pybind11/subinterpreter.h
+include/pybind11/trampoline_self_life_support.h
include/pybind11/type_caster_pyobject_ptr.h
include/pybind11/typing.h
+include/pybind11/warnings.h
share/cmake/pybind11/FindPythonLibsNew.cmake
share/cmake/pybind11/pybind11Common.cmake
share/cmake/pybind11/pybind11Config.cmake
diff --git a/devel/xtl-quant-stack/Makefile b/devel/xtl-quant-stack/Makefile
index cf506fcef6da..7a73fd50bad2 100644
--- a/devel/xtl-quant-stack/Makefile
+++ b/devel/xtl-quant-stack/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xtl
-DISTVERSION= 0.7.6
+DISTVERSION= 0.8.1
CATEGORIES= devel
PKGNAMESUFFIX= -quant-stack
@@ -23,10 +23,15 @@ GH_ACCOUNT= xtensor-stack
NO_BUILD= yes
NO_ARCH= yes
-do-test: # tests fail to compile: https://github.com/xtensor-stack/xtl/issues/255
+do-test:
@cd ${WRKSRC} && \
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -Dxtl_DIR:STRING=${STAGEDIR}${PREFIX}/lib/cmake/xtl -DBUILD_TESTS=ON -DDOWNLOAD_GTEST=OFF && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} xtest
+# tests as of 0.8.1:
+# doctest] test cases: 224 | 224 passed | 0 failed | 0 skipped
+# [doctest] assertions: 1214 | 1214 passed | 0 failed |
+# [doctest] Status: SUCCESS!
+
.include <bsd.port.mk>
diff --git a/devel/xtl-quant-stack/distinfo b/devel/xtl-quant-stack/distinfo
index 828f722fbfdf..dc2310f12c84 100644
--- a/devel/xtl-quant-stack/distinfo
+++ b/devel/xtl-quant-stack/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1702442875
-SHA256 (xtensor-stack-xtl-0.7.6_GH0.tar.gz) = dda442dc81f390f77561913062471c39b6ef19ffc6f64d3cd12b5c4b4607c957
-SIZE (xtensor-stack-xtl-0.7.6_GH0.tar.gz) = 159729
+TIMESTAMP = 1760416610
+SHA256 (xtensor-stack-xtl-0.8.1_GH0.tar.gz) = e69a696068ccffd2b435539d583665981b6c6abed596a72832bffbe3e13e1f49
+SIZE (xtensor-stack-xtl-0.8.1_GH0.tar.gz) = 138497
diff --git a/devel/xtl-quant-stack/pkg-plist b/devel/xtl-quant-stack/pkg-plist
index c3237e325f3e..4b2854c9fa43 100644
--- a/devel/xtl-quant-stack/pkg-plist
+++ b/devel/xtl-quant-stack/pkg-plist
@@ -1,4 +1,3 @@
-include/xtl/xany.hpp
include/xtl/xbase64.hpp
include/xtl/xbasic_fixed_string.hpp
include/xtl/xclosure.hpp
@@ -28,8 +27,6 @@ include/xtl/xspan_impl.hpp
include/xtl/xsystem.hpp
include/xtl/xtl_config.hpp
include/xtl/xtype_traits.hpp
-include/xtl/xvariant.hpp
-include/xtl/xvariant_impl.hpp
include/xtl/xvisitor.hpp
share/cmake/xtl/xtlConfig.cmake
share/cmake/xtl/xtlConfigVersion.cmake
diff --git a/editors/Makefile b/editors/Makefile
index 3656e873007d..2315d902a115 100644
--- a/editors/Makefile
+++ b/editors/Makefile
@@ -243,7 +243,6 @@
SUBDIR += py-editorconfig
SUBDIR += py-pynvim
SUBDIR += py-vim-bridge
- SUBDIR += quilter
SUBDIR += rehex
SUBDIR += retext
SUBDIR += rubygem-neovim
diff --git a/editors/quilter/Makefile b/editors/quilter/Makefile
deleted file mode 100644
index 6b4ee8810203..000000000000
--- a/editors/quilter/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-PORTNAME= quilter
-DISTVERSION= 3.3.4
-PORTREVISION= 2
-CATEGORIES= editors
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= Editor allowing you to focus on your writing
-WWW= https://github.com/lainsce/quilter
-
-LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= discount>0:textproc/discount
-LIB_DEPENDS= libgee-0.8.so:devel/libgee \
- libgranite.so:x11-toolkits/granite \
- libgtkspell3-3.so:textproc/gtkspell3 \
- libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \
- libhandy-1.so:x11-toolkits/libhandy
-
-USES= compiler:c11 desktop-file-utils gettext gnome meson pkgconfig python:build vala:build
-USE_GITHUB= yes
-GH_ACCOUNT= lainsce
-USE_GNOME= glib20 gtk30 gtksourceview4
-
-LDFLAGS+= ${LOCALBASE}/lib/libmarkdown.a
-
-BINARY_ALIAS= python3=${PYTHON_CMD}
-
-.include <bsd.port.mk>
diff --git a/editors/quilter/distinfo b/editors/quilter/distinfo
deleted file mode 100644
index a0954b75eb94..000000000000
--- a/editors/quilter/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1728746280
-SHA256 (lainsce-quilter-3.3.4_GH0.tar.gz) = ea43d9e44de1232cf145b7644460430dd44d960781bd1d86ee61a14ff4b6c940
-SIZE (lainsce-quilter-3.3.4_GH0.tar.gz) = 1461457
diff --git a/editors/quilter/files/patch-meson.build b/editors/quilter/files/patch-meson.build
deleted file mode 100644
index 3f937b587c87..000000000000
--- a/editors/quilter/files/patch-meson.build
+++ /dev/null
@@ -1,20 +0,0 @@
---- meson.build.orig 2024-10-12 15:19:01 UTC
-+++ meson.build
-@@ -76,7 +76,7 @@ cc = meson.get_compiler('c')
- )
-
- cc = meson.get_compiler('c')
--libmarkdown = cc.find_library('markdown', required: true)
-+#libmarkdown = cc.find_library('markdown', required: true)
- dependencies = [
- dependency('gio-2.0'),
- dependency('gtk+-3.0'),
-@@ -88,7 +88,7 @@ dependencies = [
- dependency('webkit2gtk-4.0'),
- dependency('gtkspell3-3.0'),
- dependency('libhandy-1'),
-- libmarkdown,
-+ #libmarkdown,
- cc.find_library('m', required: true)
- ]
-
diff --git a/editors/quilter/pkg-descr b/editors/quilter/pkg-descr
deleted file mode 100644
index 845bd62efdf3..000000000000
--- a/editors/quilter/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-Focus on your writing and write beautiful solid stories with the Focus Mode in
-tow in this Markdown editor.
diff --git a/editors/quilter/pkg-plist b/editors/quilter/pkg-plist
deleted file mode 100644
index d9d99cc871bd..000000000000
--- a/editors/quilter/pkg-plist
+++ /dev/null
@@ -1,42 +0,0 @@
-bin/io.github.lainsce.Quilter
-share/applications/io.github.lainsce.Quilter.desktop
-share/fonts/truetype/quilt/QuiltMono.ttf
-share/fonts/truetype/quilt/QuiltVier.ttf
-share/fonts/truetype/quilt/QuiltZwei.ttf
-share/glib-2.0/schemas/io.github.lainsce.Quilter.gschema.xml
-share/gtksourceview-4/styles/io.github.lainsce.Quilter-dark.xml
-share/gtksourceview-4/styles/io.github.lainsce.Quilter-sepia.xml
-share/gtksourceview-4/styles/io.github.lainsce.Quilter.xml
-share/icons/hicolor/scalable/apps/io.github.lainsce.Quilter.svg
-share/icons/hicolor/scalable/apps/io.github.lainsce.QuilterDevel.svg
-share/icons/hicolor/symbolic/apps/io.github.lainsce.Quilter-symbolic.svg
-share/io.github.lainsce.Quilter/center_headers/cheaders.css
-share/io.github.lainsce.Quilter/font/mono.css
-share/io.github.lainsce.Quilter/font/sans.css
-share/io.github.lainsce.Quilter/font/serif.css
-share/io.github.lainsce.Quilter/highlight.js/lib/highlight.min.js
-share/io.github.lainsce.Quilter/highlight.js/styles/dark.min.css
-share/io.github.lainsce.Quilter/highlight.js/styles/default.min.css
-share/io.github.lainsce.Quilter/highlight.js/styles/sepia.min.css
-share/io.github.lainsce.Quilter/katex/katex.css
-share/io.github.lainsce.Quilter/katex/katex.js
-share/io.github.lainsce.Quilter/katex/render.js
-share/io.github.lainsce.Quilter/mermaid/mermaid.js
-share/io.github.lainsce.Quilter/wordlist/adjective.txt
-share/io.github.lainsce.Quilter/wordlist/adverb.txt
-share/io.github.lainsce.Quilter/wordlist/conjunction.txt
-share/io.github.lainsce.Quilter/wordlist/verb.txt
-share/locale/ca/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/da/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/de/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/eo/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/es/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/fr/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/it/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/ja/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/lt/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/nl/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/pl/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/pt_BR/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/locale/ru/LC_MESSAGES/io.github.lainsce.Quilter.mo
-share/metainfo/io.github.lainsce.Quilter.appdata.xml
diff --git a/emulators/Ymir/Makefile b/emulators/Ymir/Makefile
index aaf5d4ed0a8c..ba5381637c76 100644
--- a/emulators/Ymir/Makefile
+++ b/emulators/Ymir/Makefile
@@ -1,6 +1,6 @@
PORTNAME= Ymir
DISTVERSIONPREFIX= v
-DISTVERSION= 0.1.8
+DISTVERSION= 0.2.0
CATEGORIES= emulators
MAINTAINER= bsdcode@disroot.org
@@ -16,17 +16,23 @@ ONLY_FOR_ARCHS_REASON= upstream only supports aarch64 and amd64
BUILD_DEPENDS= cereal>0:devel/cereal \
concurrentqueue>0:devel/concurrentqueue \
cxxopts>0:devel/cxxopts \
+ date>0:devel/date \
glslangValidator:graphics/glslang \
glslc:graphics/shaderc \
+ libnghttp3>0:www/libnghttp3 \
+ libngtcp2>0:net/libngtcp2 \
+ nlohmann-json>0:devel/nlohmann-json \
+ semver>0:devel/semver \
stb>0:devel/stb \
- tomlplusplus>0:devel/tomlplusplus \
vulkan-headers>0:graphics/vulkan-headers
LIB_DEPENDS= libchdr.so:devel/libchdr \
+ libcurl.so:ftp/curl \
libfmt.so:devel/libfmt \
libglfw.so:graphics/glfw \
libimgui.so:x11-toolkits/imgui \
liblz4.so:archivers/liblz4 \
librtmidi.so:audio/rtmidi \
+ libtomlplusplus.so:devel/tomlplusplus \
libvulkan.so:graphics/vulkan-loader \
libxxhash.so:devel/xxhash
@@ -39,11 +45,11 @@ ${FLAVOR}_BUILD_DEPENDS= ${_${FLAVOR}_BR_DEPENDS}
${FLAVOR}_RUN_DEPENDS= ${_${FLAVOR}_BR_DEPENDS}
USES= cmake compiler:c++20-lang desktop-file-utils gl \
- llvm${_LLVM_${ARCH}} pkgconfig sdl xorg
+ llvm${_LLVM_${ARCH}} localbase pkgconfig sdl xorg
_LLVM_aarch64= :min=21
USE_GITHUB= yes
GH_ACCOUNT= StrikerX3
-GH_TUPLE= StrikerX3:mio:c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa:mio/vendor/mio
+GH_TUPLE= StrikerX3:mio:4e4cdc711d73d9dc96c0cb9475e6951f476218e6:mio/vendor/mio
USE_GL= glut
USE_SDL= sdl3
USE_XORG= xi xmu
@@ -52,8 +58,7 @@ CMAKE_OFF= Ymir_DEV_BUILD \
Ymir_ENABLE_IMGUI_DEMO \
Ymir_ENABLE_SANDBOX \
Ymir_ENABLE_TESTS \
- Ymir_INCLUDE_PACKAGING \
- Ymir_SHARED_LIBS
+ Ymir_INCLUDE_PACKAGING
CFLAGS+= -I${LOCALBASE}/include/concurrentqueue/moodycamel \
-I${LOCALBASE}/include/stb \
@@ -80,7 +85,7 @@ post-install:
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.desktop \
${STAGEDIR}${DESKTOPDIR}
${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps \
- ${STAGEDIR}${PREFIX}/share/metainfo
+ ${STAGEDIR}${PREFIX}/share/metainfo
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/ymir.png \
${STAGEDIR}${PREFIX}/share/icons/hicolor/256x256/apps
${INSTALL_DATA} ${WRKSRC}/apps/ymir-sdl3/res/io.github.strikerx3.ymir.xml \
diff --git a/emulators/Ymir/distinfo b/emulators/Ymir/distinfo
index ea0e78976f0f..26b0995b0a76 100644
--- a/emulators/Ymir/distinfo
+++ b/emulators/Ymir/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1757486628
-SHA256 (StrikerX3-Ymir-v0.1.8_GH0.tar.gz) = 6a5951c25a4a1796c0643aacdced3f31099014e4f89412c5eb11bb385c0218d3
-SIZE (StrikerX3-Ymir-v0.1.8_GH0.tar.gz) = 5477804
-SHA256 (StrikerX3-mio-c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa_GH0.tar.gz) = 384d3a3ee249ebda0766fa5dc9f8bc5a871c8b2e3d3eedf46f330e6350058738
-SIZE (StrikerX3-mio-c9dbe3a6f74b2c2c4a6c9621005c3df213a33eaa_GH0.tar.gz) = 34871
+TIMESTAMP = 1760363610
+SHA256 (StrikerX3-Ymir-v0.2.0_GH0.tar.gz) = 82270cd8cb0694d7575e1437e9a378e925d85c02cdb2c7eb7557eb8870fd5894
+SIZE (StrikerX3-Ymir-v0.2.0_GH0.tar.gz) = 6306947
+SHA256 (StrikerX3-mio-4e4cdc711d73d9dc96c0cb9475e6951f476218e6_GH0.tar.gz) = 5da72ba39d70edab8cc42075c40895758c4a4ad905f9254ed5fd216757331773
+SIZE (StrikerX3-mio-4e4cdc711d73d9dc96c0cb9475e6951f476218e6_GH0.tar.gz) = 34878
diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt b/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt
index e18e7f768ee3..8ba4d51260aa 100644
--- a/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt
+++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_CMakeLists.txt
@@ -1,11 +1,18 @@
---- apps/ymir-sdl3/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC
+--- apps/ymir-sdl3/CMakeLists.txt.orig 2025-10-12 17:41:59 UTC
+++ apps/ymir-sdl3/CMakeLists.txt
-@@ -256,7 +256,7 @@ target_link_libraries(ymir-sdl3 PRIVATE
- fmt
- cxxopts
- imgui::imgui
-- tomlplusplus::tomlplusplus
-+# tomlplusplus::tomlplusplus
- cereal::cereal
- lz4::lz4
- stb::stb
+@@ -352,12 +352,12 @@ find_package(date CONFIG REQUIRED)
+ find_package(cereal CONFIG REQUIRED)
+ find_package(cxxopts CONFIG REQUIRED)
+ find_package(date CONFIG REQUIRED)
+-find_package(OpenSSL CONFIG REQUIRED)
+ find_package(CURL REQUIRED)
++add_library(CURL::libcurl_static ALIAS CURL::libcurl)
+ find_package(fmt CONFIG REQUIRED)
+-find_package(rtmidi CONFIG REQUIRED)
++pkg_check_modules(rtmidi REQUIRED IMPORTED_TARGET rtmidi)
++add_library(RtMidi::rtmidi ALIAS PkgConfig::rtmidi)
+ find_package(SDL3 CONFIG REQUIRED)
+-find_package(Stb REQUIRED)
+ find_package(tomlplusplus CONFIG REQUIRED)
+
+ target_include_directories(ymir-sdl3
diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp
new file mode 100644
index 000000000000..b9ecadb667d6
--- /dev/null
+++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_views_settings_cdblock__settings__view.cpp
@@ -0,0 +1,11 @@
+--- apps/ymir-sdl3/src/app/ui/views/settings/cdblock_settings_view.cpp.orig 2025-10-13 11:40:42 UTC
++++ apps/ymir-sdl3/src/app/ui/views/settings/cdblock_settings_view.cpp
+@@ -6,7 +6,7 @@
+
+ #include <util/sdl_file_dialog.hpp>
+
+-#include <misc/cpp/imgui_stdlib.h>
++#include <imgui_stdlib.h>
+
+ #include <SDL3/SDL_misc.h>
+
diff --git a/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp
new file mode 100644
index 000000000000..a42fe54d23b6
--- /dev/null
+++ b/emulators/Ymir/files/patch-apps_ymir-sdl3_src_app_ui_windows_about__window.cpp
@@ -0,0 +1,14 @@
+--- apps/ymir-sdl3/src/app/ui/windows/about_window.cpp.orig 2025-10-14 17:56:52 UTC
++++ apps/ymir-sdl3/src/app/ui/windows/about_window.cpp
+@@ -48,6 +48,11 @@
+ #define ZLIB_VERSION "1.3.1" // Private dependency of libchdr
+ #define ZSTD_VERSION "1.5.6" // Private dependency of libchdr
+
++// Needed on 13.5, openssl in base is too old
++#ifndef OPENSSL_FULL_VERSION_STR
++#define OPENSSL_FULL_VERSION_STR OPENSSL_VERSION_TEXT
++#endif
++
+ static const std::string fmtVersion = std::to_string(FMT_VERSION / 10000) + "." +
+ std::to_string(FMT_VERSION / 100 % 100) + "." + std::to_string(FMT_VERSION % 100);
+
diff --git a/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt b/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt
index 2c971a407b7a..607ae6341003 100644
--- a/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt
+++ b/emulators/Ymir/files/patch-libs_ymir-core_CMakeLists.txt
@@ -1,13 +1,15 @@
---- libs/ymir-core/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC
+--- libs/ymir-core/CMakeLists.txt.orig 2025-10-13 12:04:15 UTC
+++ libs/ymir-core/CMakeLists.txt
-@@ -239,7 +239,10 @@ target_compile_features(ymir-core PUBLIC cxx_std_20)
+@@ -289,10 +289,12 @@ target_compile_features(ymir-core PUBLIC cxx_std_20)
+ )
target_compile_features(ymir-core PUBLIC cxx_std_20)
- ## Add dependencies
+find_package(Threads REQUIRED)
-+
+ find_package(fmt CONFIG REQUIRED)
+
+ ## Add dependencies
target_link_libraries(ymir-core PUBLIC
+ Threads::Threads
- fmt
+ fmt::fmt
mio
concurrentqueue
diff --git a/emulators/Ymir/files/patch-vendor_CMakeLists.txt b/emulators/Ymir/files/patch-vendor_CMakeLists.txt
index c6c095066435..7b6c480df4a9 100644
--- a/emulators/Ymir/files/patch-vendor_CMakeLists.txt
+++ b/emulators/Ymir/files/patch-vendor_CMakeLists.txt
@@ -1,100 +1,40 @@
---- vendor/CMakeLists.txt.orig 2025-07-20 22:35:27 UTC
+--- vendor/CMakeLists.txt.orig 2025-10-12 17:41:59 UTC
+++ vendor/CMakeLists.txt
-@@ -22,9 +22,12 @@ message(STATUS "Adding vendored libraries")
-
- message(STATUS "Adding vendored libraries")
-
-+find_package(PkgConfig REQUIRED)
-+
- # {fmt} - https://github.com/fmtlib/fmt
- message(STATUS "==> {fmt}")
--add_subdirectory(fmt EXCLUDE_FROM_ALL)
-+pkg_check_modules(fmt REQUIRED IMPORTED_TARGET GLOBAL fmt)
-+add_library(fmt ALIAS PkgConfig::fmt)
-
- # mio - https://github.com/vimpunk/mio
- # Notes:
-@@ -36,65 +39,55 @@ message(STATUS "==> SDL")
-
- # SDL - https://github.com/libsdl-org/SDL
- message(STATUS "==> SDL")
--set(SDL_DISABLE_UNINSTALL ON)
--set(SDL_TEST_LIBRARY OFF)
--set(SDL_TESTS OFF)
--set(SDL_EXAMPLES OFF)
--if (BUILD_SHARED_LIBS)
-- set(SDL_SHARED ON)
-- set(SDL_STATIC OFF)
--else ()
-- set(SDL_SHARED OFF)
-- set(SDL_STATIC ON)
--endif ()
--add_subdirectory_quiet(SDL EXCLUDE_FROM_ALL)
-+find_package(SDL3 REQUIRED GLOBAL)
-
- # cxxopts - https://github.com/jarro2783/cxxopts
- message(STATUS "==> cxxopts")
--add_subdirectory(cxxopts EXCLUDE_FROM_ALL)
-+find_package(cxxopts REQUIRED GLOBAL)
-+add_library(cxxopts ALIAS cxxopts::cxxopts)
-
+@@ -36,28 +36,31 @@ message(STATUS "==> concurrentqueue")
# concurrentqueue - https://github.com/cameron314/concurrentqueue
+ # - Not available as a vcpkg port
message(STATUS "==> concurrentqueue")
-add_subdirectory(concurrentqueue EXCLUDE_FROM_ALL)
+find_package(concurrentqueue REQUIRED GLOBAL)
+add_library(concurrentqueue ALIAS concurrentqueue::concurrentqueue)
# dear ImGui - https://github.com/ocornut/imgui
- # docking branch
+ # - Using the docking branch
message(STATUS "==> dear ImGui")
-add_subdirectory(imgui EXCLUDE_FROM_ALL)
+find_package(imgui REQUIRED GLOBAL)
- # toml++ - https://github.com/marzer/tomlplusplus
- message(STATUS "==> toml++")
--add_subdirectory(tomlplusplus EXCLUDE_FROM_ALL)
-+find_package(tomlplusplus REQUIRED GLOBAL)
-
# xxHash - https://github.com/Cyan4973/xxHash
+ # - Unable to configure AVX2 support
message(STATUS "==> xxHash")
-add_subdirectory(xxHash EXCLUDE_FROM_ALL)
+pkg_check_modules(libxxhash REQUIRED IMPORTED_TARGET GLOBAL libxxhash)
+add_library(xxHash::xxHash ALIAS PkgConfig::libxxhash)
# lz4 - https://github.com/lz4/lz4
+ # - Unable to configure AVX2 support
message(STATUS "==> lz4")
-add_subdirectory(lz4 EXCLUDE_FROM_ALL)
+pkg_check_modules(liblz4 REQUIRED IMPORTED_TARGET GLOBAL liblz4)
+add_library(lz4::lz4 ALIAS PkgConfig::liblz4)
- # cereal - https://github.com/USCiLab/cereal
- message(STATUS "==> cereal")
--set(BUILD_DOC OFF)
--set(BUILD_SANDBOX OFF)
--set(JUST_INSTALL_CEREAL ON)
--add_subdirectory(cereal EXCLUDE_FROM_ALL)
-+find_package(cereal REQUIRED GLOBAL)
-
- # stb - https://github.com/nothings/stb
- message(STATUS "==> stb")
--add_subdirectory(stb)
-+add_library(stb INTERFACE)
-+add_library(stb::stb ALIAS stb)
-
# libchdr - https://github.com/rtissera/libchdr
+ # - Not available as a vcpkg port
message(STATUS "==> libchdr")
-set(BUILD_FUZZER OFF)
-add_subdirectory(libchdr)
+pkg_check_modules(libchdr REQUIRED IMPORTED_TARGET GLOBAL libchdr)
+add_library(chdr-static ALIAS PkgConfig::libchdr)
- # rtmidi - https://github.com/thestk/rtmidi
- message(STATUS "==> rtmidi")
--set(RTMIDI_BUILD_STATIC_LIBS ON)
--set(RTMIDI_BUILD_TESTING OFF)
--add_subdirectory(rtmidi)
-+pkg_check_modules(rtmidi REQUIRED IMPORTED_TARGET GLOBAL rtmidi)
-+add_library(rtmidi ALIAS PkgConfig::rtmidi)
-
- # --------------------------------------------------------------------------------------------------
- # Test dependencies
+ # Place vendored library projects under a Vendored folder in Visual Studio solutions
+ if (MSVC)
diff --git a/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp b/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp
deleted file mode 100644
index cf610729c0d1..000000000000
--- a/emulators/Ymir/files/patch-vendor_mio_include_mio_detail_mmap.ipp
+++ /dev/null
@@ -1,13 +0,0 @@
-https://github.com/vimpunk/mio/issues/110
-
---- vendor/mio/include/mio/detail/mmap.ipp.orig 2025-02-12 00:14:41 UTC
-+++ vendor/mio/include/mio/detail/mmap.ipp
-@@ -208,7 +208,7 @@ inline mmap_context memory_map(const file_handle_type
- char* mapping_start = static_cast<char*>(::mmap(
- 0, // Don't give hint as to where to map.
- length_to_map,
-- mode == access_mode::read ? PROT_READ : PROT_WRITE,
-+ mode == access_mode::read ? PROT_READ : PROT_READ | PROT_WRITE,
- mode == access_mode::copy_on_write ? MAP_PRIVATE : MAP_SHARED,
- file_handle,
- aligned_offset));
diff --git a/emulators/Ymir/pkg-descr b/emulators/Ymir/pkg-descr
index 2eae362fc391..907adbc7aaba 100644
--- a/emulators/Ymir/pkg-descr
+++ b/emulators/Ymir/pkg-descr
@@ -3,14 +3,16 @@ Ymir is a Sega Saturn emulator with the following features:
- Load games from MAME CHD, BIN+CUE, IMG+CCD, MDF+MDS or ISO files
- Automatic IPL (BIOS) ROM detection
- Automatic region switching
-- Up to two players with standard Control Pads or 3D Control Pads on both ports
+- Up to two players with a variety of controllers on both ports
- Fully customizable keybindings
-- Backup RAM, DRAM and ROM cartridges
+- Backup RAM, DRAM and ROM cartridges (more to come)
- Integrated backup memory manager to import and export saves, and transfer
between internal and cartridge RAM
-- Save states
+- Forwards-compatible save states
- Rewinding (up to one minute at 60 fps), turbo speed, frame step (forwards and
backwards)
- Full screen mode with VRR support and low input lag
-- Optional deinterlaced/progressive rendering of high resolution modes
+- Graphics enhancements such as optional deinterlaced/progressive rendering of
+ high resolution modes and transparent mesh polygon rendering
+- Optional low level CD block emulation
- A feature-rich debugger
diff --git a/filesystems/Makefile b/filesystems/Makefile
index 4f7065513f9a..67ebb926d71f 100644
--- a/filesystems/Makefile
+++ b/filesystems/Makefile
@@ -76,6 +76,7 @@
SUBDIR += mp3fs
SUBDIR += mtools
SUBDIR += mtpfs
+ SUBDIR += nbd-client-kmod
SUBDIR += nbt
SUBDIR += ntfs
SUBDIR += ntfs-compression
diff --git a/filesystems/nbd-client-kmod/Makefile b/filesystems/nbd-client-kmod/Makefile
new file mode 100644
index 000000000000..27d78925a28d
--- /dev/null
+++ b/filesystems/nbd-client-kmod/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= nbd-client
+DISTVERSION= g20250928
+CATEGORIES= filesystems
+PKGNAMESUFFIX= -kmod
+
+MAINTAINER= dtxdf@FreeBSD.org
+COMMENT= Kernel NBD client for FreeBSD GEOM framework
+WWW= https://github.com/ryan-moeller/kernel-nbd-client
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= kmod ssl uidfix
+USE_GITHUB= yes
+GH_ACCOUNT= ryan-moeller
+GH_PROJECT= kernel-nbd-client
+GH_TAGNAME= df0528162deffaabaae4365394b4b6e75ff3fcaf
+
+MAKE_ENV= GEOM_CLASS_DIR="${PREFIX}/lib/geom" \
+ MANDIR="${PREFIX}/share/man/man"
+
+SUB_FILES= gnbd
+
+pre-install:
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/geom
+
+post-install:
+ ${INSTALL_SCRIPT} ${WRKDIR}/gnbd ${STAGEDIR}${PREFIX}/sbin/gnbd
+ ${INSTALL_DATA} ${WRKSRC}/devd.conf.sample ${STAGEDIR}${PREFIX}/etc/devd/${PORTNAME}.conf.sample
+
+.include <bsd.port.mk>
diff --git a/filesystems/nbd-client-kmod/distinfo b/filesystems/nbd-client-kmod/distinfo
new file mode 100644
index 000000000000..8d781e318f51
--- /dev/null
+++ b/filesystems/nbd-client-kmod/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760457302
+SHA256 (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 9e6b66d41ae86c5eb52f9cb835b7517775d2a58a0523d7617ff55d91384f792f
+SIZE (ryan-moeller-kernel-nbd-client-g20250928-df0528162deffaabaae4365394b4b6e75ff3fcaf_GH0.tar.gz) = 39296
diff --git a/filesystems/nbd-client-kmod/files/gnbd.in b/filesystems/nbd-client-kmod/files/gnbd.in
new file mode 100644
index 000000000000..94d021b26b05
--- /dev/null
+++ b/filesystems/nbd-client-kmod/files/gnbd.in
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec env GEOM_LIBRARY_PATH="%%LOCALBASE%%/lib/geom" /sbin/geom nbd "$@"
diff --git a/filesystems/nbd-client-kmod/files/patch-lib_Makefile b/filesystems/nbd-client-kmod/files/patch-lib_Makefile
new file mode 100644
index 000000000000..72ec380c46c4
--- /dev/null
+++ b/filesystems/nbd-client-kmod/files/patch-lib_Makefile
@@ -0,0 +1,12 @@
+--- lib/Makefile.orig 2025-10-14 17:24:26 UTC
++++ lib/Makefile
+@@ -21,9 +21,6 @@ LDADD+= -lssl -lcrypto
+ LDADD+= -lssl -lcrypto
+ #.endif
+
+-# Not needed when in tree
+-LINKS= /sbin/geom /sbin/gnbd
+-
+ .PATH: ${SRCTOP}/sbin/geom/misc
+
+ .include <bsd.lib.mk>
diff --git a/filesystems/nbd-client-kmod/pkg-descr b/filesystems/nbd-client-kmod/pkg-descr
new file mode 100644
index 000000000000..199e3750eea1
--- /dev/null
+++ b/filesystems/nbd-client-kmod/pkg-descr
@@ -0,0 +1,5 @@
+FreeBSD Geom NBD Client is a Network Block Device (NBD) client for
+the FreeBSD kernel GEOM framework.
+
+The project consists of a kernel driver for the NBD GEOM class in
+mod/ and a user library for the geom(8) control utility in lib/.
diff --git a/filesystems/nbd-client-kmod/pkg-plist b/filesystems/nbd-client-kmod/pkg-plist
new file mode 100644
index 000000000000..6467c9b1e620
--- /dev/null
+++ b/filesystems/nbd-client-kmod/pkg-plist
@@ -0,0 +1,5 @@
+/%%KMODDIR%%/geom_nbd.ko
+lib/geom/geom_nbd.so
+share/man/man8/gnbd.8.gz
+sbin/gnbd
+@sample etc/devd/nbd-client.conf.sample
diff --git a/graphics/vv/Makefile b/graphics/vv/Makefile
index f238b61ff4ed..949a0af9f166 100644
--- a/graphics/vv/Makefile
+++ b/graphics/vv/Makefile
@@ -1,8 +1,7 @@
PORTNAME= vv
DISTVERSIONPREFIX= v
-DISTVERSION= 1.4.0-383
-DISTVERSIONSUFFIX= -g7a783a8b
-PORTREVISION= 8
+DISTVERSION= 1.4.0-406
+DISTVERSIONSUFFIX= -gd33ac3e8
CATEGORIES= graphics
MAINTAINER= yuri@FreeBSD.org
@@ -18,15 +17,16 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \
libgdcmCommon.so:devel/gdcm \
libhdf5_cpp.so:science/hdf5 \
libITKLabelMap-5.0.so:science/InsightToolkit501 \
- libpng.so:graphics/png \
- libsz.so:science/libaec \
+ libmpi.so:net/mpich \
+ libnetcdf.so:science/netcdf \
+ libpng16.so:graphics/png \
libtiff.so:graphics/tiff \
- libvtkIOSQL-8.2.so:math/vtk8
+ libvtkIOSQL-${VTK_VER}.so:math/vtk9
-USES= cmake compiler:c++11-lang eigen:3 jpeg qt:5 xorg
+USES= cmake compiler:c++11-lang eigen:3 jpeg python:build,run qt:5 xorg
USE_GITHUB= yes
GH_ACCOUNT= open-vv
-USE_QT= core designer gui network sql widgets xml buildtools:build qmake:build
+USE_QT= core designer gui network opengl declarative sql widgets xml buildtools:build qmake:build
USE_XORG= ice sm x11 xext xt
USE_CXXSTD= c++11
@@ -40,7 +40,31 @@ PLIST_FILES= bin/vv
CXXFLAGS+= -msse2 # workaround for ITK failing to add -msse2 on i386: https://github.com/open-vv/vv/issues/83 & https://github.com/InsightSoftwareConsortium/ITK/issues/2011
.endif
+post-patch:
+ @${REINPLACE_CMD} -e 's/VTK_OVERRIDE/override/g' \
+ ${WRKSRC}/vv/vtkVOXImageWriter.h \
+ ${WRKSRC}/vv/vvAnimatedGIFWriter.h \
+ ${WRKSRC}/vv/vvBlendImageActor.h \
+ ${WRKSRC}/vv/vvClipPolyData.h \
+ ${WRKSRC}/vv/vvGlyph2D.h \
+ ${WRKSRC}/vv/vvGlyphSource.h \
+ ${WRKSRC}/vv/vvInteractorStyleNavigator.h \
+ ${WRKSRC}/vv/vvLandmarksGlyph.h \
+ ${WRKSRC}/vv/vvSlicer.h
+ @${REINPLACE_CMD} -e 's/Widget()->GetRenderWindow()/Widget()->renderWindow()/g' \
+ ${WRKSRC}/vv/vvToolHistogramCommand.cxx
+ @${REINPLACE_CMD} -e 's/Widget->GetRenderWindow()/Widget->renderWindow()/g' \
+ ${WRKSRC}/vv/vvMainWindow.cxx \
+ ${WRKSRC}/vv/vvSegmentationDialog.cxx \
+ ${WRKSRC}/vv/vvSurfaceViewerDialog.cxx \
+ ${WRKSRC}/vv/vvToolHistogram.cxx \
+ ${WRKSRC}/vv/vvToolProfile.cxx
+ @${REINPLACE_CMD} -e 's/widget->GetRenderWindow()/widget->renderWindow()/g' \
+ ${WRKSRC}/vv/vvMainWindow.cxx
+
post-configure: # workaround for "error: unable to find library -lGTest::GTest", see https://github.com/open-vv/vv/issues/74
@${REINPLACE_CMD} -E 's/ -lGTest::(GTest|Main) / /g' ${BUILD_WRKSRC}/build.ninja
+ @${REINPLACE_CMD} -E 's|/usr/local/lib/libtiff\.so\.[0-9]+\.[0-9]+\.[0-9]+|/usr/local/lib/libtiff.so|g' ${BUILD_WRKSRC}/build.ninja
+.include <../../math/vtk9/Makefile.version>
.include <bsd.port.post.mk>
diff --git a/graphics/vv/distinfo b/graphics/vv/distinfo
index a7748e6e693c..5f0f729f98bf 100644
--- a/graphics/vv/distinfo
+++ b/graphics/vv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1600492328
-SHA256 (open-vv-vv-v1.4.0-383-g7a783a8b_GH0.tar.gz) = dfa80f7036297e859bf5c6b18b2b187fc05dc50a17f0b074d909e96fa8c2acbb
-SIZE (open-vv-vv-v1.4.0-383-g7a783a8b_GH0.tar.gz) = 4860982
+TIMESTAMP = 1760419528
+SHA256 (open-vv-vv-v1.4.0-406-gd33ac3e8_GH0.tar.gz) = 7f3e10a3a1391ccebd56d685316303b2fbf7f0112417d8caadb4562644cebf06
+SIZE (open-vv-vv-v1.4.0-406-gd33ac3e8_GH0.tar.gz) = 8248327
diff --git a/graphics/vv/files/patch-common_clitkCommon.txx b/graphics/vv/files/patch-common_clitkCommon.txx
new file mode 100644
index 000000000000..8f800d137543
--- /dev/null
+++ b/graphics/vv/files/patch-common_clitkCommon.txx
@@ -0,0 +1,25 @@
+Remove deprecated std::binary_function base class.
+
+C++17 removed std::binary_function which was deprecated in C++11.
+Replace with plain structs that define operator().
+
+--- common/clitkCommon.txx.orig 2025-04-17 12:54:38 UTC
++++ common/clitkCommon.txx
+@@ -135,7 +135,7 @@ template<class Type>
+
+ //--------------------------------------------------------------------
+ template<class Type>
+-struct vectorComparisonLowerThan: public std::binary_function<int, int, bool> {
++struct vectorComparisonLowerThan {
+ vectorComparisonLowerThan(const std::vector<Type> & v):vect(v) {};
+ bool operator()(int x, int y) {
+ return (vect[x] < vect[y]);
+@@ -146,7 +146,7 @@ template<class Type>
+
+ //--------------------------------------------------------------------
+ template<class Type>
+-struct vectorComparisonGreaterThan: public std::binary_function<int, int, bool> {
++struct vectorComparisonGreaterThan {
+ vectorComparisonGreaterThan(const std::vector<Type> & v):vect(v) {};
+ bool operator()(int x, int y) {
+ return (vect[x] > vect[y]);
diff --git a/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx b/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx
new file mode 100644
index 000000000000..0a7eef8e114b
--- /dev/null
+++ b/graphics/vv/files/patch-common_clitkXdrImageIOWriter.cxx
@@ -0,0 +1,15 @@
+Remove register storage class specifier.
+
+C++17 removed the 'register' keyword which was deprecated in C++11.
+
+--- common/clitkXdrImageIOWriter.cxx.orig 2025-04-17 12:54:38 UTC
++++ common/clitkXdrImageIOWriter.cxx
+@@ -464,7 +464,7 @@ static size_t nki_private_compress(signed char *dest,
+ unsigned long iCRC;
+ unsigned long iCRC2;
+ unsigned int iHeaderSize=8; // value for iMode==1 and iMode==3
+- register int val;
++ int val;
+ size_t i,j;
+ NKI_MODE2* pHeader = (NKI_MODE2*)dest;
+ NKI_MODE2_64BITS* pHeader_64bits = (NKI_MODE2_64BITS*)dest;
diff --git a/graphics/vv/files/patch-common_rtkEdfImageIO.h b/graphics/vv/files/patch-common_rtkEdfImageIO.h
new file mode 100644
index 000000000000..f79dd805a41f
--- /dev/null
+++ b/graphics/vv/files/patch-common_rtkEdfImageIO.h
@@ -0,0 +1,15 @@
+Update ITK enum name for ITK 5.0 compatibility.
+
+ITK 5.0 renamed IOByteOrderEnum to ByteOrder.
+
+--- common/rtkEdfImageIO.h.orig 2025-04-17 12:54:38 UTC
++++ common/rtkEdfImageIO.h
+@@ -100,7 +100,7 @@ class EdfImageIO : public itk::ImageIOBase (protected)
+ // table key-value structure
+ struct table {
+ const char *key;
+- itk::ImageIOBase::IOByteOrderEnum value;
++ itk::ImageIOBase::ByteOrder value;
+ };
+
+ struct table3 {
diff --git a/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx b/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx
new file mode 100644
index 000000000000..f6d963c9eada
--- /dev/null
+++ b/graphics/vv/files/patch-itk_RelativePositionPropImageFilter.txx
@@ -0,0 +1,30 @@
+Remove register storage class specifier.
+
+C++17 removed the 'register' keyword which was deprecated in C++11.
+
+--- itk/RelativePositionPropImageFilter.txx.orig 2025-04-17 12:54:38 UTC
++++ itk/RelativePositionPropImageFilter.txx
+@@ -365,12 +365,12 @@ namespace itk
+
+ typename TabulationImageType::IndexType start;
+
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ start[i]=0;
+
+ typename TabulationImageType::SizeType size = this->GetInput()->GetLargestPossibleRegion().GetSize();
+
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ size[i]*=2;
+
+ typename TabulationImageType::RegionType region;
+@@ -390,7 +390,7 @@ namespace itk
+ m_AngleTabulation->GetRequestedRegion().GetIndex();
+
+ typename TabulationImageType::SizeType center = this->GetInput()->GetLargestPossibleRegion().GetSize();
+- for(register int i=0;i<ImageDimension;i++)
++ for(int i=0;i<ImageDimension;i++)
+ center[i]-=1;
+
+ VectorType vecttemp;
diff --git a/graphics/vv/files/patch-vv_vv.cxx b/graphics/vv/files/patch-vv_vv.cxx
index b3517f001de0..1167955d887f 100644
--- a/graphics/vv/files/patch-vv_vv.cxx
+++ b/graphics/vv/files/patch-vv_vv.cxx
@@ -1,11 +1,36 @@
---- vv/vv.cxx.orig 2020-09-19 05:31:12 UTC
+Update for VTK 9 and fix platform-specific code.
+
+- Replace QVTKOpenGLWidget with QVTKOpenGLNativeWidget (VTK 9 API change)
+- Wrap Windows-specific #pragma in #ifdef _WIN32 to prevent linking errors
+ on non-Windows platforms
+
+--- vv/vv.cxx.orig 2025-04-17 12:54:38 UTC
+++ vv/vv.cxx
-@@ -53,7 +53,7 @@
+@@ -43,7 +43,7 @@
+ #include "vvToolsList.h"
+ #include "vvConfiguration.h"
+ #if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
+-#include <QVTKOpenGLWidget.h>
++#include <QVTKOpenGLNativeWidget.h>
+ #endif
+
+ #include <vtkFileOutputWindow.h>
+@@ -56,7 +56,9 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
--#pragma comment(lib, "ws2_32.lib")
-+//#pragma comment(lib, "ws2_32.lib")
++#ifdef _WIN32
+ #pragma comment(lib, "ws2_32.lib")
++#endif
typedef enum {O_BASE,O_OVERLAY,O_FUSION,O_VF,O_CONTOUR,O_LANDMARKS} OpenModeType;
typedef enum {P_NORMAL,P_SEQUENCE,P_WINDOW,P_LEVEL} ParseModeType;
+@@ -119,7 +121,7 @@ int main( int argc, char** argv )
+ #endif
+
+ #if (VTK_MAJOR_VERSION == 8 && VTK_MINOR_VERSION >= 2) || VTK_MAJOR_VERSION >= 9
+- QSurfaceFormat::setDefaultFormat(QVTKOpenGLWidget::defaultFormat());
++ QSurfaceFormat::setDefaultFormat(QVTKOpenGLNativeWidget::defaultFormat());
+ #endif
+ CLITK_INIT;
+
diff --git a/graphics/vv/files/patch-vv_vvBlendImageActor.cxx b/graphics/vv/files/patch-vv_vvBlendImageActor.cxx
new file mode 100644
index 000000000000..0f2bd047929a
--- /dev/null
+++ b/graphics/vv/files/patch-vv_vvBlendImageActor.cxx
@@ -0,0 +1,56 @@
+Update OpenGL and VTK headers for VTK 9 compatibility.
+
+VTK 9 removed several deprecated headers and changed OpenGL handling:
+- Removed vtk_glew.h and vtkOpenGL.h (no longer needed)
+- Added vtkOpenGLState.h and vtk_glad.h for modern OpenGL
+- Replaced vtkgl::BlendEquationEXT with standard glBlendEquation
+ (OpenGL 3.2+ has blend equations built-in, no extensions needed)
+
+--- vv/vvBlendImageActor.cxx.orig 2025-04-17 12:54:38 UTC
++++ vv/vvBlendImageActor.cxx
+@@ -3,7 +3,7 @@ - University of LYON http://www.universit
+
+ Authors belong to:
+ - University of LYON http://www.universite-lyon.fr/
+-- Léon Bérard cancer center http://www.centreleonberard.fr
++- L�on B�rard cancer center http://www.centreleonberard.fr
+ - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+@@ -17,11 +17,11 @@ - CeCILL-B http://www.cecill.info/licences/Licence_C
+ ===========================================================================**/
+
+ #include "vvBlendImageActor.h"
+-#include <vtk_glew.h>
+ #include <vtkOpenGLRenderWindow.h>
+ #include <vtkOpenGLRenderer.h>
+-#include <vtkOpenGL.h>
+ #include <vtkObjectFactory.h>
++#include <vtkOpenGLState.h>
++#include <vtk_glad.h>
+
+ vtkStandardNewMacro(vvBlendImageActor);
+
+@@ -45,19 +45,14 @@ void vvBlendImageActor::Render(vtkRenderer *ren)
+ VTK_IMAGE_ACTOR::Render(ren);
+
+ #else
+- vtkOpenGLExtensionManager *extensions = renwin->GetExtensionManager();
+- if (extensions->ExtensionSupported("GL_EXT_blend_minmax")) {
+- extensions->LoadExtension("GL_EXT_blend_minmax");
+- vtkgl::BlendEquationEXT( vtkgl::MAX );
+- }
++ // VTK 9 uses OpenGL 3.2+ which has blend equations built-in
++ glBlendEquation(GL_MAX);
+
+ //Call normal render
+ VTK_IMAGE_ACTOR::Render(ren);
+
+ //Move back blending to weighted sum
+- if (vtkgl::BlendEquationEXT!=0) {
+- vtkgl::BlendEquationEXT( vtkgl::FUNC_ADD );
+- }
++ glBlendEquation(GL_FUNC_ADD);
+ #endif
+ }
+
diff --git a/graphics/vv/files/patch-vv_vvSlicer.cxx b/graphics/vv/files/patch-vv_vvSlicer.cxx
new file mode 100644
index 000000000000..7612f66f5b5e
--- /dev/null
+++ b/graphics/vv/files/patch-vv_vvSlicer.cxx
@@ -0,0 +1,25 @@
+Update for VTK 9 compatibility.
+
+- Remove deprecated vtkToolkits.h header (no longer exists in VTK 9)
+- Convert vtkStdString to const char* when calling SetCaption()
+ (VTK 9 changed API to require explicit conversion)
+
+--- vv/vvSlicer.cxx.orig 2025-04-17 12:54:38 UTC
++++ vv/vvSlicer.cxx
+@@ -44,7 +44,6 @@
+ #include <vtkImageData.h>
+ #include <vtkImageActor.h>
+ #include <vvBlendImageActor.h>
+-#include <vtkToolkits.h>
+ #include <vtkObjectFactory.h>
+ #include <vtkPointData.h>
+ #include <vtkDataArray.h>
+@@ -1877,7 +1876,7 @@ void vvSlicer::DisplayLandmarks()
+ double *position = mLandClipper->GetOutput()->GetPoint(id);
+ vtkStdString label = static_cast<vtkStringArray*>(mLandClipper->GetOutput()->GetPointData()->GetAbstractArray("labels"))->GetValue(id);
+ vtkSmartPointer<vtkCaptionActor2D> label_actor = vtkSmartPointer<vtkCaptionActor2D>::New();
+- label_actor->SetCaption(label);
++ label_actor->SetCaption(label.c_str());
+ label_actor->SetAttachmentPoint(position);
+ label_actor->GetCaptionTextProperty()->SetColor(1,0,0);
+ label_actor->GetCaptionTextProperty()->SetOrientation(33.333333);
diff --git a/mail/Makefile b/mail/Makefile
index 092979a16662..6805cdb4c98b 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -519,6 +519,7 @@
SUBDIR += py-dkimpy-milter
SUBDIR += py-email-reply-parser
SUBDIR += py-email-validator
+ SUBDIR += py-exchangelib
SUBDIR += py-flanker
SUBDIR += py-flask-mail
SUBDIR += py-flufl.bounce
@@ -543,6 +544,7 @@
SUBDIR += py-pyspf
SUBDIR += py-python-slimta
SUBDIR += py-pyzmail
+ SUBDIR += py-resend
SUBDIR += py-rfc6555
SUBDIR += py-spf-engine
SUBDIR += py-tlsrpt-reporter
diff --git a/mail/pantomime/Makefile b/mail/pantomime/Makefile
index 7fa6d998db63..2d91f5783ae1 100644
--- a/mail/pantomime/Makefile
+++ b/mail/pantomime/Makefile
@@ -1,31 +1,27 @@
PORTNAME= pantomime
DISTVERSION= 1.4.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= mail gnustep
MASTER_SITES= SAVANNAH/gnustep-nonfsf/
DISTNAME= Pantomime-${DISTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= mew14930xvi@inbox.lv
COMMENT= Mail/MIME handling library for GNUstep
-WWW= http://www.collaboration-world.com/cgi-bin/project/index.cgi?pid=3
+WWW= https://www.nongnu.org/gnustep-nonfsf/gnumail/
LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/Documentation/LICENSE
USES= gnustep iconv ssl
-# The use of libiconv shouldn't be necessary, but a build dependency installs
-# it and we end up picking up the header.
-USE_GNUSTEP= back build
-USE_LDCONFIG= ${GNUSTEP_LOCAL_LIBRARIES}
-
-MAKE_ARGS+= LIBRARIES_DEPEND_UPON='${ICONV_LIB} -lssl'
-
+USE_GNUSTEP= back build
DEFAULT_LIBVERSION= ${DISTVERSION:R}
-.include <bsd.port.pre.mk>
+USE_LDCONFIG= ${GNUSTEP_LOCAL_LIBRARIES}
+
+MAKE_ARGS+= LIBRARIES_DEPEND_UPON='-lssl'
-.if ${OPSYS} == FreeBSD
-CFLAGS+= -Wno-error=int-conversion
-.endif
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/GNUstep/System/Library/Frameworks/Pantomime.framework/Versions/${DISTVERSION:R}/libPantomime.so.${DISTVERSION}
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/mail/pantomime/pkg-descr b/mail/pantomime/pkg-descr
index 13e3f55972fc..e2a1822d8406 100644
--- a/mail/pantomime/pkg-descr
+++ b/mail/pantomime/pkg-descr
@@ -1,3 +1,5 @@
Mail/MIME handling library for GNUstep.
-
-LICENSE: LGPL2 or later
+The Pantomime framework supports the major mail protocols: POP3, IMAP,
+and SMTP.
+Pantomime provides a set of Objective-C classes that model a mail
+system.
diff --git a/mail/py-exchangelib/Makefile b/mail/py-exchangelib/Makefile
new file mode 100644
index 000000000000..268afd31fb55
--- /dev/null
+++ b/mail/py-exchangelib/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= exchangelib
+DISTVERSIONPREFIX= v
+DISTVERSION= 5.6.0
+CATEGORIES= mail python
+#MASTER_SITES= PYPI # no tests
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Client for Microsoft Exchange Web Services (EWS)
+WWW= https://github.com/ecederstrand/exchangelib
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cached-property>0:devel/py-cached-property@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}defusedxml>=0.6.0:devel/py-defusedxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.0:dns/py-dnspython@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}isodate>0:devel/py-isodate@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml>3.0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}oauthlib>0:security/py-oauthlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.31.0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests_ntlm>=0.2.0:www/py-requests_ntlm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests-oauthlib>0:www/py-requests-oauthlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tzdata>0:devel/py-tzdata@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tzlocal>0:devel/py-tzlocal@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest
+
+USE_GITHUB= yes
+GH_ACCOUNT= ecederstrand
+
+NO_ARCH= yes
+
+# tests as of 5.6.0: 62 passed, 435 skipped in 8.62s
+
+.include <bsd.port.mk>
diff --git a/mail/py-exchangelib/distinfo b/mail/py-exchangelib/distinfo
new file mode 100644
index 000000000000..458116e1627d
--- /dev/null
+++ b/mail/py-exchangelib/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760468833
+SHA256 (ecederstrand-exchangelib-v5.6.0_GH0.tar.gz) = d969b1857bab6318a78cb54a809464cbf8ed2c37e1375200b1fca0f947053d2c
+SIZE (ecederstrand-exchangelib-v5.6.0_GH0.tar.gz) = 3049641
diff --git a/mail/py-exchangelib/files/patch-pyproject.toml b/mail/py-exchangelib/files/patch-pyproject.toml
new file mode 100644
index 000000000000..66b9465d43e5
--- /dev/null
+++ b/mail/py-exchangelib/files/patch-pyproject.toml
@@ -0,0 +1,12 @@
+--- pyproject.toml.orig 2024-10-10 01:50:58 UTC
++++ pyproject.toml
+@@ -24,8 +24,7 @@ description = "Client for Microsoft Exchange Web Serv
+ description = "Client for Microsoft Exchange Web Services (EWS)"
+ readme = {file = "README.md", content-type = "text/markdown"}
+ requires-python = ">=3.10"
+-license = "BSD-2-Clause"
+-license-files = ["LICENSE"]
++license = {text = "BSD-2-Clause"}
+ keywords = [
+ "autodiscover",
+ "ews",
diff --git a/mail/py-exchangelib/pkg-descr b/mail/py-exchangelib/pkg-descr
new file mode 100644
index 000000000000..19904c33aa26
--- /dev/null
+++ b/mail/py-exchangelib/pkg-descr
@@ -0,0 +1,13 @@
+Exchangelib is a Python client for Microsoft Exchange Web Services (EWS).
+It allows to access and manage mailbox items such as email, calendar, contacts,
+and tasks.
+
+With exchangelib, you can:
+* Search, create, update, and delete items in your mailbox.
+* Send and receive email messages.
+* Manage calendar events and appointments.
+* Access and modify contacts and distribution lists.
+* Work with tasks and other mailbox items.
+
+Exchangelib is compatible with Exchange Server 2007 and later, as well
+as Office 365.
diff --git a/mail/py-resend/Makefile b/mail/py-resend/Makefile
new file mode 100644
index 000000000000..e317f7979aaa
--- /dev/null
+++ b/mail/py-resend/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= resend
+DISTVERSION= 2.17.0
+CATEGORIES= mail python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Resend Python SDK
+WWW= https://github.com/resend/resend-python
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
+
+BR_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>=2.31.0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.4.0:devel/py-typing-extensions@${PY_FLAVOR}
+BUILD_DEPENDS= ${BR_DEPENDS}
+RUN_DEPENDS= ${BR_DEPENDS}
+
+USES= python
+
+USE_PYTHON= autoplist distutils
+
+NO_ARCH= yes
+
+PORTDOCS= README.md
+
+OPTIONS_DEFINE= DOCS
+
+post-extract:
+ @${CP} ${FILESDIR}/requirements.txt ${WRKSRC}
+
+do-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/mail/py-resend/distinfo b/mail/py-resend/distinfo
new file mode 100644
index 000000000000..956e27ba3020
--- /dev/null
+++ b/mail/py-resend/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760506235
+SHA256 (resend-2.17.0.tar.gz) = 90c8adbe92bfc14c9dfbe0bbe68cee14bd8813fdd568f36ae71df7a8946bbd4a
+SIZE (resend-2.17.0.tar.gz) = 16964
diff --git a/mail/py-resend/files/requirements.txt b/mail/py-resend/files/requirements.txt
new file mode 100644
index 000000000000..935af601a213
--- /dev/null
+++ b/mail/py-resend/files/requirements.txt
@@ -0,0 +1,2 @@
+requests>=2.31.0
+typing_extensions>=4.4.0
diff --git a/mail/py-resend/pkg-descr b/mail/py-resend/pkg-descr
new file mode 100644
index 000000000000..f1206c34f721
--- /dev/null
+++ b/mail/py-resend/pkg-descr
@@ -0,0 +1,4 @@
+Resend is the email API for developers.
+
+The best way to reach humans instead of spam folders. Deliver
+transactional and marketing emails at scale.
diff --git a/math/Makefile b/math/Makefile
index c53eb5072daf..46cf7c505339 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -1294,7 +1294,6 @@
SUBDIR += vinci
SUBDIR += visualpolylib
SUBDIR += vowpal_wabbit
- SUBDIR += vtk8
SUBDIR += vtk9
SUBDIR += wavelib
SUBDIR += wcalc
diff --git a/math/geogebra/Makefile b/math/geogebra/Makefile
index 8d4a8db5b136..623cddb8ef2c 100644
--- a/math/geogebra/Makefile
+++ b/math/geogebra/Makefile
@@ -1,5 +1,5 @@
PORTNAME= geogebra
-DISTVERSION= 5-2-899-0
+DISTVERSION= 5-2-903-0
CATEGORIES= math education java
MASTER_SITES= http://download.geogebra.org/installers/5.2/ \
https://static.geogebra.org/images/ \
diff --git a/math/geogebra/distinfo b/math/geogebra/distinfo
index 84a9e4d8c457..2377af69810e 100644
--- a/math/geogebra/distinfo
+++ b/math/geogebra/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1757477906
-SHA256 (GeoGebra-Linux-Portable-5-2-899-0.tar.bz2) = dda3e8075e66990418a5913e38bbdd72a8bf32a2805f1886aa1d13aaad95b264
-SIZE (GeoGebra-Linux-Portable-5-2-899-0.tar.bz2) = 62954321
+TIMESTAMP = 1760496589
+SHA256 (GeoGebra-Linux-Portable-5-2-903-0.tar.bz2) = cc1cdc9c42622987b50dddf34df95d061c9e3691b90d5da8a08405f410f3c6f3
+SIZE (GeoGebra-Linux-Portable-5-2-903-0.tar.bz2) = 62981031
SHA256 (geogebra.png) = e97122d77209e2c235f5afcee8f783c1e933d14062851ac73a4ed7a6520c5614
SIZE (geogebra.png) = 4018
SHA256 (geogebra-logo.svg) = 55ded6b5ec9ad382494f858d8ab5def0ed6c7d529481cd212863b2edde3b5e07
diff --git a/math/py-numpy/Makefile b/math/py-numpy/Makefile
index 22f8b33f9ed3..7b7273abe5be 100644
--- a/math/py-numpy/Makefile
+++ b/math/py-numpy/Makefile
@@ -1,6 +1,6 @@
PORTNAME= numpy
PORTVERSION= 1.26.4
-PORTREVISION= 9
+PORTREVISION= 10
PORTEPOCH= 1
CATEGORIES= math python
MASTER_SITES= PYPI \
@@ -18,12 +18,14 @@ WWW= https://www.numpy.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}meson-python>=0:devel/meson-python@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hypothesis>=6.24.1:devel/py-hypothesis@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest>=6.2.5:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.2.0:devel/py-typing-extensions@${PY_FLAVOR}
-USES= compiler:c11 cpe fortran python:3.9+
-USE_PYTHON= allflavors autoplist concurrent cython distutils
+USES= compiler:c11 cpe fortran pkgconfig python:3.9+ shebangfix
+USE_PYTHON= autoplist concurrent cython pep517
GCCLIBDIR_CMDS= ${FC} -print-file-name=libgfortran.so | ${SED} -e \
s/libgfortran.so//
@@ -61,6 +63,10 @@ OPENBLAS_VARS= BLASLIBS="openblas, gfortran" \
LIBRARIES=libraries
SUITESPARSE_LIB_DEPENDS= libumfpack.so:math/suitesparse-umfpack
+SHEBANG_FILES= numpy/f2py/crackfortran.py numpy/f2py/f2py2e.py \
+ numpy/f2py/rules.py numpy/testing/print_coercion_tables.py \
+ numpy/testing/setup.py
+
post-extract:
@${TOUCH} ${WRKSRC}/numpy/f2py/tests/src/temp
@${TOUCH} ${WRKSRC}/numpy/random/_examples/temp
diff --git a/math/py-numpy/files/patch-numpy_core_setup.py b/math/py-numpy/files/patch-numpy_core_setup.py
new file mode 100644
index 000000000000..7502a4df93fb
--- /dev/null
+++ b/math/py-numpy/files/patch-numpy_core_setup.py
@@ -0,0 +1,19 @@
+--- numpy/core/setup.py.orig 2024-02-05 21:17:48 UTC
++++ numpy/core/setup.py
+@@ -9,7 +9,6 @@ from numpy.distutils import log
+ from os.path import join
+
+ from numpy.distutils import log
+-from numpy.distutils.msvccompiler import lib_opts_if_msvc
+ from distutils.dep_util import newer
+ from sysconfig import get_config_var
+ from numpy.compat import npy_load_module
+@@ -688,7 +687,7 @@ def configuration(parent_package='',top_path=None):
+ install_dir='lib',
+ build_info={
+ 'include_dirs' : [], # empty list required for creating npy_math_internal.h
+- 'extra_compiler_args': [lib_opts_if_msvc],
++ 'extra_compiler_args': [],
+ })
+ config.add_npy_pkg_config("npymath.ini.in", "lib/npy-pkg-config",
+ subst_dict)
diff --git a/math/py-numpy/files/patch-numpy_distutils_mingw32ccompiler.py b/math/py-numpy/files/patch-numpy_distutils_mingw32ccompiler.py
new file mode 100644
index 000000000000..a7466a818792
--- /dev/null
+++ b/math/py-numpy/files/patch-numpy_distutils_mingw32ccompiler.py
@@ -0,0 +1,17 @@
+--- numpy/distutils/mingw32ccompiler.py.orig 2024-02-05 21:17:48 UTC
++++ numpy/distutils/mingw32ccompiler.py
+@@ -24,7 +24,13 @@ from distutils.unixccompiler import UnixCCompiler
+
+ import distutils.cygwinccompiler
+ from distutils.unixccompiler import UnixCCompiler
+-from distutils.msvccompiler import get_build_version as get_build_msvc_version
++
++try:
++ from distutils.msvccompiler import get_build_version as get_build_msvc_version
++except ImportError:
++ def get_build_msvc_version():
++ return None
++
+ from distutils.errors import UnknownFileError
+ from numpy.distutils.misc_util import (msvc_runtime_library,
+ msvc_runtime_version,
diff --git a/math/py-numpy/files/patch-numpy_random_setup.py b/math/py-numpy/files/patch-numpy_random_setup.py
new file mode 100644
index 000000000000..74ff5ffc8e54
--- /dev/null
+++ b/math/py-numpy/files/patch-numpy_random_setup.py
@@ -0,0 +1,23 @@
+--- numpy/random/setup.py.orig 2024-02-05 21:17:48 UTC
++++ numpy/random/setup.py
+@@ -3,7 +3,6 @@ from numpy.distutils.system_info import platform_bits
+ from os.path import join
+
+ from numpy.distutils.system_info import platform_bits
+-from numpy.distutils.msvccompiler import lib_opts_if_msvc
+
+
+ def configuration(parent_package='', top_path=None):
+@@ -70,11 +69,7 @@ def configuration(parent_package='', top_path=None):
+ not initialized the distutils build command, so use this deferred
+ calculation to run when we are building the library.
+ """
+- opts = lib_opts_if_msvc(build_cmd)
+- if build_cmd.compiler.compiler_type != 'msvc':
+- # Some bit generators require c99
+- opts.append('-std=c99')
+- return opts
++ return ['-std=c99']
+
+ config.add_installed_library('npyrandom',
+ sources=npyrandom_sources,
diff --git a/math/py-numpy/files/patch-pyproject.toml b/math/py-numpy/files/patch-pyproject.toml
new file mode 100644
index 000000000000..3eb3c97a8da5
--- /dev/null
+++ b/math/py-numpy/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+--- pyproject.toml.orig 2025-06-24 22:40:55 UTC
++++ pyproject.toml
+@@ -2,7 +2,7 @@ requires = [
+ build-backend = "mesonpy"
+ requires = [
+ "Cython>=0.29.34,<3.1",
+- "meson-python>=0.15.0,<0.16.0",
++ "meson-python>=0.15.0",
+ ]
+
+ [project]
diff --git a/math/vtk8/Makefile b/math/vtk8/Makefile
deleted file mode 100644
index 06d0030f5f76..000000000000
--- a/math/vtk8/Makefile
+++ /dev/null
@@ -1,130 +0,0 @@
-PORTNAME= vtk
-DISTVERSION= 8.2.0 # it has only one consumer that is possibly dead upstream but is still compiling fine
-PORTREVISION= 6
-CATEGORIES= math graphics
-MASTER_SITES= http://www.vtk.org/files/release/${VTK_SHORT_VER}/
-PKGNAMESUFFIX= 8
-DISTNAME= ${PORTNAME:tu}-${PORTVERSION}
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= Visualization toolkit
-WWW= https://www.vtk.org
-
-LICENSE= BSD3CLAUSE
-
-BROKEN_FreeBSD_13= complation fails: error: no member named 'derived' in 'Transpose<TranspositionsBase<type-parameter-0-0>>'
-BROKEN_FreeBSD_15= complation fails: error: no member named 'derived' in 'Transpose<TranspositionsBase<type-parameter-0-0>>'
-
-LIB_DEPENDS= libtiff.so:graphics/tiff \
- libpng.so:graphics/png \
- libfreetype.so:print/freetype2 \
- libexpat.so:textproc/expat2
-
-CONFLICTS= vtk9
-
-USES= alias cmake compiler:c++11-lang gl jpeg localbase perl5 xorg
-USE_LDCONFIG= ${PREFIX}/lib/vtk-${VTK_SHORT_VER}
-USE_XORG= ice x11 xt xext sm
-
-CMAKE_ON= BUILD_SHARED_LIBS \
- VTK_INSTALL_NO_DOCUMENTATION VTK_USE_SYSTEM_EXPAT VTK_USE_SYSTEM_TIFF \
- VTK_USE_SYSTEM_PNG VTK_USE_SYSTEM_JPEG VTK_USE_SYSTEM_FREETYPE VTK_USE_SYSTEM_ZLIB \
- Module_vtkTestingCore Module_vtkTestingRendering
-CMAKE_ARGS+= -DBUILD_EXAMPLES:BOOL=false \
- -DVTK_INSTALL_LIBRARY_DIR=lib/vtk-${VTK_SHORT_VER} \
- -DVTK_INSTALL_ARCHIVE_DIR=lib/vtk-${VTK_SHORT_VER} \
- -DVTK_INSTALL_QT_DIR=/${QT_LIBDIR_REL}/plugins/designer \
- -DSTAGEDIR=${STAGEDIR}
-
-VTK_SHORT_VER= ${PORTVERSION:R}
-
-DOCSDIR= ${PREFIX}/share/doc/vtk-${VTK_SHORT_VER}
-DATADIR= ${PREFIX}/share/vtk-${VTK_SHORT_VER}
-
-# Options
-OPTIONS_DEFINE= DESIGNER DOCS OSMESA QT5
-OPTIONS_DEFAULT= MPI QT5
-OSMESA_DESC= Use Mesa for off-screen rendering
-DESIGNER_DESC= Build the Qt Designer plugin
-OPTIONS_SUB= yes
-
-# Options groups
-#VTK_GROUPS= Imaging MPI Qt Rendering StandAlone Views
-VTK_GROUPS= MPI
-VTK_WRAPS= JAVA TCLTK
-OPTIONS_GROUP= GROUPS WRAPPING
-OPTIONS_GROUP_GROUPS=${VTK_GROUPS}
-OPTIONS_GROUP_WRAPPING=${VTK_WRAPS}
-GROUPS_DESC= Groups
-WRAPPING_DESC= Wrapping
-.for g in ${VTK_GROUPS}
-$g_DESC= Build the $g group
-.endfor
-.for w in ${VTK_WRAPS}
-$w_DESC= $w wrapping
-.endfor
-
-QT5_USES= qt:5
-QT5_USE= QT=core,gui,sql,uiplugin,widgets,x11extras,qmake:build,buildtools:build
-QT5_CMAKE_ON= -DVTK_QT_VERSION:STRING="5" \
- -DCMAKE_PREFIX_PATH:STRING=${LOCALBASE}/lib/qt5 \
- -DVTK_Group_Qt:BOOL=ON
-
-DESIGNER_CMAKE_BOOL= QT_DESIGNER_PLUGIN
-DESIGNER_USE= QT=designer
-DESIGNER_IMPLIES= QT5
-
-MPI_LIB_DEPENDS= libmpi_cxx.so:net/openmpi4
-MPI_CMAKE_ON= -DMPIEXEC=${LOCALBASE}/mpi/openmpi/bin/mpiexec
-
-OSMESA_CMAKE_ARGS= -DVTK_OPENGL_HAS_OSMESA:BOOL=ON \
- -DOSMESA_INCLUDE_DIR:PATH=${LOCALBASE}/include/Mesa \
- -DOSMESA_LIBRARY:FILEPATH=${LOCALBASE}/lib/libOSMesa.so \
- -DOPENGL_gl_LIBRARY:FILEPATH=${LOCALBASE}/lib/libOSMesa.so \
- -DVTK_USE_X:BOOL=OFF
-OSMESA_LIB_DEPENDS= libOSMesa.so:graphics/libosmesa
-
-# Wrapping
-JAVA_CATEGORIES= java
-JAVA_USES= java
-JAVA_CMAKE_BOOL= VTK_WRAP_JAVA Module_vtkWrappingJava
-JAVA_CMAKE_ON= -DJAVA_INCLUDE_PATH:PATH=${JAVA_HOME}/include \
- -DJAVA_AWT_LIBRARY:PATH=${JAVA_HOME}/jre/lib/${ARCH}/libjawt.so \
- -DJAVA_JVM_LIBRARY:PATH=${JAVA_HOME}/jre/lib/${ATCH}/libjava.so
-
-TCLTK_USES= tk
-TCLTK_CMAKE_BOOL= VTK_WRAP_TCL VTK_Group_Tk
-TCLTK_CMAKE_ON= -DTCL_INCLUDE_PATH:PATH=${TCL_INCLUDEDIR} \
- -DTK_INCLUDE_PATH:PATH=${TK_INCLUDEDIR} \
- -DVTK_INSTALL_TCL_DIR=lib/vtk-${VTK_SHORT_VER}
-
-DOCS_CMAKE_BOOL= BUILD_DOCUMENTATION
-DOCS_BUILD_DEPENDS= doxygen:devel/doxygen
-
-# Mangling so that it will build when science/netcdf is installed.
-post-patch:
- @${MV} ${WRKSRC}/ThirdParty/netcdf/vtknetcdf/include/netcdf.h \
- ${WRKSRC}/ThirdParty/netcdf/vtknetcdf/include/xxxnetcdf.h
- @${FIND} ${WRKSRC}/ThirdParty/netcdf -type f | ${XARGS} ${REINPLACE_CMD} \
- -E 's/[[:<:]]netcdf\.h[[:>:]]/xxxnetcdf.h/'
-
-.include <bsd.port.options.mk>
-
-.for g in ${VTK_GROUPS}
-. if ${PORT_OPTIONS:M${g}}
-CMAKE_ARGS+= -DVTK_Group_${g}:BOOL=ON
-. else
-CMAKE_ARGS+= -DVTK_Group_${g}:BOOL=OFF
-. endif
-.endfor
-
-.if !${PORT_OPTIONS:MOSMESA}
-USES+= gl
-USE_GL= gl glu
-.endif
-
-post-install: # autoplist: thousands of files, complex dependencies on options
- @cd ${STAGEDIR}${PREFIX} && \
- ${FIND} * -type f -or -type l >> ${TMPPLIST}
-
-.include <bsd.port.mk>
diff --git a/math/vtk8/distinfo b/math/vtk8/distinfo
deleted file mode 100644
index 5cc3a3a28ff4..000000000000
--- a/math/vtk8/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1587775906
-SHA256 (VTK-8.2.0.tar.gz) = 34c3dc775261be5e45a8049155f7228b6bd668106c72a3c435d95730d17d57bb
-SIZE (VTK-8.2.0.tar.gz) = 35511819
diff --git a/math/vtk8/files/patch-GUISupport_Qt_CMakeLists.txt b/math/vtk8/files/patch-GUISupport_Qt_CMakeLists.txt
deleted file mode 100644
index 43e82e2f9310..000000000000
--- a/math/vtk8/files/patch-GUISupport_Qt_CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
---- GUISupport/Qt/CMakeLists.txt.orig 2019-01-30 17:15:13 UTC
-+++ GUISupport/Qt/CMakeLists.txt
-@@ -128,21 +128,21 @@ if(VTK_BUILD_QT_DESIGNER_PLUGIN AND add_qvtkwidget)
- find_package(Qt5 COMPONENTS ${qt_component} REQUIRED QUIET)
- add_definitions(${Qt5${qt_component}_DEFINITIONS})
- include_directories(${Qt5${qt_component}_INCLUDE_DIRS})
-- qt5_wrap_cpp(PluginMocSrcs ${PluginMocHeaders} TARGET QVTKWidgetPlugin)
-+ qt5_wrap_cpp(PluginMocSrcs ${PluginMocHeaders} TARGET QVTKWidgetPlugin-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION})
- set(QT_LIBRARIES Qt5::${qt_component})
-
- # add QVTK plugin from sources
- # stand-alone as it doesn't depend on QVTK library
-- add_library(QVTKWidgetPlugin
-+ add_library(QVTKWidgetPlugin-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION}
- SHARED
- ${PluginLibSrcs}
- ${PluginMocSrcs}
- )
-
-- set_target_properties(QVTKWidgetPlugin PROPERTIES COMPILE_DEFINITIONS QT_NO_DEBUG)
-+ set_target_properties(QVTKWidgetPlugin-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} PROPERTIES COMPILE_DEFINITIONS QT_NO_DEBUG)
-
- # link with Qt libs
-- vtk_module_link_libraries(QVTKWidgetPlugin ${QT_LIBRARIES})
-+ vtk_module_link_libraries(QVTKWidgetPlugin-${VTK_MAJOR_VERSION}.${VTK_MINOR_VERSION} ${QT_LIBRARIES})
-
- # install rules
-
diff --git a/math/vtk8/files/patch-GUISupport_Qt_PluginInstall.cmake.in b/math/vtk8/files/patch-GUISupport_Qt_PluginInstall.cmake.in
deleted file mode 100644
index 19c95db7c524..000000000000
--- a/math/vtk8/files/patch-GUISupport_Qt_PluginInstall.cmake.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- GUISupport/Qt/PluginInstall.cmake.in.orig 2017-11-21 08:23:50 UTC
-+++ GUISupport/Qt/PluginInstall.cmake.in
-@@ -10,7 +10,7 @@ if (WIN32)
- set(BUILDTYPE_SUFFIX @CMAKE_RELEASE_POSTFIX@)
- endif ()
- endif ()
--set(VTK_INSTALL_QT_PLUGIN_FILE "@CMAKE_SHARED_LIBRARY_PREFIX@QVTKWidgetPlugin${BUILDTYPE_SUFFIX}@CMAKE_SHARED_LIBRARY_SUFFIX@")
-+set(VTK_INSTALL_QT_PLUGIN_FILE "@CMAKE_SHARED_LIBRARY_PREFIX@QVTKWidgetPlugin-@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@${BUILDTYPE_SUFFIX}@CMAKE_SHARED_LIBRARY_SUFFIX@")
- set(VTK_CONFIGURATIONS "@CMAKE_CONFIGURATION_TYPES@")
-
- if(VTK_CONFIGURATIONS)
diff --git a/math/vtk8/files/patch-Rendering_FreeType_vtkFreeTypeTools.cxx b/math/vtk8/files/patch-Rendering_FreeType_vtkFreeTypeTools.cxx
deleted file mode 100644
index e3d29d4d7deb..000000000000
--- a/math/vtk8/files/patch-Rendering_FreeType_vtkFreeTypeTools.cxx
+++ /dev/null
@@ -1,11 +0,0 @@
---- Rendering/FreeType/vtkFreeTypeTools.cxx.orig 2020-10-22 10:20:24 UTC
-+++ Rendering/FreeType/vtkFreeTypeTools.cxx
-@@ -387,7 +387,7 @@ FTC_CMapCache* vtkFreeTypeTools::GetCMapCache()
- }
-
- //----------------------------------------------------------------------------
--FT_CALLBACK_DEF(FT_Error)
-+static FT_Error
- vtkFreeTypeToolsFaceRequester(FTC_FaceID face_id,
- FT_Library lib,
- FT_Pointer request_data,
diff --git a/math/vtk8/files/patch-Rendering_Qt_vtkQtLabelRenderStrategy.cxx b/math/vtk8/files/patch-Rendering_Qt_vtkQtLabelRenderStrategy.cxx
deleted file mode 100644
index b733cfeee383..000000000000
--- a/math/vtk8/files/patch-Rendering_Qt_vtkQtLabelRenderStrategy.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
---- Rendering/Qt/vtkQtLabelRenderStrategy.cxx.orig 2020-05-28 17:13:13 UTC
-+++ Rendering/Qt/vtkQtLabelRenderStrategy.cxx
-@@ -41,6 +41,7 @@
- #include <QImage>
- #include <QMap>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPair>
- #include <QPixmap>
- #include <QTextDocument>
diff --git a/math/vtk8/files/patch-Rendering_Qt_vtkQtStringToImage.cxx b/math/vtk8/files/patch-Rendering_Qt_vtkQtStringToImage.cxx
deleted file mode 100644
index 299be5f51c46..000000000000
--- a/math/vtk8/files/patch-Rendering_Qt_vtkQtStringToImage.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
---- Rendering/Qt/vtkQtStringToImage.cxx.orig 2020-06-05 04:36:21 UTC
-+++ Rendering/Qt/vtkQtStringToImage.cxx
-@@ -31,6 +31,7 @@
- #include <QFontMetrics>
- #include <QImage>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPixmap>
- #include <QTextDocument>
- #include <QTextStream>
diff --git a/math/vtk8/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c b/math/vtk8/files/patch-ThirdParty_libproj_vtklibproj_src_pj__mutex.c
deleted file mode 100644
index bd453a0dc9ca..000000000000
--- a/math/vtk8/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/math/vtk8/files/patch-ThirdParty_verdict_vtkverdict_CMakeLists.txt b/math/vtk8/files/patch-ThirdParty_verdict_vtkverdict_CMakeLists.txt
deleted file mode 100644
index f7e860060a89..000000000000
--- a/math/vtk8/files/patch-ThirdParty_verdict_vtkverdict_CMakeLists.txt
+++ /dev/null
@@ -1,25 +0,0 @@
---- ThirdParty/verdict/vtkverdict/CMakeLists.txt.orig 2019-01-30 17:15:13 UTC
-+++ ThirdParty/verdict/vtkverdict/CMakeLists.txt
-@@ -128,14 +128,14 @@ endif ()
- # Installation stuff
- #
- IF(NOT verdict_INSTALL_NO_DEVELOPMENT)
-- install(FILES
-- README
-- Verdict.htm
-- Verdict.doc
-- verdict_test.cpp
-- DESTINATION ${verdict_INSTALL_DOC_DIR}/verdict/${verdict_VERSION}/
-- COMPONENT Development
-- )
-+# install(FILES
-+# README
-+# Verdict.htm
-+# Verdict.doc
-+# verdict_test.cpp
-+# DESTINATION ${verdict_INSTALL_DOC_DIR}/verdict/${verdict_VERSION}/
-+# COMPONENT Development
-+# )
-
- install(
- FILES ${verdict_BINARY_DIR}/verdict.h
diff --git a/math/vtk8/files/patch-git_a9079bd b/math/vtk8/files/patch-git_a9079bd
deleted file mode 100644
index 1248811772dd..000000000000
--- a/math/vtk8/files/patch-git_a9079bd
+++ /dev/null
@@ -1,44 +0,0 @@
-Obtained from:
- https://gitlab.kitware.com/vtk/vtk/-/commit/a9079bdccbb2165583d6773a5ed848427e2a38a8.patch
-
-From a9079bdccbb2165583d6773a5ed848427e2a38a8 Mon Sep 17 00:00:00 2001
-From: Seacas Upstream <kwrobot@kitware.com>
-Date: Tue, 28 Jan 2020 09:13:38 -0500
-Subject: [PATCH] exodusII 2020-01-28 (d97eb08d)
-
-Code extracted from:
-
- https://gitlab.kitware.com/third-party/seacas.git
-
-at commit d97eb08d79e87c82facfae39bc75deb60c0a2d83 (for/vtk-20200128-7.24f-v2019-12-18).
----
- src/ex_create_par.c | 2 +-
- src/ex_open_par.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/ex_create_par.c b/src/ex_create_par.c
-index 8d5d6734f0..ef439618da 100644
---- ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-+++ ThirdParty/exodusII/vtkexodusII/src/ex_create_par.c
-@@ -216,5 +216,5 @@ int ex_create_par_int(const char *path, int cmode, int *comp_ws, int *io_ws, MPI
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_create_par;
- #endif
-diff --git a/src/ex_open_par.c b/src/ex_open_par.c
-index b2faa22c29..9df4818767 100644
---- ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-+++ ThirdParty/exodusII/vtkexodusII/src/ex_open_par.c
-@@ -459,5 +459,5 @@ int ex_open_par_int(const char *path, int mode, int *comp_ws, int *io_ws, float
- * Prevent warning in some versions of ranlib(1) because the object
- * file has no symbols.
- */
--const char exodus_unused_symbol_dummy_1;
-+const char exodus_unused_symbol_dummy_ex_open_par;
- #endif
---
-GitLab
-
-
diff --git a/math/vtk8/pkg-descr b/math/vtk8/pkg-descr
deleted file mode 100644
index 250b76ca8cc1..000000000000
--- a/math/vtk8/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-The Visualization Toolkit (VTK) is an open-source, freely available software
-system for 3D computer graphics, image processing and visualization. VTK
-consists of a C++ class library and several interpreted interface layers
-including Tcl/Tk, Java, and Python. Kitware, whose team created and continues
-to extend the toolkit, offers professional support and consulting services for
-VTK. VTK supports a wide variety of visualization algorithms including: scalar,
-vector, tensor, texture, and volumetric methods; and advanced modeling
-techniques such as: implicit modeling, polygon reduction, mesh smoothing,
-cutting, contouring, and Delaunay triangulation. VTK has an extensive
-information visualization framework, has a suite of 3D interaction widgets,
-supports parallel processing, and integrates with various databases on GUI
-toolkits such as Qt and Tk.
diff --git a/math/xtensor-python/Makefile b/math/xtensor-python/Makefile
index 5e9004ad03c1..e655514f484f 100644
--- a/math/xtensor-python/Makefile
+++ b/math/xtensor-python/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xtensor-python
-DISTVERSION= 0.27.0
+DISTVERSION= 0.29.0
CATEGORIES= math python
MAINTAINER= yuri@FreeBSD.org
@@ -17,20 +17,23 @@ RUN_DEPENDS= ${HPP_DEPENDS}
TEST_DEPENDS= googletest>0:devel/googletest \
pybind11>0:devel/pybind11
-USES= cmake compiler:c++14-lang python
+USES= cmake compiler:c++20-lang localbase:ldflags python
USE_GITHUB= yes
GH_ACCOUNT= xtensor-stack
CXXFLAGS+= -I${PYTHON_INCLUDEDIR} -I${PYTHON_SITELIBDIR}/numpy/core/include # workaround for https://github.com/xtensor-stack/xtensor-python/issues/272
+LDFLAGS+= -lpython${PYTHON_VER}
NO_BUILD= yes
NO_ARCH= yes
-do-test: install
+do-test:
@cd ${WRKSRC}/test && \
${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} . && \
${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && \
${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} xtest
+# tests as of 0.29.0: [ PASSED ] 55 tests.
+
.include <bsd.port.mk>
diff --git a/math/xtensor-python/distinfo b/math/xtensor-python/distinfo
index d867423177b3..838cc4dbee20 100644
--- a/math/xtensor-python/distinfo
+++ b/math/xtensor-python/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708074061
-SHA256 (xtensor-stack-xtensor-python-0.27.0_GH0.tar.gz) = 40ee01bd213aeb7bf64f6d8a3257f4fa98ed31c401596c6c7b3b115f61a473b9
-SIZE (xtensor-stack-xtensor-python-0.27.0_GH0.tar.gz) = 65455
+TIMESTAMP = 1760503057
+SHA256 (xtensor-stack-xtensor-python-0.29.0_GH0.tar.gz) = 2915b220bd11b70fdd9fbb2db5f313e751189fec083e406228c8e5a31dfaa4a2
+SIZE (xtensor-stack-xtensor-python-0.29.0_GH0.tar.gz) = 66835
diff --git a/math/xtensor-python/pkg-plist b/math/xtensor-python/pkg-plist
index e9f7970198bd..0009a66e0660 100644
--- a/math/xtensor-python/pkg-plist
+++ b/math/xtensor-python/pkg-plist
@@ -7,6 +7,7 @@ include/xtensor-python/pytensor.hpp
include/xtensor-python/pyvectorize.hpp
include/xtensor-python/xtensor_python_config.hpp
include/xtensor-python/xtensor_type_caster_base.hpp
-lib/cmake/xtensor-python/xtensor-pythonConfig.cmake
-lib/cmake/xtensor-python/xtensor-pythonConfigVersion.cmake
-lib/cmake/xtensor-python/xtensor-pythonTargets.cmake
+share/cmake/xtensor-python/xtensor-pythonConfig.cmake
+share/cmake/xtensor-python/xtensor-pythonConfigVersion.cmake
+share/cmake/xtensor-python/xtensor-pythonTargets.cmake
+share/pkgconfig/xtensor-python.pc
diff --git a/math/xtensor/Makefile b/math/xtensor/Makefile
index de14c6f3bb9b..a98b5cb5cb6a 100644
--- a/math/xtensor/Makefile
+++ b/math/xtensor/Makefile
@@ -1,5 +1,5 @@
PORTNAME= xtensor
-DISTVERSION= 0.25.0
+DISTVERSION= 0.27.1
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
@@ -18,7 +18,7 @@ TEST_DEPENDS= nlohmann-json>0:devel/nlohmann-json \
doctest>0:devel/doctest \
googletest>0:devel/googletest
-USES= cmake:testing # 2 tests fail, see https://github.com/xtensor-stack/xtensor/issues/2722
+USES= cmake:testing
USE_GITHUB= yes
GH_ACCOUNT= xtensor-stack
@@ -27,4 +27,6 @@ CMAKE_TESTING_ON= BUILD_TESTS
NO_BUILD= yes
NO_ARCH= yes
+# tests as of 0.27.1: 100% tests passed, 0 tests failed out of 81
+
.include <bsd.port.mk>
diff --git a/math/xtensor/distinfo b/math/xtensor/distinfo
index 25aac7f34028..d9d1f8404a1b 100644
--- a/math/xtensor/distinfo
+++ b/math/xtensor/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1708063969
-SHA256 (xtensor-stack-xtensor-0.25.0_GH0.tar.gz) = 32d5d9fd23998c57e746c375a544edf544b74f0a18ad6bc3c38cbba968d5e6c7
-SIZE (xtensor-stack-xtensor-0.25.0_GH0.tar.gz) = 1214069
+TIMESTAMP = 1760416559
+SHA256 (xtensor-stack-xtensor-0.27.1_GH0.tar.gz) = 117c192ae3b7c37c0156dedaa88038e0599a6b264666c3c6c2553154b500fe23
+SIZE (xtensor-stack-xtensor-0.27.1_GH0.tar.gz) = 1224405
diff --git a/math/xtensor/pkg-plist b/math/xtensor/pkg-plist
index 1675a78d7ed1..c063a9d6ca54 100644
--- a/math/xtensor/pkg-plist
+++ b/math/xtensor/pkg-plist
@@ -1,77 +1,81 @@
+etc/xeus-cpp/tags.d/xtensor.json
include/xtensor.hpp
-include/xtensor/xaccessible.hpp
-include/xtensor/xaccumulator.hpp
-include/xtensor/xadapt.hpp
-include/xtensor/xarray.hpp
-include/xtensor/xassign.hpp
-include/xtensor/xaxis_iterator.hpp
-include/xtensor/xaxis_slice_iterator.hpp
-include/xtensor/xblockwise_reducer.hpp
-include/xtensor/xblockwise_reducer_functors.hpp
-include/xtensor/xbroadcast.hpp
-include/xtensor/xbuffer_adaptor.hpp
-include/xtensor/xbuilder.hpp
-include/xtensor/xchunked_array.hpp
-include/xtensor/xchunked_assign.hpp
-include/xtensor/xchunked_view.hpp
-include/xtensor/xcomplex.hpp
-include/xtensor/xcontainer.hpp
-include/xtensor/xcsv.hpp
-include/xtensor/xdynamic_view.hpp
-include/xtensor/xeval.hpp
-include/xtensor/xexception.hpp
-include/xtensor/xexpression.hpp
-include/xtensor/xexpression_holder.hpp
-include/xtensor/xexpression_traits.hpp
-include/xtensor/xfixed.hpp
-include/xtensor/xfunction.hpp
-include/xtensor/xfunctor_view.hpp
-include/xtensor/xgenerator.hpp
-include/xtensor/xhistogram.hpp
-include/xtensor/xindex_view.hpp
-include/xtensor/xinfo.hpp
-include/xtensor/xio.hpp
-include/xtensor/xiterable.hpp
-include/xtensor/xiterator.hpp
-include/xtensor/xjson.hpp
-include/xtensor/xlayout.hpp
-include/xtensor/xmanipulation.hpp
-include/xtensor/xmasked_view.hpp
-include/xtensor/xmath.hpp
-include/xtensor/xmime.hpp
-include/xtensor/xmultiindex_iterator.hpp
-include/xtensor/xnoalias.hpp
-include/xtensor/xnorm.hpp
-include/xtensor/xnpy.hpp
-include/xtensor/xoffset_view.hpp
-include/xtensor/xoperation.hpp
-include/xtensor/xoptional.hpp
-include/xtensor/xoptional_assembly.hpp
-include/xtensor/xoptional_assembly_base.hpp
-include/xtensor/xoptional_assembly_storage.hpp
-include/xtensor/xpad.hpp
-include/xtensor/xrandom.hpp
-include/xtensor/xreducer.hpp
-include/xtensor/xrepeat.hpp
-include/xtensor/xscalar.hpp
-include/xtensor/xsemantic.hpp
-include/xtensor/xset_operation.hpp
-include/xtensor/xshape.hpp
-include/xtensor/xslice.hpp
-include/xtensor/xsort.hpp
-include/xtensor/xstorage.hpp
-include/xtensor/xstrided_view.hpp
-include/xtensor/xstrided_view_base.hpp
-include/xtensor/xstrides.hpp
-include/xtensor/xtensor.hpp
-include/xtensor/xtensor_config.hpp
-include/xtensor/xtensor_forward.hpp
-include/xtensor/xtensor_simd.hpp
-include/xtensor/xutils.hpp
-include/xtensor/xvectorize.hpp
-include/xtensor/xview.hpp
-include/xtensor/xview_utils.hpp
+include/xtensor/chunk/xchunked_array.hpp
+include/xtensor/chunk/xchunked_assign.hpp
+include/xtensor/chunk/xchunked_view.hpp
+include/xtensor/containers/xadapt.hpp
+include/xtensor/containers/xarray.hpp
+include/xtensor/containers/xbuffer_adaptor.hpp
+include/xtensor/containers/xcontainer.hpp
+include/xtensor/containers/xfixed.hpp
+include/xtensor/containers/xscalar.hpp
+include/xtensor/containers/xstorage.hpp
+include/xtensor/containers/xtensor.hpp
+include/xtensor/core/xaccessible.hpp
+include/xtensor/core/xassign.hpp
+include/xtensor/core/xeval.hpp
+include/xtensor/core/xexpression.hpp
+include/xtensor/core/xexpression_traits.hpp
+include/xtensor/core/xfunction.hpp
+include/xtensor/core/xiterable.hpp
+include/xtensor/core/xiterator.hpp
+include/xtensor/core/xlayout.hpp
+include/xtensor/core/xmath.hpp
+include/xtensor/core/xmultiindex_iterator.hpp
+include/xtensor/core/xnoalias.hpp
+include/xtensor/core/xoperation.hpp
+include/xtensor/core/xsemantic.hpp
+include/xtensor/core/xshape.hpp
+include/xtensor/core/xstrides.hpp
+include/xtensor/core/xtensor_config.hpp
+include/xtensor/core/xtensor_forward.hpp
+include/xtensor/core/xvectorize.hpp
+include/xtensor/generators/xbuilder.hpp
+include/xtensor/generators/xgenerator.hpp
+include/xtensor/generators/xrandom.hpp
+include/xtensor/io/xcsv.hpp
+include/xtensor/io/xinfo.hpp
+include/xtensor/io/xio.hpp
+include/xtensor/io/xjson.hpp
+include/xtensor/io/xmime.hpp
+include/xtensor/io/xnpy.hpp
+include/xtensor/misc/xcomplex.hpp
+include/xtensor/misc/xexpression_holder.hpp
+include/xtensor/misc/xfft.hpp
+include/xtensor/misc/xhistogram.hpp
+include/xtensor/misc/xmanipulation.hpp
+include/xtensor/misc/xpad.hpp
+include/xtensor/misc/xset_operation.hpp
+include/xtensor/misc/xsort.hpp
+include/xtensor/misc/xtl_concepts.hpp
+include/xtensor/optional/xoptional.hpp
+include/xtensor/optional/xoptional_assembly.hpp
+include/xtensor/optional/xoptional_assembly_base.hpp
+include/xtensor/optional/xoptional_assembly_storage.hpp
+include/xtensor/reducers/xaccumulator.hpp
+include/xtensor/reducers/xblockwise_reducer.hpp
+include/xtensor/reducers/xblockwise_reducer_functors.hpp
+include/xtensor/reducers/xnorm.hpp
+include/xtensor/reducers/xreducer.hpp
+include/xtensor/utils/xexception.hpp
+include/xtensor/utils/xtensor_simd.hpp
+include/xtensor/utils/xutils.hpp
+include/xtensor/views/xaxis_iterator.hpp
+include/xtensor/views/xaxis_slice_iterator.hpp
+include/xtensor/views/xbroadcast.hpp
+include/xtensor/views/xdynamic_view.hpp
+include/xtensor/views/xfunctor_view.hpp
+include/xtensor/views/xindex_view.hpp
+include/xtensor/views/xmasked_view.hpp
+include/xtensor/views/xoffset_view.hpp
+include/xtensor/views/xrepeat.hpp
+include/xtensor/views/xslice.hpp
+include/xtensor/views/xstrided_view.hpp
+include/xtensor/views/xstrided_view_base.hpp
+include/xtensor/views/xview.hpp
+include/xtensor/views/xview_utils.hpp
share/cmake/xtensor/xtensorConfig.cmake
share/cmake/xtensor/xtensorConfigVersion.cmake
share/cmake/xtensor/xtensorTargets.cmake
share/pkgconfig/xtensor.pc
+share/xeus-cpp/tagfiles/xtensor.tag
diff --git a/misc/fastscapelib/Makefile b/misc/fastscapelib/Makefile
index f12e771e44b3..acf18d4c7001 100644
--- a/misc/fastscapelib/Makefile
+++ b/misc/fastscapelib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fastscapelib
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.2
+DISTVERSION= 0.3.0
CATEGORIES= misc
MAINTAINER= yuri@FreeBSD.org
@@ -10,8 +10,10 @@ WWW= https://fastscapelib.readthedocs.io/en/latest/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= xtensor>0:math/xtensor
-RUN_DEPENDS= xtensor>0:math/xtensor
+BUILD_DEPENDS= healpix>0:science/healpix \
+ xtensor>0:math/xtensor
+RUN_DEPENDS= healpix>0:science/healpix \
+ xtensor>0:math/xtensor
USES= cmake:testing
@@ -22,4 +24,6 @@ CMAKE_TESTING_ON= FS_BUILD_TESTS
NO_ARCH= yes
+# tests as of 0.3.0: 100% tests passed, 0 tests failed out of 162
+
.include <bsd.port.mk>
diff --git a/misc/fastscapelib/distinfo b/misc/fastscapelib/distinfo
index 0f410933e158..b9a8b539f8e0 100644
--- a/misc/fastscapelib/distinfo
+++ b/misc/fastscapelib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717650943
-SHA256 (fastscape-lem-fastscapelib-v0.2.2_GH0.tar.gz) = 21cac72a0586d1ceb1080eadbb60a7b7e81a4d6a7b56edbc696f92ff87fc6566
-SIZE (fastscape-lem-fastscapelib-v0.2.2_GH0.tar.gz) = 537207
+TIMESTAMP = 1760501532
+SHA256 (fastscape-lem-fastscapelib-v0.3.0_GH0.tar.gz) = bfd3e8549a9bdd3ae3f0ba0ce4b1d8767d2bb8d163fd6be5d4beb35a9a36bcd0
+SIZE (fastscape-lem-fastscapelib-v0.3.0_GH0.tar.gz) = 733594
diff --git a/misc/fastscapelib/pkg-plist b/misc/fastscapelib/pkg-plist
index 96e75d975c40..4ea250a51ea2 100644
--- a/misc/fastscapelib/pkg-plist
+++ b/misc/fastscapelib/pkg-plist
@@ -4,20 +4,26 @@ include/fastscapelib/eroders/spl.hpp
include/fastscapelib/flow/basin_graph.hpp
include/fastscapelib/flow/flow_graph.hpp
include/fastscapelib/flow/flow_graph_impl.hpp
+include/fastscapelib/flow/flow_kernel.hpp
include/fastscapelib/flow/flow_operator.hpp
include/fastscapelib/flow/flow_router.hpp
include/fastscapelib/flow/flow_snapshot.hpp
include/fastscapelib/flow/sink_resolver.hpp
include/fastscapelib/grid/base.hpp
+include/fastscapelib/grid/healpix_grid.hpp
include/fastscapelib/grid/profile_grid.hpp
include/fastscapelib/grid/raster_grid.hpp
include/fastscapelib/grid/structured_grid.hpp
include/fastscapelib/grid/trimesh.hpp
include/fastscapelib/utils/consts.hpp
+include/fastscapelib/utils/containers.hpp
+include/fastscapelib/utils/eigen_containers.hpp
+include/fastscapelib/utils/impl/thread_pool_inl.hpp
include/fastscapelib/utils/iterators.hpp
+include/fastscapelib/utils/thread_pool.hpp
include/fastscapelib/utils/union_find.hpp
include/fastscapelib/utils/utils.hpp
-include/fastscapelib/utils/xtensor_utils.hpp
+include/fastscapelib/utils/xtensor_containers.hpp
include/fastscapelib/version.hpp
lib/cmake/fastscapelib/fastscapelibConfig.cmake
lib/cmake/fastscapelib/fastscapelibConfigVersion.cmake
diff --git a/misc/py-fastscapelib/Makefile b/misc/py-fastscapelib/Makefile
index 42412318de85..9bbc7d6f603c 100644
--- a/misc/py-fastscapelib/Makefile
+++ b/misc/py-fastscapelib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= fastscapelib
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.2
+DISTVERSION= 0.3.0
CATEGORIES= misc
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -12,9 +12,6 @@ WWW= https://fastscapelib.readthedocs.io/en/latest/ \
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_13= compilation fails with clang-19, see https://github.com/fastscape-lem/fastscapelib/issues/168
-BROKEN_FreeBSD_15= compilation fails with clang-19, see https://github.com/fastscape-lem/fastscapelib/issues/168
-
BUILD_DEPENDS= cmake:devel/cmake-core \
xtensor>0:math/xtensor \
xtensor-python>0:math/xtensor-python \
@@ -23,6 +20,7 @@ BUILD_DEPENDS= cmake:devel/cmake-core \
${PYTHON_PKGNAMEPREFIX}pyproject-metadata>0:devel/py-pyproject-metadata@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-build>0:devel/py-scikit-build@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}scikit-build-core>0:devel/py-scikit-build-core@${PY_FLAVOR}
+LIB_DEPENDS= libhealpix_cxx.so:science/healpix
RUN_DEPENDS= ${PYNUMPY}
USES= python
@@ -33,4 +31,6 @@ GH_ACCOUNT= fastscape-lem
TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+# tests as of 0.3.0: 174 passed in 131.81s (0:02:11)
+
.include <bsd.port.mk>
diff --git a/misc/py-fastscapelib/distinfo b/misc/py-fastscapelib/distinfo
index 0acea30dc66f..18edab22ebca 100644
--- a/misc/py-fastscapelib/distinfo
+++ b/misc/py-fastscapelib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1717651075
-SHA256 (fastscape-lem-fastscapelib-v0.2.2_GH0.tar.gz) = 21cac72a0586d1ceb1080eadbb60a7b7e81a4d6a7b56edbc696f92ff87fc6566
-SIZE (fastscape-lem-fastscapelib-v0.2.2_GH0.tar.gz) = 537207
+TIMESTAMP = 1760416384
+SHA256 (fastscape-lem-fastscapelib-v0.3.0_GH0.tar.gz) = bfd3e8549a9bdd3ae3f0ba0ce4b1d8767d2bb8d163fd6be5d4beb35a9a36bcd0
+SIZE (fastscape-lem-fastscapelib-v0.3.0_GH0.tar.gz) = 733594
diff --git a/misc/py-fastscapelib/files/patch-pyproject.toml b/misc/py-fastscapelib/files/patch-pyproject.toml
index 703b73ab414a..fb123612f4a7 100644
--- a/misc/py-fastscapelib/files/patch-pyproject.toml
+++ b/misc/py-fastscapelib/files/patch-pyproject.toml
@@ -1,10 +1,12 @@
---- pyproject.toml.orig 2023-10-10 18:00:46 UTC
+--- pyproject.toml.orig 2025-06-25 14:33:51 UTC
+++ pyproject.toml
-@@ -4,7 +4,7 @@ requires = [
- "pybind11",
- # TODO: replace by "numpy>=1.25.0,<2" when dropping py3.8 support.
- # https://github.com/scipy/oldest-supported-numpy/issues/76
-- "oldest-supported-numpy",
+@@ -4,8 +4,8 @@ requires = [
+ # pybind11 2.12 added support for numpy 2.0
+ # pybind11 doesn't require numpy at build time, but xtensor-python does!
+ # packages built with numpy 2.x are compatible with numpy 1.xx
+- "pybind11>=2.12,<3",
+- "numpy>=2.0,<3",
++ "pybind11",
+ "numpy",
]
build-backend = "scikit_build_core.build"
diff --git a/multimedia/mediamtx/Makefile b/multimedia/mediamtx/Makefile
index a97b79d97e5c..386122dc390e 100644
--- a/multimedia/mediamtx/Makefile
+++ b/multimedia/mediamtx/Makefile
@@ -1,7 +1,6 @@
PORTNAME= mediamtx
DISTVERSIONPREFIX= v
-DISTVERSION= 1.15.1
-PORTREVISION= 2
+DISTVERSION= 1.15.2
CATEGORIES= multimedia net
MASTER_SITES+= https://github.com/video-dev/hls.js/releases/download/v1.6.13/
DISTFILES+= release.zip
diff --git a/multimedia/mediamtx/distinfo b/multimedia/mediamtx/distinfo
index 848f5a64feed..fa684540372b 100644
--- a/multimedia/mediamtx/distinfo
+++ b/multimedia/mediamtx/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1758842192
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.1/release.zip) = 0212e8ab83997218c56450a424ae754c63547a8cc88f5338cce438381623a414
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.1/release.zip) = 5577940
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.1/v1.15.1.mod) = 27a2c5ce507876628976b43e3d4198cf7b079af5bb6b742ac29c7961b35cbf5c
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.1/v1.15.1.mod) = 4375
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.1/v1.15.1.zip) = ae10ba7fbe1bfa3f7c1986ac3fff8e0cb7c3d275f53c911e771881f15b36f318
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.1/v1.15.1.zip) = 572528
+TIMESTAMP = 1760398684
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.2/release.zip) = 0212e8ab83997218c56450a424ae754c63547a8cc88f5338cce438381623a414
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.2/release.zip) = 5577940
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.2/v1.15.2.mod) = 9c2df617f17dde47c595f93e7a78d933cc2d23682e0797f5e7cd61e97486f2ab
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.2/v1.15.2.mod) = 4490
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.2/v1.15.2.zip) = fdb6c612eaa72f9e8a77a2aff0715864fe32bc0a9d59bf80d266f01ac164e153
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.2/v1.15.2.zip) = 581917
diff --git a/net/gerbera/files/patch-src_web_config__load.cc b/net/gerbera/files/patch-src_web_config__load.cc
new file mode 100644
index 000000000000..34ff795ddafc
--- /dev/null
+++ b/net/gerbera/files/patch-src_web_config__load.cc
@@ -0,0 +1,14 @@
+--- src/web/config_load.cc.orig 2025-08-15 13:41:10 UTC
++++ src/web/config_load.cc
+@@ -150,7 +150,11 @@ void Web::ConfigLoad::setValue(Json::Value& item, cons
+ template <typename T>
+ void Web::ConfigLoad::setValue(Json::Value& item, const T& value)
+ {
++#if FMT_VERSION >= 120000
++ static_assert(fmt::is_formattable<T, fmt::format_context>::value, "T must be formattable");
++#else
+ static_assert(fmt::has_formatter<T, fmt::format_context>::value, "T must be formattable");
++#endif
+ item[CONFIG_LOAD_VALUE] = fmt::to_string(value);
+ }
+
diff --git a/net/openldap25-server/Makefile b/net/openldap25-server/Makefile
index 0deaa6d39afb..350269ff8694 100644
--- a/net/openldap25-server/Makefile
+++ b/net/openldap25-server/Makefile
@@ -116,6 +116,7 @@ OPTIONS_DEFINE+= ARGON2
OPTIONS_DEFINE+= LLOADD
OPTIONS_EXCLUDE_FreeBSD_15= SMBPWD # Only works with Heimdal
+OPTIONS_EXCLUDE_FreeBSD_16= SMBPWD # Only works with Heimdal
OPTIONS_DEFAULT+= ${BKNDS_DEFAULTS}
OPTIONS_DEFAULT+= ${OPTIONS_GROUP_OVLYS}
diff --git a/net/openldap26-server/Makefile b/net/openldap26-server/Makefile
index b05c13c76075..cc3ece50f521 100644
--- a/net/openldap26-server/Makefile
+++ b/net/openldap26-server/Makefile
@@ -117,6 +117,7 @@ OPTIONS_DEFINE+= ARGON2
OPTIONS_DEFINE+= LLOADD
OPTIONS_EXCLUDE_FreeBSD_15= SMBPWD # Only works with Heimdal
+OPTIONS_EXCLUDE_FreeBSD_16= SMBPWD # Only works with Heimdal
OPTIONS_DEFAULT+= ${BKNDS_DEFAULTS}
OPTIONS_DEFAULT+= ${OPTIONS_GROUP_OVLYS}
diff --git a/ports-mgmt/poudriere-devel/Makefile b/ports-mgmt/poudriere-devel/Makefile
index f705989bd412..c63849f9e8c4 100644
--- a/ports-mgmt/poudriere-devel/Makefile
+++ b/ports-mgmt/poudriere-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= poudriere
-DISTVERSION= 3.4.99.20251013
-PORTREVISION= 1
+DISTVERSION= 3.4.99.20251014
+PORTREVISION= 0
CATEGORIES= ports-mgmt
MASTER_SITES= LOCAL/bdrewery/${PORTNAME}/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
@@ -17,7 +17,7 @@ CONFLICTS_INSTALL= poudriere
USE_GITHUB= yes
GH_ACCOUNT= freebsd
-GH_TAGNAME= 3.3.0-2186-gdb737522d
+GH_TAGNAME= 3.3.0-2209-g282bb7247
GNU_CONFIGURE= yes
ETCDIR= ${PREFIX}/etc/poudriere.d
diff --git a/ports-mgmt/poudriere-devel/distinfo b/ports-mgmt/poudriere-devel/distinfo
index 84a7927f6d13..b177df903f28 100644
--- a/ports-mgmt/poudriere-devel/distinfo
+++ b/ports-mgmt/poudriere-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1760367143
-SHA256 (freebsd-poudriere-3.4.99.20251013-3.3.0-2186-gdb737522d_GH0.tar.gz) = a5e2cee424da3c28670f5642e1adb94f16d1a19e088d6312d5a46d0b5e2af7c4
-SIZE (freebsd-poudriere-3.4.99.20251013-3.3.0-2186-gdb737522d_GH0.tar.gz) = 5791450
+TIMESTAMP = 1760503468
+SHA256 (freebsd-poudriere-3.4.99.20251014-3.3.0-2209-g282bb7247_GH0.tar.gz) = 6e818620356111d2530109a601cd5fd50e3b995380ac1553c6dd97827084ee3c
+SIZE (freebsd-poudriere-3.4.99.20251014-3.3.0-2209-g282bb7247_GH0.tar.gz) = 5793201
diff --git a/ports-mgmt/poudriere-devel/files/patch-src_share_poudriere_common.sh b/ports-mgmt/poudriere-devel/files/patch-src_share_poudriere_common.sh
deleted file mode 100644
index 09f5aa5c9b34..000000000000
--- a/ports-mgmt/poudriere-devel/files/patch-src_share_poudriere_common.sh
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/share/poudriere/common.sh.orig 2025-10-13 14:51:41 UTC
-+++ src/share/poudriere/common.sh
-@@ -993,7 +993,7 @@ jstart() {
- jail -c persist "name=${name:?}" \
- "path=${mpath:?}" \
- "host.hostname=${BUILDER_HOSTNAME-${name}}" \
-- "${network}" ${JAIL_PARAMS-}
-+ ${network} ${JAIL_PARAMS-}
- # Allow networking in -n jail
- jail -c persist "name=${name}-n" \
- "path=${mpath:?}" \
diff --git a/ports-mgmt/poudriere-devel/pkg-plist b/ports-mgmt/poudriere-devel/pkg-plist
index 7b6c76761eae..f024cc384f39 100644
--- a/ports-mgmt/poudriere-devel/pkg-plist
+++ b/ports-mgmt/poudriere-devel/pkg-plist
@@ -10,7 +10,6 @@ libexec/poudriere/cpdup
libexec/poudriere/dirempty
libexec/poudriere/dirwatch
libexec/poudriere/locked_mkdir
-libexec/poudriere/lockf
libexec/poudriere/nc
libexec/poudriere/poudriered
libexec/poudriere/ptsort
diff --git a/print/paps/Makefile b/print/paps/Makefile
index 50d69803b789..2afeb28c7921 100644
--- a/print/paps/Makefile
+++ b/print/paps/Makefile
@@ -1,15 +1,16 @@
PORTNAME= paps
-PORTVERSION= 0.8.0
-DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.0
PORTREVISION= 3
CATEGORIES= print
+MASTER_SITES= https://github.com/dov/${PORTNAME}/releases/download/v${DISTVERSION}/
-PATCH_SITES= ${WWW}/commit/
-PATCHFILES+= e9270aaac5e0b8018a6fad9a562ee48e7b2c3113.patch:-p1 # https://github.com/dov/paps/pull/71
+PATCH_SITES= https://github.com/dov/paps/commit/
+PATCHFILES= e9270aaac5e0b8018a6fad9a562ee48e7b2c3113.patch:-p1 \
+ a26a20d7ca3feb08476a8a19fd97c3ececcc1e2e.patch:-p1
MAINTAINER= ports@FreeBSD.org
COMMENT= UTF-8 to PostScript converter using Pango
-WWW= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}
+WWW= https://github.com/dov/paps
LICENSE= LGPL20
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
@@ -18,18 +19,13 @@ BROKEN_i386= compilation fails, see https://github.com/dov/paps/issues/60
LIB_DEPENDS= libfmt.so:devel/libfmt
-USES= cmake:indirect compiler:c++17-lang meson gnome pkgconfig python:env shebangfix
-USE_CXXSTD= c++17
-USE_GITHUB= yes
-GH_ACCOUNT= dov
-USE_GNOME= cairo pango
-
+USES= compiler:c++17-lang meson gnome pkgconfig python:env,run shebangfix
SHEBANG_FILES= ${WRKSRC}/scripts/src-to-paps
+USE_GNOME= cairo pango
-PLIST_FILES= bin/paps share/man/man1/paps.1.gz
-
-post-install:
- ${ECHO_CMD} "bin/src-to-paps" >> ${TMPPLIST}
- ${ECHO_CMD} "share/paps/pango_markup.outlang" >> ${TMPPLIST}
+PLIST_FILES= bin/paps \
+ bin/src-to-paps \
+ share/man/man1/paps.1.gz \
+ share/paps/pango_markup.outlang
.include <bsd.port.mk>
diff --git a/print/paps/distinfo b/print/paps/distinfo
index 45fc12eeb69f..fce676bd92d0 100644
--- a/print/paps/distinfo
+++ b/print/paps/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1736611510
-SHA256 (dov-paps-v0.8.0_GH0.tar.gz) = 8fd8db04e6f8c5c164806d2c1b5fea6096daf583f83f06d1e4813ea61edc291f
-SIZE (dov-paps-v0.8.0_GH0.tar.gz) = 75685
+TIMESTAMP = 1760402841
+SHA256 (paps-0.8.0.tar.gz) = bb5a826db364117a5ae79c833c4a000197f3b5b3eff10e31fb1513a583f96ff2
+SIZE (paps-0.8.0.tar.gz) = 224643
SHA256 (e9270aaac5e0b8018a6fad9a562ee48e7b2c3113.patch) = ed97ae7128f774b2f4d2f6ee31212ac53ba9c2c6d60379bf4486c61e3f347365
SIZE (e9270aaac5e0b8018a6fad9a562ee48e7b2c3113.patch) = 1846
+SHA256 (a26a20d7ca3feb08476a8a19fd97c3ececcc1e2e.patch) = c477a86e961adaf5f8b1c7e53aeb7f5a08c9c1a2ee64c5729dc2b4a141f0b344
+SIZE (a26a20d7ca3feb08476a8a19fd97c3ececcc1e2e.patch) = 1042
diff --git a/science/arbor/Makefile b/science/arbor/Makefile
index d2d6e0cf6ef2..2251d579cd4b 100644
--- a/science/arbor/Makefile
+++ b/science/arbor/Makefile
@@ -12,8 +12,8 @@ WWW= https://arbor-sim.org/ \
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_15= compilation fails with clang-19, see https://github.com/arbor-sim/arbor/issues/2424
-BROKEN_armv7= compilation fails: unknown type name 'float64x2_t'
+BROKEN= compilation fails with clang-19, see https://github.com/arbor-sim/arbor/issues/2424
+#BROKEN_armv7= compilation fails: unknown type name 'float64x2_t'
BUILD_DEPENDS= bash:shells/bash \
libfmt>0:devel/libfmt \
diff --git a/science/healpix/Makefile b/science/healpix/Makefile
index 92f6cbda719f..7505dc0033bc 100644
--- a/science/healpix/Makefile
+++ b/science/healpix/Makefile
@@ -1,14 +1,15 @@
PORTNAME= healpix
DISTVERSION= 3.50
DISTVERSIONSUFFIX= _2018Dec10
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= science
MASTER_SITES= SF/${PORTNAME}/Healpix_${DISTVERSION}/
DISTNAME= Healpix_${DISTVERSIONFULL}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Software for pixelization, visualization, etc of data on the sphere
-WWW= https://healpix.jpl.nasa.gov/
+WWW= https://healpix.sourceforge.io/
+ #https://healpix.jpl.nasa.gov/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -23,9 +24,12 @@ cxx_PLIST= ${.CURDIR}/pkg-plist-cxx
c_PLIST= ${.CURDIR}/pkg-plist-c
USES= autoreconf compiler:c++11-lang gmake libtool pkgconfig
+USE_LDCONFIG= yes
+
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-static
-USE_LDCONFIG= yes
+
+LDFLAGS+= -lomp
WRKSRC= ${WRKDIR}/Healpix_${DISTVERSION}
AUTORECONF_WRKSRC= ${WRKSRC}/src/${FLAVOR:S/^c$/C/}/autotools
diff --git a/science/highfive/Makefile b/science/highfive/Makefile
index b35fd3ff30ae..2dcc0c740d0c 100644
--- a/science/highfive/Makefile
+++ b/science/highfive/Makefile
@@ -12,7 +12,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libhdf5.so:science/hdf5
RUN_DEPENDS= ${LOCALBASE}/include/boost/multi_array.hpp:devel/boost-libs \
- ${LOCALBASE}/include/xtensor/xtensor.hpp:math/xtensor
+ ${LOCALBASE}/include/xtensor.hpp:math/xtensor
TEST_DEPENDS= catch2>0:devel/catch2
USES= cmake eigen:3,run
diff --git a/science/pcmsolver/Makefile b/science/pcmsolver/Makefile
index ff137c88f6ef..0b234b6f90d9 100644
--- a/science/pcmsolver/Makefile
+++ b/science/pcmsolver/Makefile
@@ -1,7 +1,7 @@
PORTNAME= pcmsolver
DISTVERSIONPREFIX= v
DISTVERSION= 1.3.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= science
MAINTAINER= yuri@FreeBSD.org
@@ -11,9 +11,7 @@ WWW= https://github.com/PCMSolver/pcmsolver
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_FreeBSD_15= compilation is broken with clang-19, see https://github.com/PCMSolver/pcmsolver/issues/208
-
-USES= cmake compiler:c11 fortran python
+USES= cmake compiler:c++14-lang fortran python:build
USE_LDCONFIG= yes
USE_GITHUB= yes
diff --git a/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake b/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake
new file mode 100644
index 000000000000..a9bf3aef3f64
--- /dev/null
+++ b/science/pcmsolver/files/patch-cmake_custom_compilers_CXXFlags.cmake
@@ -0,0 +1,8 @@
+--- cmake/custom/compilers/CXXFlags.cmake.orig 2025-10-15 01:10:00 UTC
++++ cmake/custom/compilers/CXXFlags.cmake
+@@ -1,4 +1,4 @@
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 14)
+ set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
+ set(CMAKE_CXX_EXTENSIONS FALSE)
+
diff --git a/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h b/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h
new file mode 100644
index 000000000000..ada24c1f6175
--- /dev/null
+++ b/science/pcmsolver/files/patch-external_eigen3_include_eigen3_Eigen_src_Core_Transpositions.h
@@ -0,0 +1,14 @@
+- fix build error with Eigen 3.3.2
+
+
+--- external/eigen3/include/eigen3/Eigen/src/Core/Transpositions.h.orig 2025-10-15 01:10:00 UTC
++++ external/eigen3/include/eigen3/Eigen/src/Core/Transpositions.h
+@@ -384,7 +384,7 @@ class Transpose<TranspositionsBase<TranspositionsDeri
+ const Product<OtherDerived, Transpose, AliasFreeProduct>
+ operator*(const MatrixBase<OtherDerived>& matrix, const Transpose& trt)
+ {
+- return Product<OtherDerived, Transpose, AliasFreeProduct>(matrix.derived(), trt.derived());
++ return Product<OtherDerived, Transpose, AliasFreeProduct>(matrix.derived(), trt);
+ }
+
+ /** \returns the \a matrix with the inverse transpositions applied to the rows.
diff --git a/security/Makefile b/security/Makefile
index 0d8071e0259e..e3840f2246ac 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -952,6 +952,7 @@
SUBDIR += py-google-auth
SUBDIR += py-google-auth-httplib2
SUBDIR += py-google-auth-oauthlib
+ SUBDIR += py-google-cloud-kms
SUBDIR += py-gpg
SUBDIR += py-gpsoauth
SUBDIR += py-greenbone-feed-sync
diff --git a/security/py-google-cloud-kms/Makefile b/security/py-google-cloud-kms/Makefile
new file mode 100644
index 000000000000..911d3a05b762
--- /dev/null
+++ b/security/py-google-cloud-kms/Makefile
@@ -0,0 +1,38 @@
+PORTNAME= google-cloud-kms
+DISTVERSION= 3.6.0
+CATEGORIES= security python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= ${PORTNAME:S/-/_/g}-${DISTVERSION}
+
+MAINTAINER= tagattie@FreeBSD.org
+COMMENT= Python client for Google Cloud Key Management Service
+WWW= https://pypi.org/project/google-cloud-kms/
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}google-api-core>=1.34.1<3.0.0:www/py-google-api-core@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}google-auth>=2.14.1<3.0.0:security/py-google-auth@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}proto-plus>=1.22.3<2.0.0:devel/py-proto-plus@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}protobuf>=3.20.2,1<7.0.0,1:devel/py-protobuf@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}grpc-google-iam-v1>=0.14.0<1.0.0:devel/py-grpc-google-iam-v1@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR}
+
+USES= python
+
+USE_PYTHON= autoplist distutils pytest
+PYTEST_IGNORED_TESTS= test_list_ekm_connections[grpc] \
+ test_list_ekm_connections[rest]
+
+NO_ARCH= yes
+
+PORTDOCS= README.rst
+
+OPTIONS_DEFINE= DOCS
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/security/py-google-cloud-kms/distinfo b/security/py-google-cloud-kms/distinfo
new file mode 100644
index 000000000000..f935ac04aec4
--- /dev/null
+++ b/security/py-google-cloud-kms/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1760498630
+SHA256 (google_cloud_kms-3.6.0.tar.gz) = c0f7f2474e35e99e6a36651520a26fdba4bb8e73b7cd0d9bff8c8bd92737afcc
+SIZE (google_cloud_kms-3.6.0.tar.gz) = 329923
diff --git a/security/py-google-cloud-kms/pkg-descr b/security/py-google-cloud-kms/pkg-descr
new file mode 100644
index 000000000000..8eaf90a4f41f
--- /dev/null
+++ b/security/py-google-cloud-kms/pkg-descr
@@ -0,0 +1,9 @@
+Google Cloud Key Management Service: a cloud-hosted key management
+service that lets you manage cryptographic keys for your cloud
+services the same way you do on-premises. You can generate, use,
+rotate, and destroy AES256, RSA 2048, RSA 3072, RSA 4096, EC P256, and
+EC P384 cryptographic keys. Cloud KMS is integrated with Cloud IAM and
+Cloud Audit Logging so that you can manage permissions on individual
+keys and monitor how these are used. Use Cloud KMS to protect secrets
+and other sensitive data that you need to store in Google Cloud
+Platform.
diff --git a/security/tlsc/Makefile b/security/tlsc/Makefile
index 1068f7b3e4c8..62a7008de6f7 100644
--- a/security/tlsc/Makefile
+++ b/security/tlsc/Makefile
@@ -11,6 +11,9 @@ WWW= https://github.com/Zirias/tlsc
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Unmaintained port
+EXPIRATION_DATE=2025-12-31
+
LIB_DEPENDS= libposercore.so:devel/poser
USES= compiler:c11 gmake pkgconfig tar:xz
diff --git a/security/unix-selfauth-helper/Makefile b/security/unix-selfauth-helper/Makefile
index 61d843015cd6..7ca163de3985 100644
--- a/security/unix-selfauth-helper/Makefile
+++ b/security/unix-selfauth-helper/Makefile
@@ -10,6 +10,9 @@ WWW= https://github.com/Zirias/${PORTNAME}
LICENSE= BSD2CLAUSE
+DEPRECATED= Unmaintained port
+EXPIRATION_DATE=2025-12-31
+
USES= tar:xz
MAKE_ARGS+= MANDIR=${PREFIX}/share/man/man
diff --git a/sysutils/ttyd/Makefile b/sysutils/ttyd/Makefile
index 31d6e41b6ece..0586e9ffe284 100644
--- a/sysutils/ttyd/Makefile
+++ b/sysutils/ttyd/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ttyd
DISTVERSION= 1.7.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= sysutils
MAINTAINER= nc@FreeBSD.org
diff --git a/sysutils/ttyd/files/ttyd.in b/sysutils/ttyd/files/ttyd.in
index 56b8188deeda..15c108eca492 100755
--- a/sysutils/ttyd/files/ttyd.in
+++ b/sysutils/ttyd/files/ttyd.in
@@ -19,8 +19,8 @@ load_rc_config $name
: ${ttyd_enable:="NO"}
: ${ttyd_acct:="nobody"}
-: ${ttyd_exec:="/bin/sh"}
-: ${ttyd_args:="--interface lo0 --port 7681"}
+: ${ttyd_exec:="/usr/bin/login"}
+: ${ttyd_args:="--interface lo0 --port 7681 -W"}
procname="/usr/local/bin/${name}"
diff --git a/x11/xmoji/Makefile b/x11/xmoji/Makefile
index 17d10b15407a..718f247285de 100644
--- a/x11/xmoji/Makefile
+++ b/x11/xmoji/Makefile
@@ -10,6 +10,9 @@ WWW= https://github.com/Zirias/xmoji
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Unmaintained port
+EXPIRATION_DATE=2025-12-31
+
LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libharfbuzz.so:print/harfbuzz \