aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MOVED1
-rw-r--r--archivers/innoextract/files/patch-fix-boost8910
-rw-r--r--deskutils/podman-desktop/Makefile2
-rw-r--r--devel/electron37/Makefile.version2
-rw-r--r--devel/electron37/distinfo10
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_native__window__views.cc24
-rw-r--r--devel/electron37/files/patch-electron_shell_browser_native__window__views.h6
-rw-r--r--devel/gammaray/Makefile54
-rw-r--r--devel/gammaray/distinfo6
-rw-r--r--devel/gammaray/pkg-plist9
-rw-r--r--devel/okteta/Makefile2
-rw-r--r--devel/okteta/distinfo6
-rw-r--r--devel/okteta/pkg-plist1
-rw-r--r--devel/py-archinfo/Makefile2
-rw-r--r--devel/py-archinfo/distinfo6
-rw-r--r--devel/py-dj52-strawberry-graphql/Makefile4
-rw-r--r--devel/py-dj52-strawberry-graphql/distinfo6
-rw-r--r--devel/py-msal-extensions/Makefile2
-rw-r--r--devel/py-msal/Makefile2
-rw-r--r--devel/py-rq/Makefile2
-rw-r--r--devel/py-rq/distinfo6
-rw-r--r--editors/helix/Makefile4
-rw-r--r--editors/py-pynvim/Makefile5
-rw-r--r--editors/py-pynvim/distinfo6
-rw-r--r--editors/vscode/Makefile1
-rw-r--r--emulators/Makefile6
-rw-r--r--emulators/nemu/Makefile3
-rw-r--r--emulators/nemu/distinfo6
-rw-r--r--emulators/pcsx2/Makefile6
-rw-r--r--emulators/pcsx2/distinfo6
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c44
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile23
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk50
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk6
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c70
-rw-r--r--emulators/virtualbox-ose-70/files/vboxinit.in2
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c44
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile23
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk50
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk6
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp24
-rw-r--r--emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c76
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c32
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile23
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk50
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk4
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk15
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp24
-rw-r--r--emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c76
-rw-r--r--emulators/virtualbox-ose-additions-70/Makefile174
-rw-r--r--emulators/virtualbox-ose-additions-70/distinfo3
-rw-r--r--emulators/virtualbox-ose-additions-70/files/vboxguest.in64
-rw-r--r--emulators/virtualbox-ose-additions-70/files/vboxservice.in23
-rw-r--r--emulators/virtualbox-ose-additions-70/files/vboxvideo.conf5
-rw-r--r--emulators/virtualbox-ose-additions-70/pkg-descr6
-rw-r--r--emulators/virtualbox-ose-additions-70/pkg-message36
-rw-r--r--emulators/virtualbox-ose-additions-70/pkg-plist12
-rw-r--r--emulators/virtualbox-ose-additions-71/Makefile174
-rw-r--r--emulators/virtualbox-ose-additions-71/distinfo3
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxguest.in64
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxservice.in23
-rw-r--r--emulators/virtualbox-ose-additions-71/files/vboxvideo.conf5
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-descr6
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-message36
-rw-r--r--emulators/virtualbox-ose-additions-71/pkg-plist12
-rw-r--r--emulators/virtualbox-ose-additions-72/Makefile174
-rw-r--r--emulators/virtualbox-ose-additions-72/distinfo3
-rw-r--r--emulators/virtualbox-ose-additions-72/files/vboxguest.in64
-rw-r--r--emulators/virtualbox-ose-additions-72/files/vboxservice.in23
-rw-r--r--emulators/virtualbox-ose-additions-72/files/vboxvideo.conf5
-rw-r--r--emulators/virtualbox-ose-additions-72/pkg-descr6
-rw-r--r--emulators/virtualbox-ose-additions-72/pkg-message36
-rw-r--r--emulators/virtualbox-ose-additions-72/pkg-plist12
-rw-r--r--emulators/virtualbox-ose-additions-nox11-70/Makefile8
-rw-r--r--emulators/virtualbox-ose-additions-nox11-71/Makefile8
-rw-r--r--emulators/virtualbox-ose-additions-nox11-72/Makefile8
-rw-r--r--filesystems/nbd-client-kmod/Makefile9
-rw-r--r--filesystems/nbd-client-kmod/distinfo6
-rw-r--r--filesystems/nbd-client-kmod/files/gnbd-bin.in3
-rwxr-xr-x[-rw-r--r--]filesystems/nbd-client-kmod/files/gnbd.in173
-rw-r--r--finance/electrum/Makefile2
-rw-r--r--games/flightgear-aircraft/Makefile5
-rw-r--r--games/flightgear-aircraft/distinfo138
-rw-r--r--games/veloren-weekly/Makefile4
-rw-r--r--games/veloren-weekly/distinfo6
-rw-r--r--graphics/Makefile1
-rw-r--r--graphics/drawio/Makefile2
-rw-r--r--graphics/libskiasharp/Makefile26
-rw-r--r--graphics/libskiasharp/distinfo8
-rw-r--r--graphics/libskiasharp/files/libskiasharp.map10
-rw-r--r--graphics/mesa-devel/Makefile4
-rw-r--r--graphics/mesa-devel/distinfo6
-rw-r--r--graphics/py-dj52-sorl-thumbnail/Makefile62
-rw-r--r--graphics/py-dj52-sorl-thumbnail/distinfo3
-rw-r--r--graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml11
-rw-r--r--graphics/py-dj52-sorl-thumbnail/pkg-descr16
-rw-r--r--graphics/py-sorl-thumbnail/Makefile2
-rw-r--r--lang/elixir-devel/Makefile3
-rw-r--r--lang/elixir-devel/distinfo10
-rw-r--r--lang/elixir-devel/pkg-plist54
-rw-r--r--lang/perl5-devel/Makefile2
-rw-r--r--lang/perl5-devel/distinfo6
-rw-r--r--lang/perl5-devel/pkg-plist2
-rw-r--r--lang/perl5-devel/version.mk4
-rw-r--r--mail/pecl-mailparse/Makefile14
-rw-r--r--mail/pecl-mailparse/distinfo6
-rw-r--r--math/sleef/Makefile2
-rw-r--r--math/tlfloat/Makefile2
-rw-r--r--misc/crush/Makefile2
-rw-r--r--misc/crush/distinfo10
-rw-r--r--multimedia/libdvdnav/Makefile17
-rw-r--r--multimedia/libdvdnav/distinfo6
-rw-r--r--multimedia/libdvdnav/pkg-plist3
-rw-r--r--multimedia/libdvdread/Makefile22
-rw-r--r--multimedia/libdvdread/distinfo6
-rw-r--r--multimedia/libdvdread/pkg-plist4
-rw-r--r--multimedia/wf-recorder/Makefile32
-rw-r--r--multimedia/wf-recorder/distinfo6
-rw-r--r--multimedia/wf-recorder/files/patch-fix-ffmpeg827
-rw-r--r--net-im/Makefile1
-rw-r--r--net-im/nchat/Makefile34
-rw-r--r--net-im/nchat/distinfo3
-rw-r--r--net-im/nchat/pkg-descr1
-rw-r--r--net-im/nchat/pkg-plist28
-rw-r--r--net-im/signal-desktop/Makefile2
-rw-r--r--net-im/telegram-desktop/Makefile4
-rw-r--r--net-im/telegram-desktop/distinfo6
-rw-r--r--net-im/tg_owt/Makefile2
-rw-r--r--net-mgmt/netbox/Makefile51
-rw-r--r--net-mgmt/netbox/distinfo6
-rw-r--r--net-mgmt/netbox/pkg-plist79
-rw-r--r--science/orthanc/Makefile12
-rw-r--r--science/orthanc/distinfo6
-rw-r--r--science/orthanc/files/orthanc.in4
-rw-r--r--science/orthanc/files/patch-OrthancFramework_Sources_Images_JpegWriter.cpp11
-rw-r--r--science/orthanc/files/patch-OrthancServer_Resources_Configuration.json4
-rw-r--r--science/orthanc/files/patch-OrthancServer_Sources_Database_PrepareDatabase.sql13
-rw-r--r--security/bruteblock/Makefile2
-rw-r--r--security/bruteblock/distinfo6
-rw-r--r--security/openssh-portable/Makefile2
-rw-r--r--security/openssh-portable/files/extra-patch-blacklistd41
-rw-r--r--security/py-greenbone-feed-sync/Makefile1
-rw-r--r--security/py-greenbone-feed-sync/pkg-plist2
-rw-r--r--security/py-netbox-secrets/Makefile2
-rw-r--r--security/py-netbox-secrets/distinfo6
-rw-r--r--security/sequoia-chameleon-gnupg/Makefile9
-rw-r--r--security/sequoia-chameleon-gnupg/Makefile.crates21
-rw-r--r--security/sequoia-chameleon-gnupg/distinfo48
-rw-r--r--security/sequoia-chameleon-gnupg/files/patch-Cargo.toml30
-rw-r--r--security/sequoia-chameleon-gnupg/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml30
-rw-r--r--security/sequoia-sq/Makefile25
-rw-r--r--security/sequoia-sq/Makefile.crates13
-rw-r--r--security/sequoia-sq/distinfo32
-rw-r--r--security/sequoia-sq/files/patch-Cargo.toml14
-rw-r--r--security/sequoia-sq/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml30
-rw-r--r--security/vuxml/Makefile4
-rw-r--r--security/vuxml/files/euvd_provider.sh69
-rw-r--r--security/vuxml/files/mitre_provider.sh61
-rw-r--r--security/vuxml/files/newentry.sh174
-rw-r--r--security/vuxml/files/nvd_provider.sh72
-rw-r--r--sysutils/Makefile2
-rw-r--r--sysutils/containers-common/Makefile4
-rw-r--r--sysutils/elephant/Makefile14
-rw-r--r--sysutils/elephant/distinfo10
-rw-r--r--sysutils/extrace-freebsd/Makefile (renamed from sysutils/extrace/Makefile)10
-rw-r--r--sysutils/extrace-freebsd/distinfo (renamed from sysutils/extrace/distinfo)0
-rw-r--r--sysutils/extrace-freebsd/pkg-descr4
-rw-r--r--sysutils/extrace/pkg-descr4
-rw-r--r--sysutils/skopeo/files/patch-Makefile23
-rw-r--r--textproc/crow-translate/Makefile2
-rw-r--r--textproc/harper/Makefile2
-rw-r--r--textproc/harper/Makefile.crates22
-rw-r--r--textproc/harper/distinfo46
-rw-r--r--textproc/obsidian/Makefile2
-rw-r--r--textproc/pecl-yaml/Makefile10
-rw-r--r--textproc/pecl-yaml/distinfo6
-rw-r--r--textproc/py-griffe/Makefile2
-rw-r--r--textproc/py-griffe/distinfo6
-rw-r--r--textproc/py-mkdocs-material/Makefile2
-rw-r--r--textproc/py-mkdocs-material/distinfo6
-rw-r--r--textproc/py-mkdocstrings-python/Makefile6
-rw-r--r--textproc/py-mkdocstrings-python/distinfo6
-rw-r--r--textproc/py-tablib/Makefile4
-rw-r--r--textproc/py-tablib/distinfo6
-rw-r--r--www/gohugo/Makefile2
-rw-r--r--www/gohugo/distinfo10
-rw-r--r--www/phpmyfaq/Makefile2
-rw-r--r--www/phpmyfaq/distinfo6
-rw-r--r--www/phpmyfaq/pkg-plist7
-rw-r--r--www/py-dj52-django-cors-headers/Makefile2
-rw-r--r--www/py-dj52-django-cors-headers/distinfo6
-rw-r--r--www/py-dj52-django-cors-headers/files/patch-pyproject.toml24
-rw-r--r--www/py-dj52-django-filter/Makefile11
-rw-r--r--www/py-dj52-django-filter/distinfo6
-rw-r--r--www/py-dj52-django-htmx/Makefile2
-rw-r--r--www/py-dj52-django-htmx/distinfo6
-rw-r--r--www/py-dj52-django-rich/Makefile2
-rw-r--r--www/py-dj52-django-rich/distinfo6
-rw-r--r--www/py-dj52-django-rich/files/patch-pyproject.toml24
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/Makefile2
-rw-r--r--www/py-dj52-drf-spectacular-sidecar/distinfo6
-rw-r--r--www/py-dj52-strawberry-graphql-django/Makefile6
-rw-r--r--www/py-dj52-strawberry-graphql-django/distinfo6
-rw-r--r--www/py-nh3/Makefile3
-rw-r--r--www/py-nh3/Makefile.crates68
-rw-r--r--www/py-nh3/distinfo142
-rw-r--r--x11-toolkits/kddockwidgets/Makefile3
-rw-r--r--x11-toolkits/kddockwidgets/distinfo6
-rw-r--r--x11-toolkits/kddockwidgets/pkg-plist5
-rw-r--r--x11/sddm/Makefile2
-rw-r--r--x11/sddm/files/patch-src_common_VirtualTerminal.cpp30
-rw-r--r--x11/walker/Makefile2
-rw-r--r--x11/walker/distinfo6
-rw-r--r--x11/xpra-html5/Makefile2
-rw-r--r--x11/xpra-html5/distinfo6
-rw-r--r--x11/xpra-html5/pkg-plist3
221 files changed, 3180 insertions, 1014 deletions
diff --git a/MOVED b/MOVED
index d279225c783a..7f1639aa9646 100644
--- a/MOVED
+++ b/MOVED
@@ -4827,3 +4827,4 @@ textproc/rubygem-cucumber-gherkin32|textproc/rubygem-cucumber-gherkin|2025-10-18
devel/gocritic|devel/go-critic|2025-10-19|Commands renamed up stream
net/asterisk18||2025-10-21|Has expired: Migrate to newer asterisk, security support ends soon
mail/mu4e|mail/mu|2025-10-21|Becomes integrated as default to its backend port mail/mu
+sysutils/extrace|sysutils/extrace-freebsd|2025-10-24|Rename to better match upstream name
diff --git a/archivers/innoextract/files/patch-fix-boost89 b/archivers/innoextract/files/patch-fix-boost89
new file mode 100644
index 000000000000..6833c1d9a6d9
--- /dev/null
+++ b/archivers/innoextract/files/patch-fix-boost89
@@ -0,0 +1,10 @@
+--- CMakeLists.txt.orig 2025-10-24 17:36:33 UTC
++++ CMakeLists.txt
+@@ -177,7 +177,6 @@ find_package(Boost REQUIRED COMPONENTS
+ iostreams
+ filesystem
+ date_time
+- system
+ program_options
+ )
+ list(APPEND LIBRARIES ${Boost_LIBRARIES})
diff --git a/deskutils/podman-desktop/Makefile b/deskutils/podman-desktop/Makefile
index f8971faf626f..39d374f57150 100644
--- a/deskutils/podman-desktop/Makefile
+++ b/deskutils/podman-desktop/Makefile
@@ -1,6 +1,6 @@
PORTNAME= podman-desktop
PORTVERSION= 1.21.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= deskutils
MASTER_SITES= https://github.com/arrowd/podman-desktop/releases/download/v${PORTVERSION}/ \
https://raw.githubusercontent.com/podman-desktop/podman-desktop/refs/tags/v${PORTVERSION}/buildResources/:icon
diff --git a/devel/electron37/Makefile.version b/devel/electron37/Makefile.version
index 9003ef0454cb..fb0b4f428254 100644
--- a/devel/electron37/Makefile.version
+++ b/devel/electron37/Makefile.version
@@ -1,2 +1,2 @@
-ELECTRON_VER= 37.7.0
+ELECTRON_VER= 37.7.1
ELECTRON_VER_MAJOR= ${ELECTRON_VER:C/\..*//}
diff --git a/devel/electron37/distinfo b/devel/electron37/distinfo
index 329efe063cc4..1590627712e0 100644
--- a/devel/electron37/distinfo
+++ b/devel/electron37/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1760649499
+TIMESTAMP = 1761294863
SHA256 (electron/chromium-138.0.7204.251.tar.xz.0) = 23057c15fd77b6653b01a34e08782f05cc80ecddddaf6f0b87390beb32810151
SIZE (electron/chromium-138.0.7204.251.tar.xz.0) = 2000000000
SHA256 (electron/chromium-138.0.7204.251.tar.xz.1) = 784a8bcb5eff8c204557c5cb7c4a223efd3c472303dd79a8b7be97e3d5d0982a
@@ -7,10 +7,10 @@ SHA256 (electron/chromium-138.0.7204.251.tar.xz.2) = 3d7af9e06a90102b41de19d4635
SIZE (electron/chromium-138.0.7204.251.tar.xz.2) = 273864084
SHA256 (electron/pulseaudio-16.1.tar.gz) = 027266c62f2a84422ac45fa721a649508f0f1628fb1fd9242315ac54ce2d7c92
SIZE (electron/pulseaudio-16.1.tar.gz) = 2763111
-SHA256 (electron/electron-yarn-cache-37.7.0.tar.xz) = 34a44bb3ceaa38384ab57905ac82eb29f3cb66db5f731479d67b306211916e3d
-SIZE (electron/electron-yarn-cache-37.7.0.tar.xz) = 30531168
-SHA256 (electron/electron-electron-v37.7.0_GH0.tar.gz) = c80607ccc93f9329a6cf4864196172c4a03aaec4b2db16b81ee81d35b81be0fb
-SIZE (electron/electron-electron-v37.7.0_GH0.tar.gz) = 15848245
+SHA256 (electron/electron-yarn-cache-37.7.1.tar.xz) = 34a44bb3ceaa38384ab57905ac82eb29f3cb66db5f731479d67b306211916e3d
+SIZE (electron/electron-yarn-cache-37.7.1.tar.xz) = 30531168
+SHA256 (electron/electron-electron-v37.7.1_GH0.tar.gz) = 000f23f54e09ddcf34ba13fc40ecda4d93029de94abc41af59a71d8858ce2063
+SIZE (electron/electron-electron-v37.7.1_GH0.tar.gz) = 15848315
SHA256 (electron/nodejs-node-v22.20.0_GH0.tar.gz) = 5c2e4ecc6583c5d49f9a9a4473fc267402762fc8e8a7835465919dacd6fdd5d8
SIZE (electron/nodejs-node-v22.20.0_GH0.tar.gz) = 129356712
SHA256 (electron/nodejs-nan-e14bdcd1f72d62bca1d541b66da43130384ec213_GH0.tar.gz) = 02edf8d5b3fef9af94d8a1355da60564a57e7f2c99cb422bce042400607ed2eb
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
index a692323fc532..c6693b11ed3e 100644
--- a/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
+++ b/devel/electron37/files/patch-electron_shell_browser_native__window__views.cc
@@ -1,4 +1,4 @@
---- electron/shell/browser/native_window_views.cc.orig 2025-08-13 14:21:20 UTC
+--- electron/shell/browser/native_window_views.cc.orig 2025-10-21 05:28:55 UTC
+++ electron/shell/browser/native_window_views.cc
@@ -52,7 +52,7 @@
#include "ui/wm/core/shadow_types.h"
@@ -89,8 +89,8 @@
+#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD)
// On Linux and Windows the minimum and maximum size should be updated with
// window size when window is not resizable.
- if (!resizable_) {
-@@ -1071,7 +1071,7 @@ bool NativeWindowViews::IsClosable() const {
+ if (!CanResize()) {
+@@ -1074,7 +1074,7 @@ bool NativeWindowViews::IsClosable() const {
return false;
}
return !(info.fState & MFS_DISABLED);
@@ -99,7 +99,7 @@
return true;
#endif
}
-@@ -1111,7 +1111,7 @@ void NativeWindowViews::Center() {
+@@ -1114,7 +1114,7 @@ void NativeWindowViews::Center() {
// for now to avoid breaking API contract, but should consider the long
// term plan for this aligning with upstream.
void NativeWindowViews::Center() {
@@ -108,7 +108,7 @@
auto display =
display::Screen::GetScreen()->GetDisplayNearestWindow(GetNativeWindow());
gfx::Rect window_bounds_in_screen = display.work_area();
-@@ -1336,7 +1336,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
+@@ -1339,7 +1339,7 @@ void NativeWindowViews::SetMenu(ElectronMenuModel* men
}
void NativeWindowViews::SetMenu(ElectronMenuModel* menu_model) {
@@ -117,7 +117,7 @@
// Remove global menu bar.
if (global_menu_bar_ && menu_model == nullptr) {
global_menu_bar_.reset();
-@@ -1392,7 +1392,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
+@@ -1395,7 +1395,7 @@ void NativeWindowViews::SetParentWindow(NativeWindow*
void NativeWindowViews::SetParentWindow(NativeWindow* parent) {
NativeWindow::SetParentWindow(parent);
@@ -126,7 +126,7 @@
if (x11_util::IsX11()) {
auto* connection = x11::Connection::Get();
connection->SetProperty(
-@@ -1438,7 +1438,7 @@ void NativeWindowViews::SetProgressBar(double progress
+@@ -1441,7 +1441,7 @@ void NativeWindowViews::SetProgressBar(double progress
NativeWindow::ProgressState state) {
#if BUILDFLAG(IS_WIN)
taskbar_host_.SetProgressBar(GetAcceleratedWidget(), progress, state);
@@ -135,7 +135,7 @@
if (unity::IsRunning()) {
unity::SetProgressFraction(progress);
}
-@@ -1564,7 +1564,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
+@@ -1567,7 +1567,7 @@ content::DesktopMediaID NativeWindowViews::GetDesktopM
#if BUILDFLAG(IS_WIN)
window_handle =
reinterpret_cast<content::DesktopMediaID::Id>(accelerated_widget);
@@ -144,7 +144,7 @@
window_handle = static_cast<uint32_t>(accelerated_widget);
#endif
aura::WindowTreeHost* const host =
-@@ -1662,7 +1662,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
+@@ -1665,7 +1665,7 @@ void NativeWindowViews::SetIcon(HICON window_icon, HIC
SendMessage(hwnd, WM_SETICON, ICON_BIG,
reinterpret_cast<LPARAM>(app_icon_.get()));
}
@@ -153,7 +153,7 @@
void NativeWindowViews::SetIcon(const gfx::ImageSkia& icon) {
auto* tree_host = views::DesktopWindowTreeHostLinux::GetHostForWidget(
GetAcceleratedWidget());
-@@ -1783,7 +1783,7 @@ bool NativeWindowViews::CanMinimize() const {
+@@ -1786,7 +1786,7 @@ bool NativeWindowViews::CanMinimize() const {
bool NativeWindowViews::CanMinimize() const {
#if BUILDFLAG(IS_WIN)
return minimizable_;
@@ -162,7 +162,7 @@
return true;
#endif
}
-@@ -1839,7 +1839,7 @@ void NativeWindowViews::HandleKeyboardEvent(
+@@ -1842,7 +1842,7 @@ void NativeWindowViews::HandleKeyboardEvent(
if (widget_destroyed_)
return;
@@ -171,7 +171,7 @@
if (event.windows_key_code == ui::VKEY_BROWSER_BACK)
NotifyWindowExecuteAppCommand(kBrowserBackward);
else if (event.windows_key_code == ui::VKEY_BROWSER_FORWARD)
-@@ -1858,7 +1858,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
+@@ -1861,7 +1861,7 @@ void NativeWindowViews::OnMouseEvent(ui::MouseEvent* e
// Alt+Click should not toggle menu bar.
root_view_.ResetAltState();
diff --git a/devel/electron37/files/patch-electron_shell_browser_native__window__views.h b/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
index 5f2e253fd5e4..729923f46ebb 100644
--- a/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
+++ b/devel/electron37/files/patch-electron_shell_browser_native__window__views.h
@@ -1,4 +1,4 @@
---- electron/shell/browser/native_window_views.h.orig 2025-08-13 14:21:20 UTC
+--- electron/shell/browser/native_window_views.h.orig 2025-10-21 05:28:55 UTC
+++ electron/shell/browser/native_window_views.h
@@ -26,7 +26,7 @@ namespace electron {
@@ -9,7 +9,7 @@
class GlobalMenuBarX11;
#endif
-@@ -165,7 +165,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -166,7 +166,7 @@ class NativeWindowViews : public NativeWindow,
LPARAM l_param,
LRESULT* result);
void SetIcon(HICON small_icon, HICON app_icon);
@@ -18,7 +18,7 @@
void SetIcon(const gfx::ImageSkia& icon);
#endif
-@@ -254,7 +254,7 @@ class NativeWindowViews : public NativeWindow,
+@@ -255,7 +255,7 @@ class NativeWindowViews : public NativeWindow,
// events from resizing the window.
extensions::SizeConstraints old_size_constraints_;
diff --git a/devel/gammaray/Makefile b/devel/gammaray/Makefile
index ed33dd672f9d..6935f5f785cd 100644
--- a/devel/gammaray/Makefile
+++ b/devel/gammaray/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gammaray
-DISTVERSION= 3.2.0
+DISTVERSION= 3.3.0
CATEGORIES= devel
MASTER_SITES= https://github.com/KDAB/GammaRay/releases/download/v${DISTVERSION}/
@@ -7,75 +7,41 @@ MAINTAINER= kde@FreeBSD.org
COMMENT= Debugging tool for Qt-application
WWW= https://www.kdab.com/development-resources/qt-tools/gammaray/
-LICENSE= BSD2CLAUSE BSD3CLAUSE GPLv2 GPLv2+ GPLv3 GPLv3+ LGPL20+ LGPL21 LGPL21+ LGPL3 MIT
+LICENSE= BSD2CLAUSE BSD3CLAUSE GPLv2+ LGPL20+ LGPL21 LGPL3 MIT
LICENSE_COMB= multi
LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/LICENSES/BSD-2-Clause.txt
LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/LICENSES/BSD-3-Clause.txt
-LICENSE_FILE_GPLv2= ${WRKSRC}/LICENSES/GPL-2.0-only.txt
LICENSE_FILE_GPLv2+ = ${WRKSRC}/LICENSES/GPL-2.0-or-later.txt
-LICENSE_FILE_GPLv3= ${WRKSRC}/LICENSES/GPL-3.0-only.txt
-LICENSE_FILE_GPLv3+ = ${WRKSRC}/LICENSES/GPL-3.0-or-later.txt
LICENSE_FILE_LGPL20+ = ${WRKSRC}/LICENSES/LGPL-2.0-or-later.txt
LICENSE_FILE_LGPL21= ${WRKSRC}/LICENSES/LGPL-2.1-only.txt
-LICENSE_FILE_LGPL21+ = ${WRKSRC}/LICENSES/LGPL-2.1-or-later.txt
LICENSE_FILE_LGPL3= ${WRKSRC}/LICENSES/LGPL-3.0-only.txt
LICENSE_FILE_MIT= ${WRKSRC}/LICENSES/MIT.txt
-LIB_DEPENDS= libdwarf.so:devel/libdwarf \
- libelf.so:devel/libelf
RUN_DEPENDS= lsof:sysutils/lsof
-FLAVORS= qt6 qt5
-FLAVOR?= qt6
-
-qt5_PKGNAMESUFFIX= -qt5
-qt5_CONFLICTS_INSTALL= ${PORTNAME}
-qt6_CONFLICTS_INSTALL= ${PORTNAME}-qt5
-
-USES= cmake pkgconfig
+USES= cmake kde:6 pkgconfig qt:6
USE_KDE= coreaddons syntaxhighlighting
-USE_QT= 3d declarative location svg webchannel
-
-.if ${FLAVOR} == qt5
-USES+= kde:5 qt:5
-USE_QT+= buildtools:build concurrent core designer gui help \
- linguisttools network printsupport qdoc:build \
- qmake:build script scripttools uiplugin widgets xml
-QT_VERSION=${QT5_VERSION:C/\./_/:C/\..*//}
-.else
-USES+= gl kde:6 qt:6
-USE_GL= gl
-USE_QT+= base positioning shadertools tools:build
+USE_QT= 3d base declarative location positioning svg \
+ webchannel tools:build
QT_VERSION=${QT6_VERSION:C/\./_/:C/\..*//}
-.endif
-CMAKE_ARGS+= QT_VERSION_MAJOR=${_QT_VER}
CMAKE_ON= STACK_DETAILS_DWARF
CMAKE_OFF= STACK_DETAILS_AUTO_DETECT
-.include <bsd.port.options.mk>
+.include <bsd.port.pre.mk>
.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386
-PLIST_SUB= WEBENGINE=""
+PLIST_SUB+= WEBENGINE=""
USE_QT+= webengine
.else
-PLIST_SUB= WEBENGINE="@comment "
-.endif
-
-.if ${FLAVOR} == qt5
-PLIST_SUB+= QT5="" \
- QT6="@comment "
-.else
-PLIST_SUB+= QT5="@comment " \
- QT6=""
+PLIST_SUB+= WEBENGINE="@comment "
.endif
PLIST_SUB+= ARCH=${ARCH:S/amd64/x86_64/:S/i386/i686/:C/armv./arm/} \
PORTMAJMIN=${PORTVERSION:C/(.*)\..*/\1/} \
- PORTVERSION=${PORTVERSION} \
- QTVER=${QT_VERSION}
+ PORTVERSION=${PORTVERSION} QTVER=${QT_VERSION}
WRKSRC= ${WRKDIR}/GammaRay-${DISTVERSION}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/devel/gammaray/distinfo b/devel/gammaray/distinfo
index 6de83d856282..beabfcee787a 100644
--- a/devel/gammaray/distinfo
+++ b/devel/gammaray/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748855717
-SHA256 (gammaray-3.2.0.tar.gz) = a7c00a5a33c400579002bbe535a667efdea1e726950ecddbf39cf3d8a3f50f07
-SIZE (gammaray-3.2.0.tar.gz) = 11033875
+TIMESTAMP = 1761244570
+SHA256 (gammaray-3.3.0.tar.gz) = 03fda338025d31b6a2794550f090d538996bbb6f4888eab3acb39db5a17127a8
+SIZE (gammaray-3.3.0.tar.gz) = 10976302
diff --git a/devel/gammaray/pkg-plist b/devel/gammaray/pkg-plist
index ef2a32c996de..66c53993e75d 100644
--- a/devel/gammaray/pkg-plist
+++ b/devel/gammaray/pkg-plist
@@ -72,8 +72,6 @@ lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_3dinspector_ui.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_3dinspector.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_actioninspector_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_actioninspector_ui_plugin.so
-%%QT5%%lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_codecbrowser_plugin.so
-%%QT5%%lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_codecbrowser_ui_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_eventmonitor_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_eventmonitor_ui_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_fontbrowser_plugin.so
@@ -102,11 +100,8 @@ lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_quickinspector.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_quickwidgetsupport.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_sceneinspector_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_sceneinspector_ui_plugin.so
-%%QT5%%lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_scriptenginedebugger_plugin.so
-%%QT5%%lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_scriptenginedebugger_ui_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_signalmonitor_ui.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_signalmonitor.so
-%%QT5%%lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_statemachineviewer_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_styleinspector_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_styleinspector_ui_plugin.so
lib/gammaray/%%PORTMAJMIN%%/qt%%QTVER%%-%%ARCH%%/gammaray_sysinfo_plugin.so
@@ -152,8 +147,8 @@ mkspecs/modules/qt_GammaRayLauncherUi.pri
mkspecs/modules/qt_GammaRayUi.pri
share/metainfo/com.kdab.GammaRay.metainfo.xml
share/applications/GammaRay.desktop
-%%QT6%%share/doc/GammaRay/gammaray-manual.qch
-%%QT6%%share/doc/GammaRay/gammaray.qhc
+share/doc/GammaRay/gammaray-manual.qch
+share/doc/GammaRay/gammaray.qhc
share/icons/hicolor/16x16/apps/GammaRay.png
share/icons/hicolor/16x16@2/apps/GammaRay.png
share/icons/hicolor/16x16@3/apps/GammaRay.png
diff --git a/devel/okteta/Makefile b/devel/okteta/Makefile
index 413a27d9fca3..c47f66b6bf66 100644
--- a/devel/okteta/Makefile
+++ b/devel/okteta/Makefile
@@ -1,5 +1,5 @@
PORTNAME= okteta
-DISTVERSION= 0.26.23
+DISTVERSION= 0.26.24
PORTEPOCH= 1
CATEGORIES= devel kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}/src
diff --git a/devel/okteta/distinfo b/devel/okteta/distinfo
index 026e2b222c11..f9e8ca1236b1 100644
--- a/devel/okteta/distinfo
+++ b/devel/okteta/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758423635
-SHA256 (okteta-0.26.23.tar.xz) = b04c50988eac26c50768ab5bd40f5b35a348c44d6e0e6a8d560563cf0eb1a3b1
-SIZE (okteta-0.26.23.tar.xz) = 1105068
+TIMESTAMP = 1761272559
+SHA256 (okteta-0.26.24.tar.xz) = 31b2323f02f4d4fc872c3fc135d54bb90925825681e591dd25f4a680c0d2656a
+SIZE (okteta-0.26.24.tar.xz) = 1109380
diff --git a/devel/okteta/pkg-plist b/devel/okteta/pkg-plist
index caaab8debbe0..8dbdf1abab83 100644
--- a/devel/okteta/pkg-plist
+++ b/devel/okteta/pkg-plist
@@ -543,6 +543,7 @@ share/knsrcfiles/okteta-structures.knsrc
share/kservices5/oktetapart.desktop
share/locale/ar/LC_MESSAGES/libkasten.mo
share/locale/ar/LC_MESSAGES/liboktetacore.mo
+share/locale/ar/LC_MESSAGES/liboktetagui.mo
share/locale/ar/LC_MESSAGES/liboktetakasten.mo
share/locale/ar/LC_MESSAGES/okteta.mo
share/locale/ar/LC_MESSAGES/oktetapart.mo
diff --git a/devel/py-archinfo/Makefile b/devel/py-archinfo/Makefile
index 44e80f39817e..994af24c72ce 100644
--- a/devel/py-archinfo/Makefile
+++ b/devel/py-archinfo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= archinfo
DISTVERSIONPREFIX= v
-DISTVERSION= 9.2.177
+DISTVERSION= 9.2.181
CATEGORIES= devel python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/devel/py-archinfo/distinfo b/devel/py-archinfo/distinfo
index b68f314fe03b..46f29faf0f85 100644
--- a/devel/py-archinfo/distinfo
+++ b/devel/py-archinfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759741771
-SHA256 (angr-archinfo-v9.2.177_GH0.tar.gz) = 85099643c30fbce5103a74c6abffd1f4847d8c8a306a8f9a79bf5ff215a26973
-SIZE (angr-archinfo-v9.2.177_GH0.tar.gz) = 45929
+TIMESTAMP = 1761206752
+SHA256 (angr-archinfo-v9.2.181_GH0.tar.gz) = 10039c6595ecd5627218e0171cf319bfea3a1d25c70bb2ab75b7ea83e5f2fc5b
+SIZE (angr-archinfo-v9.2.181_GH0.tar.gz) = 45936
diff --git a/devel/py-dj52-strawberry-graphql/Makefile b/devel/py-dj52-strawberry-graphql/Makefile
index 86c8ac3d8755..b42f59703bb4 100644
--- a/devel/py-dj52-strawberry-graphql/Makefile
+++ b/devel/py-dj52-strawberry-graphql/Makefile
@@ -1,5 +1,5 @@
PORTNAME= strawberry-graphql
-DISTVERSION= 0.281.0
+DISTVERSION= 0.283.3
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
@@ -65,7 +65,7 @@ DEBUG_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libcst>0:devel/py-libcst@${PY_FLAVOR}
DJANGO_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}asgiref>=3.2:www/py-asgiref@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django52>=3.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-django>0:devel/py-pytest-django@${PY_FLAVOR}
-FASTAPI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastapi>=0.62.5:www/py-fastapi@${PY_FLAVOR} \
+FASTAPI_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}fastapi>=0.65.0:www/py-fastapi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}multipart>=0.0.7:devel/py-multipart@${PY_FLAVOR}
FLASK_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flask>=1.1:www/py-flask@${PY_FLAVOR}
OPENTELEMETRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opentelemetry-api<2:devel/py-opentelemetry-api@${PY_FLAVOR} \
diff --git a/devel/py-dj52-strawberry-graphql/distinfo b/devel/py-dj52-strawberry-graphql/distinfo
index 501d1f52fe1f..ee9998a6c355 100644
--- a/devel/py-dj52-strawberry-graphql/distinfo
+++ b/devel/py-dj52-strawberry-graphql/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756289516
-SHA256 (strawberry_graphql-0.281.0.tar.gz) = fc83c3d1482276969cef3693c58ab8d4c229a2b8a859f202a4ddaa93d74f645f
-SIZE (strawberry_graphql-0.281.0.tar.gz) = 212294
+TIMESTAMP = 1760606137
+SHA256 (strawberry_graphql-0.283.3.tar.gz) = 375e545856b7587debd4e0f1e2a6fca19d09cc126238a07b9e5164e5eb09342a
+SIZE (strawberry_graphql-0.283.3.tar.gz) = 212141
diff --git a/devel/py-msal-extensions/Makefile b/devel/py-msal-extensions/Makefile
index 14d08ccc0dc7..45695f5c16a7 100644
--- a/devel/py-msal-extensions/Makefile
+++ b/devel/py-msal-extensions/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= dbaio@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Microsoft Authentication Extensions for Python
WWW= https://pypi.org/project/msal-extensions/
diff --git a/devel/py-msal/Makefile b/devel/py-msal/Makefile
index fa98f7f6caf4..0f4980755c13 100644
--- a/devel/py-msal/Makefile
+++ b/devel/py-msal/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= dbaio@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Microsoft Authentication Library (MSAL) for Python
WWW= https://github.com/AzureAD/microsoft-authentication-library-for-python
diff --git a/devel/py-rq/Makefile b/devel/py-rq/Makefile
index a2b747803501..398149a66922 100644
--- a/devel/py-rq/Makefile
+++ b/devel/py-rq/Makefile
@@ -1,5 +1,5 @@
PORTNAME= rq
-PORTVERSION= 2.5.0
+PORTVERSION= 2.6.0
CATEGORIES= devel python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/devel/py-rq/distinfo b/devel/py-rq/distinfo
index 6e0a0c295f2d..81a098226166 100644
--- a/devel/py-rq/distinfo
+++ b/devel/py-rq/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756289709
-SHA256 (rq-2.5.0.tar.gz) = b55d328fcaeaf25823b8b8450283225f8048bd1c52abaaca192c99201ab5c687
-SIZE (rq-2.5.0.tar.gz) = 666978
+TIMESTAMP = 1758198352
+SHA256 (rq-2.6.0.tar.gz) = 92ad55676cda14512c4eea5782f398a102dc3af108bea197c868c4c50c5d3e81
+SIZE (rq-2.6.0.tar.gz) = 675315
diff --git a/editors/helix/Makefile b/editors/helix/Makefile
index a96855d76645..c33bd5ddf06a 100644
--- a/editors/helix/Makefile
+++ b/editors/helix/Makefile
@@ -291,8 +291,8 @@ post-extract:
${MV} ${WRKDIR}/tree-sitter-wren-${TREE_SITTER_WREN_REV} ${WRKSRC}/runtime/grammars/sources/wren
${MV} ${WRKDIR}/tree-sitter-gemini-${TREE_SITTER_GEMINI_REV} ${WRKSRC}/runtime/grammars/sources/gemini
${MV} ${WRKDIR}/tree-sitter-prolog ${WRKSRC}/runtime/grammars/sources/prolog
- ${CP} -R ${DISTDIR}/${TREE_SITTER_TSHIGH_REV}-ts-highlights.scm ${WRKSRC}/runtime/grammars/sources/qmljs/queries/highlights-typescript.scm
- ${CP} -R ${DISTDIR}/${TREE_SITTER_JSHIGH_REV}-js-highlights.scm ${WRKSRC}/runtime/grammars/sources/qmljs/queries/highlights-javascript.scm
+ ${INSTALL} ${DISTDIR}/${TREE_SITTER_TSHIGH_REV}-ts-highlights.scm ${WRKSRC}/runtime/grammars/sources/qmljs/queries/highlights-typescript.scm
+ ${INSTALL} ${DISTDIR}/${TREE_SITTER_JSHIGH_REV}-js-highlights.scm ${WRKSRC}/runtime/grammars/sources/qmljs/queries/highlights-javascript.scm
post-install:
${MKDIR} ${STAGEDIR}${DATADIR}/runtime/grammars
diff --git a/editors/py-pynvim/Makefile b/editors/py-pynvim/Makefile
index a95b352142c3..44f5d52d16e4 100644
--- a/editors/py-pynvim/Makefile
+++ b/editors/py-pynvim/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pynvim
-DISTVERSION= 0.4.3
-PORTREVISION= 1
+DISTVERSION= 0.6.0
CATEGORIES= editors python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -17,7 +16,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}msgpack>=0.5.0:devel/py-msgpack@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.4.0:devel/py-pytest@${PY_FLAVOR}
USES= python
-USE_PYTHON= concurrent distutils flavors autoplist
+USE_PYTHON= autoplist concurrent distutils flavors
NO_ARCH= yes
SUB_FILES= pkg-message
diff --git a/editors/py-pynvim/distinfo b/editors/py-pynvim/distinfo
index 26cc8c4b9db3..5e3b2a3becc1 100644
--- a/editors/py-pynvim/distinfo
+++ b/editors/py-pynvim/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1617985848
-SHA256 (pynvim-0.4.3.tar.gz) = 3a795378bde5e8092fbeb3a1a99be9c613d2685542f1db0e5c6fd467eed56dff
-SIZE (pynvim-0.4.3.tar.gz) = 56239
+TIMESTAMP = 1758604457
+SHA256 (pynvim-0.6.0.tar.gz) = 0ffcb879322d08f9e9061e1123dd58ba3a5ccfbd4999bb1157bac525822aa590
+SIZE (pynvim-0.6.0.tar.gz) = 51478
diff --git a/editors/vscode/Makefile b/editors/vscode/Makefile
index e84ab287b8f1..7c20033c02f3 100644
--- a/editors/vscode/Makefile
+++ b/editors/vscode/Makefile
@@ -1,5 +1,6 @@
PORTNAME= vscode
DISTVERSION= 1.105.1
+PORTREVISION= 1
CATEGORIES= editors
MASTER_SITES= https://github.com/tagattie/FreeBSD-VSCode/releases/download/${DISTVERSION}/:node_modules
DISTFILES= vscode-node-modules-${DISTVERSION}${EXTRACT_SUFX}:node_modules \
diff --git a/emulators/Makefile b/emulators/Makefile
index dc3ed992a512..2f72f683ddb5 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -161,8 +161,14 @@
SUBDIR += virtualbox-ose-71
SUBDIR += virtualbox-ose-72
SUBDIR += virtualbox-ose-additions
+ SUBDIR += virtualbox-ose-additions-70
+ SUBDIR += virtualbox-ose-additions-71
+ SUBDIR += virtualbox-ose-additions-72
SUBDIR += virtualbox-ose-additions-legacy
SUBDIR += virtualbox-ose-additions-nox11
+ SUBDIR += virtualbox-ose-additions-nox11-70
+ SUBDIR += virtualbox-ose-additions-nox11-71
+ SUBDIR += virtualbox-ose-additions-nox11-72
SUBDIR += virtualbox-ose-additions-nox11-legacy
SUBDIR += virtualbox-ose-kmod
SUBDIR += virtualbox-ose-kmod-70
diff --git a/emulators/nemu/Makefile b/emulators/nemu/Makefile
index e8a4917abe13..6f70ad0dfaa7 100644
--- a/emulators/nemu/Makefile
+++ b/emulators/nemu/Makefile
@@ -1,7 +1,6 @@
PORTNAME= nemu
DISTVERSIONPREFIX= v
-DISTVERSION= 3.3.1
-PORTREVISION= 1
+DISTVERSION= 3.4.0
CATEGORIES= emulators
MAINTAINER= arrowd@FreeBSD.org
diff --git a/emulators/nemu/distinfo b/emulators/nemu/distinfo
index 2165ecd2478c..1434b692581d 100644
--- a/emulators/nemu/distinfo
+++ b/emulators/nemu/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1709378812
-SHA256 (nemuTUI-nemu-v3.3.1_GH0.tar.gz) = 7cdb27cbf5df1957d0f0a258fc334f15d9e2d06a450a982bb796094efc3960c0
-SIZE (nemuTUI-nemu-v3.3.1_GH0.tar.gz) = 174868
+TIMESTAMP = 1761325528
+SHA256 (nemuTUI-nemu-v3.4.0_GH0.tar.gz) = e272b3e80623f8aef66c3ecb5e2d8846ac89b2514a4bbb5026e74f51c1a5ef42
+SIZE (nemuTUI-nemu-v3.4.0_GH0.tar.gz) = 177146
diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile
index 4affe0e991ad..2a27df254f49 100644
--- a/emulators/pcsx2/Makefile
+++ b/emulators/pcsx2/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pcsx2
-PORTVERSION= 2.3.439
-PORTREVISION= 3
+PORTVERSION= 2.4.0
DISTVERSIONPREFIX= v
CATEGORIES= emulators
@@ -75,6 +74,9 @@ CMAKE_ARGS+= \
OPTIONS_DEFINE= DOCS
PORTDOCS= Debugger.pdf GameIndex.pdf
+# Stable releases use an even minor number
+PORTSCOUT= limit:^v[0-9]+.[02468].
+
# - Program and resources are copied from target dir ${CONFIGURE_WRKSRC}/bin
# because only necessary resources are installed there (e.g. no dx11 stuff)
do-install:
diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo
index 742e5ac06800..fc07e9b05e9d 100644
--- a/emulators/pcsx2/distinfo
+++ b/emulators/pcsx2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1750709445
-SHA256 (pcsx2-pcsx2-v2.3.439_GH0.tar.gz) = ed75141b426964a63b87b19ddfdd7b3659d3652254de4e694eea1784cf3ace3f
-SIZE (pcsx2-pcsx2-v2.3.439_GH0.tar.gz) = 19851256
+TIMESTAMP = 1760465569
+SHA256 (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = b18f0f4c28e482e7f88c5f428bd445fd511facabbb426dfd72d55ee904cc74c1
+SIZE (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = 20096340
diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e790f372f95f..5ac0dc7e17c8 100644
--- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,5 +1,5 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200
-+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-04-11 12:02:54 UTC
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -55,6 +55,7 @@
#include <sys/uio.h>
#include <sys/bus.h>
@@ -16,7 +16,7 @@
#include <iprt/initterm.h>
#include <iprt/process.h>
#include <iprt/string.h>
-@@ -112,8 +114,6 @@
+@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState
struct resource *pIrqRes;
/** Pointer to the IRQ handler. */
void *pfnIrqHandler;
@@ -25,7 +25,7 @@
};
-@@ -123,8 +123,7 @@
+@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState
/*
* Character device file handlers.
*/
@@ -35,7 +35,7 @@
static d_ioctl_t vgdrvFreeBSDIOCtl;
static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
static d_write_t vgdrvFreeBSDWrite;
-@@ -155,8 +154,7 @@
+@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
{
.d_version = D_VERSION,
.d_flags = D_TRACKCLOSE | D_NEEDMINOR,
@@ -45,7 +45,7 @@
.d_ioctl = vgdrvFreeBSDIOCtl,
.d_read = vgdrvFreeBSDRead,
.d_write = vgdrvFreeBSDWrite,
-@@ -164,81 +162,28 @@
+@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
.d_name = "vboxguest"
};
@@ -134,7 +134,7 @@
{
int rc;
PVBOXGUESTSESSION pSession;
-@@ -250,12 +195,6 @@
+@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
LogFlow(("vgdrvFreeBSDOpen:\n"));
/*
@@ -147,7 +147,7 @@
* Create a new session.
*/
fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
-@@ -272,47 +211,20 @@
+@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
if (RT_SUCCESS(rc))
{
@@ -168,10 +168,10 @@
}
LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
- return RTErrConvertToErrno(rc);
+@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
}
--/**
+ /**
- * File close handler
- *
- */
@@ -179,7 +179,7 @@
-{
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
-
+-
- /*
- * Close the session if it's still hanging on to the device...
- */
@@ -198,10 +198,11 @@
-}
-
-
- /**
+-/**
* I/O control request.
*
-@@ -326,8 +238,12 @@
+ * @returns depends...
+@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
PVBOXGUESTSESSION pSession;
@@ -215,20 +216,25 @@
/*
* Deal with the fast ioctl path first.
*/
-@@ -526,8 +442,10 @@
+@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
+
+ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td)
+ {
+- int fEventsProcessed;
++ PVBOXGUESTSESSION pSession;
++ int fEventsProcessed, rc;
LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) {
-+
+ rc = devfs_get_cdevpriv((void **)&pSession);
+ if (rc)
-+ {
++ {
Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -568,11 +486,8 @@
+@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
/*
* Reverse what we did in vgdrvFreeBSDAttach.
*/
@@ -241,7 +247,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
if (pState->pVMMDevMemRes)
-@@ -737,18 +652,21 @@
+@@ -737,18 +651,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
VGDrvCommonProcessOptionsFromHost(&g_DevExt);
/*
@@ -269,7 +275,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
-@@ -792,8 +710,12 @@
+@@ -792,8 +709,12 @@ static driver_t vgdrvFreeBSDDriver =
sizeof(struct VBoxGuestDeviceState),
};
diff --git a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 476346a59b13..37c1596cfe87 100644
--- a/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose-70/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -1,15 +1,17 @@
---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC
+++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
-@@ -25,7 +25,7 @@
+@@ -34,9 +34,8 @@ KMOD = vboxguest
+ # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
#
KMOD = vboxguest
-
--CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-
.if (${MACHINE_ARCH} == "i386")
CFLAGS += -DRT_ARCH_X86
-@@ -80,6 +80,7 @@ SRCS += \
+ .elif (${MACHINE_ARCH} == "amd64")
+@@ -91,6 +90,7 @@ SRCS += \
handletable.c \
handletablectx.c \
once.c \
@@ -17,7 +19,7 @@
thread.c
.PATH: ${.CURDIR}/common/string
-@@ -147,6 +148,7 @@ SRCS += \
+@@ -163,6 +163,7 @@ SRCS += \
.PATH: ${.CURDIR}/r0drv
SRCS += \
@@ -25,3 +27,12 @@
alloc-r0drv.c \
initterm-r0drv.c \
memobj-r0drv.c \
+@@ -196,7 +197,7 @@ SRCS += \
+ SRCS += \
+ log-vbox.c \
+ logbackdoor.c \
+- RTLogWriteVmm-amd64-x86.
++ RTLogWriteVmm-amd64-x86.c
+
+ .include <bsd.kmod.mk>
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 270472c045e3..796aecabac8f 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC
+++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
@@ -0,0 +1,28 @@
+# $Id: Makefile.kmk $
@@ -18,7 +18,7 @@
+CFLAGS+=-I$(MOUNT)
+
+PROGRAMS += mount_vboxvfs
-+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe
+mount_vboxvfs_SOURCES = mount_vboxvfs.c
+
+ifdef HAVE_MNTOPTS_IN_LIBUTIL
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..679778e60181
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
@@ -0,0 +1,50 @@
+--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk
+@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \
+ $(vboxvfs_0_OUTDIR)
+ vboxvfs_SOURCES = \
+ vboxvfs_vfsops.c \
+- vboxvfs_vnops.c
++ bcmp.c \
++ vboxvfs_vnops.c \
++ vboxvfs_prov.c
+ vboxvfs_LIBS = \
+ $(VBOX_LIB_VBGL_R0) \
+ $(VBOX_LIB_IPRT_GUEST_R0)
+ vboxvfs_DEPS = \
+- $$(vboxvfs_0_OUTDIR)/vnode_if.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(vboxvfs_0_OUTDIR)/vnode_if.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+ vboxvfs_CLEAN += $(vboxvfs_DEPS)
+
+ VBOX_AWK := /usr/bin/awk
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR):
++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR)
++
++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+
+ include $(FILE_KBUILD_SUB_FOOTER)
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
index afb19c804d7a..2d0377fb3e40 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC
+++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
-@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux)
+@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
ifdef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -10,7 +10,7 @@
- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
+ ifeq ($(KBUILD_TARGET),freebsd)
+ DLLS += vboxmouse_drv_system
-+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod
+ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_system_INCS := \
+ /usr/local/include/pixman-1 \
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
new file mode 100644
index 000000000000..38ef1ac68f9e
--- /dev/null
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
@@ -0,0 +1,15 @@
+--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC
++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
+ vboxvideo_drv_system_INCS += \
+ $(PATH_ROOT)/src/VBox/Runtime/include \
+ $(VBOX_GRAPHICS_INCS) \
+- /usr/include/xorg \
+- /usr/include/pixman-1
++ /usr/local/include/xorg \
++ /usr/local/include/pixman-1
+ vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES)
++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS)
+ endif
+
+
diff --git a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index cbdcb490764f..86e5984d6b82 100644
--- a/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose-70/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -11,16 +11,26 @@
switch (pMemFreeBSD->Core.enmType)
{
-@@ -155,8 +157,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -155,9 +157,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_LOCK:
{
- vm_map_t pMap = kernel_map;
-
- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
+- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) {
pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
-@@ -197,6 +197,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ rc = vm_map_unwire(pMap,
+@@ -165,6 +165,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb,
+ VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x", rc));
++ }
+ break;
+ }
+
+@@ -197,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_PHYS_NC:
{
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -28,7 +38,7 @@
vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
#if __FreeBSD_version < 1000000
vm_page_lock_queues();
-@@ -210,6 +211,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -210,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
#if __FreeBSD_version < 1000000
vm_page_unlock_queues();
#endif
@@ -43,7 +53,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
vm_object_deallocate(pMemFreeBSD->pObject);
break;
-@@ -220,6 +229,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -220,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
return VERR_INTERNAL_ERROR;
}
@@ -51,7 +61,7 @@
return VINF_SUCCESS;
}
-@@ -329,7 +339,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+@@ -329,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
size_t cPages = atop(pMemFreeBSD->Core.cb);
int rc;
@@ -61,7 +71,7 @@
/* No additional object reference for auto-deallocation upon unmapping. */
#if __FreeBSD_version >= 1000055
-@@ -371,6 +382,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -371,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -69,7 +79,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -380,8 +392,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -380,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -80,7 +90,7 @@
return VERR_NO_MEMORY;
}
-@@ -395,6 +409,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -395,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -88,7 +98,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag);
if (pMemFreeBSD)
{
-@@ -403,14 +418,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -403,14 +419,17 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -106,7 +116,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -423,8 +441,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -423,8 +442,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
}
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -117,7 +127,7 @@
return VERR_NO_MEMORY;
}
-@@ -432,6 +452,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -432,6 +453,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest,
size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag)
{
@@ -125,7 +135,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -439,7 +460,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -439,7 +461,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
u_long const cPages = atop(cb);
@@ -135,7 +145,7 @@
int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
uAlignment, fContiguous, true, rcNoMem);
-@@ -449,7 +471,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -449,7 +472,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
{
Assert(enmType == RTR0MEMOBJTYPE_PHYS);
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -144,7 +154,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
pMemFreeBSD->Core.u.Phys.fAllocated = true;
}
-@@ -462,8 +484,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -462,8 +485,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_object_deallocate(pMemFreeBSD->pObject);
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
@@ -155,7 +165,7 @@
return VERR_NO_MEMORY;
}
-@@ -486,6 +510,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -486,6 +511,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
const char *pszTag)
{
AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
@@ -163,7 +173,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
-@@ -497,8 +522,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -497,8 +523,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
*ppMem = &pMemFreeBSD->Core;
@@ -174,7 +184,7 @@
return VERR_NO_MEMORY;
}
-@@ -510,6 +537,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -510,6 +538,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
RTR0PROCESS R0Process, int fFlags, const char *pszTag)
{
@@ -182,7 +192,7 @@
int rc;
NOREF(fAccess);
-@@ -519,21 +547,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -519,21 +548,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
if (!pMemFreeBSD)
return VERR_NO_MEMORY;
@@ -219,7 +229,7 @@
return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
}
-@@ -573,6 +608,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -573,6 +609,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment,
RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag)
{
@@ -227,7 +237,7 @@
int rc;
/*
-@@ -631,11 +667,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -631,11 +668,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
pMemFreeBSD->Core.pv = (void *)MapAddress;
pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
*ppMem = &pMemFreeBSD->Core;
@@ -241,7 +251,7 @@
return rc;
}
-@@ -659,6 +697,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -659,6 +698,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment,
unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -250,7 +260,7 @@
// AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
-@@ -713,6 +753,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -713,6 +754,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
*ppMem = &pMemFreeBSD->Core;
@@ -258,7 +268,7 @@
return VINF_SUCCESS;
}
rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
-@@ -721,6 +762,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -721,6 +763,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
else
vm_object_deallocate(pMemToMapFreeBSD->pObject);
@@ -266,7 +276,7 @@
return VERR_NO_MEMORY;
}
-@@ -728,6 +770,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -728,6 +771,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment,
unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -275,7 +285,7 @@
/*
* Check for unsupported stuff.
*/
-@@ -785,44 +829,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -785,44 +830,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
if (rc == KERN_SUCCESS)
{
@@ -330,7 +340,7 @@
if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
ProtectionFlags = VM_PROT_NONE;
-@@ -833,7 +883,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+@@ -833,7 +884,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
ProtectionFlags |= VM_PROT_EXECUTE;
@@ -343,7 +353,7 @@
if (krc == KERN_SUCCESS)
return VINF_SUCCESS;
-@@ -858,11 +913,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -858,11 +914,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
@@ -367,7 +377,7 @@
}
case RTR0MEMOBJTYPE_MAPPING:
-@@ -871,11 +934,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -871,11 +935,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
{
@@ -384,7 +394,7 @@
}
return vtophys(pb);
}
-@@ -886,9 +953,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -886,9 +954,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
{
RTHCPHYS addr;
diff --git a/emulators/virtualbox-ose-70/files/vboxinit.in b/emulators/virtualbox-ose-70/files/vboxinit.in
index 9895da9e362e..9574d7d6295e 100644
--- a/emulators/virtualbox-ose-70/files/vboxinit.in
+++ b/emulators/virtualbox-ose-70/files/vboxinit.in
@@ -16,7 +16,7 @@
# vboxinit_stop (str): Default stop cmd for VBoxManage controlvm.
# (default: savestate)
# vboxinit_start_delay (int): Default startup delay in seconds.
-# (default: 0)
+# (default: 1)
# vboxinit_stop_delay (int): Default shutdown delay in seconds.
# (default: 0)
#
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e790f372f95f..204f6525ba77 100644
--- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,5 +1,5 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2022-10-06 19:03:06.000000000 +0200
-+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2024-12-26 15:28:38.066230000 +0100
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-10-16 14:25:28 UTC
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -55,6 +55,7 @@
#include <sys/uio.h>
#include <sys/bus.h>
@@ -16,7 +16,7 @@
#include <iprt/initterm.h>
#include <iprt/process.h>
#include <iprt/string.h>
-@@ -112,8 +114,6 @@
+@@ -112,8 +114,6 @@ struct VBoxGuestDeviceState
struct resource *pIrqRes;
/** Pointer to the IRQ handler. */
void *pfnIrqHandler;
@@ -25,7 +25,7 @@
};
-@@ -123,8 +123,7 @@
+@@ -123,8 +123,7 @@ struct VBoxGuestDeviceState
/*
* Character device file handlers.
*/
@@ -35,7 +35,7 @@
static d_ioctl_t vgdrvFreeBSDIOCtl;
static int vgdrvFreeBSDIOCtlSlow(PVBOXGUESTSESSION pSession, u_long ulCmd, caddr_t pvData, struct thread *pTd);
static d_write_t vgdrvFreeBSDWrite;
-@@ -155,8 +154,7 @@
+@@ -155,8 +154,7 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
{
.d_version = D_VERSION,
.d_flags = D_TRACKCLOSE | D_NEEDMINOR,
@@ -45,7 +45,7 @@
.d_ioctl = vgdrvFreeBSDIOCtl,
.d_read = vgdrvFreeBSDRead,
.d_write = vgdrvFreeBSDWrite,
-@@ -164,81 +162,28 @@
+@@ -164,81 +162,28 @@ static struct cdevsw g_vgdrvFreeBSDChrDevSW =
.d_name = "vboxguest"
};
@@ -134,7 +134,7 @@
{
int rc;
PVBOXGUESTSESSION pSession;
-@@ -250,12 +195,6 @@
+@@ -250,12 +195,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
LogFlow(("vgdrvFreeBSDOpen:\n"));
/*
@@ -147,7 +147,7 @@
* Create a new session.
*/
fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
-@@ -272,47 +211,20 @@
+@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
if (RT_SUCCESS(rc))
{
@@ -168,10 +168,10 @@
}
LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
- return RTErrConvertToErrno(rc);
+@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
}
--/**
+ /**
- * File close handler
- *
- */
@@ -179,7 +179,7 @@
-{
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
-
+-
- /*
- * Close the session if it's still hanging on to the device...
- */
@@ -198,10 +198,11 @@
-}
-
-
- /**
+-/**
* I/O control request.
*
-@@ -326,8 +238,12 @@
+ * @returns depends...
+@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
PVBOXGUESTSESSION pSession;
@@ -215,20 +216,25 @@
/*
* Deal with the fast ioctl path first.
*/
-@@ -526,8 +442,10 @@
+@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
+
+ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td)
+ {
+- int fEventsProcessed;
++ PVBOXGUESTSESSION pSession;
++ int fEventsProcessed, rc;
LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) {
-+
+ rc = devfs_get_cdevpriv((void **)&pSession);
+ if (rc)
-+ {
++ {
Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -568,11 +486,8 @@
+@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
/*
* Reverse what we did in vgdrvFreeBSDAttach.
*/
@@ -241,7 +247,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
if (pState->pVMMDevMemRes)
-@@ -737,18 +652,21 @@
+@@ -738,18 +652,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
VGDrvCommonProcessOptionsFromHost(&g_DevExt);
/*
@@ -269,7 +275,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
-@@ -792,8 +710,12 @@
+@@ -793,8 +710,12 @@ static driver_t vgdrvFreeBSDDriver =
sizeof(struct VBoxGuestDeviceState),
};
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 476346a59b13..37c1596cfe87 100644
--- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -1,15 +1,17 @@
---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2019-04-16 10:09:09 UTC
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC
+++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
-@@ -25,7 +25,7 @@
+@@ -34,9 +34,8 @@ KMOD = vboxguest
+ # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
#
KMOD = vboxguest
-
--CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-
.if (${MACHINE_ARCH} == "i386")
CFLAGS += -DRT_ARCH_X86
-@@ -80,6 +80,7 @@ SRCS += \
+ .elif (${MACHINE_ARCH} == "amd64")
+@@ -91,6 +90,7 @@ SRCS += \
handletable.c \
handletablectx.c \
once.c \
@@ -17,7 +19,7 @@
thread.c
.PATH: ${.CURDIR}/common/string
-@@ -147,6 +148,7 @@ SRCS += \
+@@ -163,6 +163,7 @@ SRCS += \
.PATH: ${.CURDIR}/r0drv
SRCS += \
@@ -25,3 +27,12 @@
alloc-r0drv.c \
initterm-r0drv.c \
memobj-r0drv.c \
+@@ -196,7 +197,7 @@ SRCS += \
+ SRCS += \
+ log-vbox.c \
+ logbackdoor.c \
+- RTLogWriteVmm-amd64-x86.
++ RTLogWriteVmm-amd64-x86.c
+
+ .include <bsd.kmod.mk>
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 270472c045e3..796aecabac8f 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC
+++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
@@ -0,0 +1,28 @@
+# $Id: Makefile.kmk $
@@ -18,7 +18,7 @@
+CFLAGS+=-I$(MOUNT)
+
+PROGRAMS += mount_vboxvfs
-+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe
+mount_vboxvfs_SOURCES = mount_vboxvfs.c
+
+ifdef HAVE_MNTOPTS_IN_LIBUTIL
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..679778e60181
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
@@ -0,0 +1,50 @@
+--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk
+@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \
+ $(vboxvfs_0_OUTDIR)
+ vboxvfs_SOURCES = \
+ vboxvfs_vfsops.c \
+- vboxvfs_vnops.c
++ bcmp.c \
++ vboxvfs_vnops.c \
++ vboxvfs_prov.c
+ vboxvfs_LIBS = \
+ $(VBOX_LIB_VBGL_R0) \
+ $(VBOX_LIB_IPRT_GUEST_R0)
+ vboxvfs_DEPS = \
+- $$(vboxvfs_0_OUTDIR)/vnode_if.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(vboxvfs_0_OUTDIR)/vnode_if.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+ vboxvfs_CLEAN += $(vboxvfs_DEPS)
+
+ VBOX_AWK := /usr/bin/awk
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR):
++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR)
++
++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+
+ include $(FILE_KBUILD_SUB_FOOTER)
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
index afb19c804d7a..2d0377fb3e40 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2019-01-25 18:24:30 UTC
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC
+++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
-@@ -227,10 +227,22 @@ endif # neq ($(KBUILD_TARGET),linux)
+@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
ifdef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -10,7 +10,7 @@
- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
+ ifeq ($(KBUILD_TARGET),freebsd)
+ DLLS += vboxmouse_drv_system
-+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod
+ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_system_INCS := \
+ /usr/local/include/pixman-1 \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
new file mode 100644
index 000000000000..38ef1ac68f9e
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
@@ -0,0 +1,15 @@
+--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC
++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
+ vboxvideo_drv_system_INCS += \
+ $(PATH_ROOT)/src/VBox/Runtime/include \
+ $(VBOX_GRAPHICS_INCS) \
+- /usr/include/xorg \
+- /usr/include/pixman-1
++ /usr/local/include/xorg \
++ /usr/local/include/pixman-1
+ vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES)
++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS)
+ endif
+
+
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
new file mode 100644
index 000000000000..f8fe5b1a7ba3
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
@@ -0,0 +1,24 @@
+--- src/VBox/Runtime/common/misc/handletablectx.cpp.orig 2025-10-16 14:35:39 UTC
++++ src/VBox/Runtime/common/misc/handletablectx.cpp
+@@ -48,7 +48,9 @@
+ #include <iprt/param.h>
+ #include <iprt/string.h>
+ #include <iprt/asm.h>
++#ifndef IN_GUEST
+ #include <iprt/system.h>
++#endif
+ #include "internal/magics.h"
+ #include "handletable.h"
+
+@@ -118,7 +120,11 @@ RTDECL(int) RTHandleTableAllocWithCtx(RTHANDLETABL
+ */
+ uint32_t const iLevel1 = pThis->cCur / RTHT_LEVEL2_ENTRIES;
+ uint32_t cLevel1 = iLevel1 >= pThis->cLevel1
++#ifndef IN_GUEST
+ ? pThis->cLevel1 + RTSystemGetPageSize() / sizeof(void *)
++#else
++ ? pThis->cLevel1 + PAGE_SIZE / sizeof(void *)
++#endif
+ : 0;
+ if (cLevel1 > pThis->cMax / RTHT_LEVEL2_ENTRIES)
+ cLevel1 = pThis->cMax / RTHT_LEVEL2_ENTRIES;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index 4c0ed355709c..2ae9e1f34147 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -1,4 +1,4 @@
---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-10-16 14:35:51 UTC
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
@@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
@@ -11,16 +11,26 @@
switch (pMemFreeBSD->Core.enmType)
{
-@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -156,9 +158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_LOCK:
{
- vm_map_t pMap = kernel_map;
-
- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
+- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) {
pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
-@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ rc = vm_map_unwire(pMap,
+@@ -166,6 +166,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb,
+ VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x", rc));
++ }
+ break;
+ }
+
+@@ -198,6 +199,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_PHYS_NC:
{
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -28,7 +38,7 @@
vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
#if __FreeBSD_version < 1000000
vm_page_lock_queues();
-@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -211,6 +213,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
#if __FreeBSD_version < 1000000
vm_page_unlock_queues();
#endif
@@ -43,7 +53,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
vm_object_deallocate(pMemFreeBSD->pObject);
break;
-@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -221,6 +231,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
return VERR_INTERNAL_ERROR;
}
@@ -51,7 +61,7 @@
return VINF_SUCCESS;
}
-@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+@@ -330,7 +341,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
size_t cPages = atop(pMemFreeBSD->Core.cb);
int rc;
@@ -61,7 +71,7 @@
/* No additional object reference for auto-deallocation upon unmapping. */
#if __FreeBSD_version >= 1000055
-@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -372,6 +384,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -69,7 +79,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -381,8 +394,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -80,7 +90,7 @@
return VERR_NO_MEMORY;
}
-@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -396,6 +411,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -88,7 +98,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag);
if (pMemFreeBSD)
{
-@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -404,8 +420,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -99,7 +109,7 @@
return VERR_NO_MEMORY;
}
-@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -413,6 +431,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest,
bool fExecutable, const char *pszTag)
{
@@ -107,7 +117,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -425,8 +444,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
}
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -118,7 +128,7 @@
return VERR_NO_MEMORY;
}
-@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -434,6 +455,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest,
size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag)
{
@@ -126,7 +136,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -441,7 +463,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
u_long const cPages = atop(cb);
@@ -136,7 +146,7 @@
int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
uAlignment, fContiguous, true, rcNoMem);
-@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -451,7 +474,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
{
Assert(enmType == RTR0MEMOBJTYPE_PHYS);
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -145,7 +155,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
pMemFreeBSD->Core.u.Phys.fAllocated = true;
}
-@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -464,8 +487,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_object_deallocate(pMemFreeBSD->pObject);
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
@@ -156,7 +166,7 @@
return VERR_NO_MEMORY;
}
-@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -488,6 +513,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
const char *pszTag)
{
AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
@@ -164,7 +174,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
-@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -499,8 +525,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
*ppMem = &pMemFreeBSD->Core;
@@ -175,7 +185,7 @@
return VERR_NO_MEMORY;
}
-@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -512,6 +540,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
RTR0PROCESS R0Process, int fFlags, const char *pszTag)
{
@@ -183,7 +193,7 @@
int rc;
NOREF(fAccess);
-@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -521,21 +550,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
if (!pMemFreeBSD)
return VERR_NO_MEMORY;
@@ -220,7 +230,7 @@
return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
}
-@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -575,6 +611,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment,
RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag)
{
@@ -228,7 +238,7 @@
int rc;
/*
-@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -633,11 +670,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
pMemFreeBSD->Core.pv = (void *)MapAddress;
pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
*ppMem = &pMemFreeBSD->Core;
@@ -242,7 +252,7 @@
return rc;
}
-@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -661,6 +700,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment,
unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -251,7 +261,7 @@
// AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
-@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -715,6 +756,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
*ppMem = &pMemFreeBSD->Core;
@@ -259,7 +269,7 @@
return VINF_SUCCESS;
}
rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
-@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -723,6 +765,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
else
vm_object_deallocate(pMemToMapFreeBSD->pObject);
@@ -267,7 +277,7 @@
return VERR_NO_MEMORY;
}
-@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -730,6 +773,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment,
unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -276,7 +286,7 @@
/*
* Check for unsupported stuff.
*/
-@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -787,44 +832,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
if (rc == KERN_SUCCESS)
{
@@ -331,7 +341,7 @@
if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
ProtectionFlags = VM_PROT_NONE;
-@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+@@ -835,7 +886,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
ProtectionFlags |= VM_PROT_EXECUTE;
@@ -344,7 +354,7 @@
if (krc == KERN_SUCCESS)
return VINF_SUCCESS;
-@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -860,11 +916,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
@@ -368,7 +378,7 @@
}
case RTR0MEMOBJTYPE_MAPPING:
-@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -873,11 +937,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
{
@@ -385,7 +395,7 @@
}
return vtophys(pb);
}
-@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -888,9 +956,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
{
RTHCPHYS addr;
@@ -397,7 +407,7 @@
return addr;
}
-@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
+@@ -910,7 +980,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem)
{
PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem;
diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index 5344a7ab812f..204f6525ba77 100644
--- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,4 +1,4 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-08-13 19:41:14 UTC
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2025-10-16 14:25:28 UTC
+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
@@ -55,6 +55,7 @@
#include <sys/uio.h>
@@ -147,7 +147,7 @@
* Create a new session.
*/
fRequestor = VMMDEV_REQUESTOR_USERMODE | VMMDEV_REQUESTOR_TRUST_NOT_GIVEN;
-@@ -272,47 +211,20 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
+@@ -272,14 +211,13 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
rc = VGDrvCommonCreateUserSession(&g_DevExt, fRequestor, &pSession);
if (RT_SUCCESS(rc))
{
@@ -168,10 +168,10 @@
}
LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
- return RTErrConvertToErrno(rc);
+@@ -287,33 +225,6 @@ static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOp
}
--/**
+ /**
- * File close handler
- *
- */
@@ -179,7 +179,7 @@
-{
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
-
+-
- /*
- * Close the session if it's still hanging on to the device...
- */
@@ -198,10 +198,11 @@
-}
-
-
- /**
+-/**
* I/O control request.
*
-@@ -326,8 +238,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
+ * @returns depends...
+@@ -326,8 +237,12 @@ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long
static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
PVBOXGUESTSESSION pSession;
@@ -215,20 +216,25 @@
/*
* Deal with the fast ioctl path first.
*/
-@@ -526,8 +442,10 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
+@@ -522,12 +437,14 @@ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEv
+
+ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td)
+ {
+- int fEventsProcessed;
++ PVBOXGUESTSESSION pSession;
++ int fEventsProcessed, rc;
LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- if (RT_UNLIKELY(!RT_VALID_PTR(pSession))) {
-+
+ rc = devfs_get_cdevpriv((void **)&pSession);
+ if (rc)
-+ {
++ {
Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -568,11 +486,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
+@@ -568,11 +485,8 @@ static int vgdrvFreeBSDDetach(device_t pDevice)
/*
* Reverse what we did in vgdrvFreeBSDAttach.
*/
@@ -241,7 +247,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
if (pState->pVMMDevMemRes)
-@@ -738,18 +653,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
+@@ -738,18 +652,21 @@ static int vgdrvFreeBSDAttach(device_t pDevice)
VGDrvCommonProcessOptionsFromHost(&g_DevExt);
/*
@@ -269,7 +275,7 @@
vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
-@@ -793,8 +711,12 @@ static driver_t vgdrvFreeBSDDriver =
+@@ -793,8 +710,12 @@ static driver_t vgdrvFreeBSDDriver =
sizeof(struct VBoxGuestDeviceState),
};
diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 1430dbb721fb..37c1596cfe87 100644
--- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -1,15 +1,17 @@
---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-08-13 19:41:14 UTC
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC
+++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile
-@@ -35,7 +35,7 @@ KMOD = vboxguest
+@@ -34,9 +34,8 @@ KMOD = vboxguest
+ # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
#
KMOD = vboxguest
-
--CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS
+-
.if (${MACHINE_ARCH} == "i386")
CFLAGS += -DRT_ARCH_X86
-@@ -91,6 +91,7 @@ SRCS += \
+ .elif (${MACHINE_ARCH} == "amd64")
+@@ -91,6 +90,7 @@ SRCS += \
handletable.c \
handletablectx.c \
once.c \
@@ -17,7 +19,7 @@
thread.c
.PATH: ${.CURDIR}/common/string
-@@ -163,6 +164,7 @@ SRCS += \
+@@ -163,6 +163,7 @@ SRCS += \
.PATH: ${.CURDIR}/r0drv
SRCS += \
@@ -25,3 +27,12 @@
alloc-r0drv.c \
initterm-r0drv.c \
memobj-r0drv.c \
+@@ -196,7 +197,7 @@ SRCS += \
+ SRCS += \
+ log-vbox.c \
+ logbackdoor.c \
+- RTLogWriteVmm-amd64-x86.
++ RTLogWriteVmm-amd64-x86.c
+
+ .include <bsd.kmod.mk>
+
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 270472c045e3..796aecabac8f 100644
--- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-10-24 13:49:31 UTC
+++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
@@ -0,0 +1,28 @@
+# $Id: Makefile.kmk $
@@ -18,7 +18,7 @@
+CFLAGS+=-I$(MOUNT)
+
+PROGRAMS += mount_vboxvfs
-+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
++mount_vboxvfs_TEMPLATE = VBoxGuestR3Exe
+mount_vboxvfs_SOURCES = mount_vboxvfs.c
+
+ifdef HAVE_MNTOPTS_IN_LIBUTIL
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
new file mode 100644
index 000000000000..679778e60181
--- /dev/null
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
@@ -0,0 +1,50 @@
+--- src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk.orig 2025-10-22 19:18:12 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/Makefile.kmk
+@@ -43,32 +43,37 @@ vboxvfs_SOURCES = \
+ $(vboxvfs_0_OUTDIR)
+ vboxvfs_SOURCES = \
+ vboxvfs_vfsops.c \
+- vboxvfs_vnops.c
++ bcmp.c \
++ vboxvfs_vnops.c \
++ vboxvfs_prov.c
+ vboxvfs_LIBS = \
+ $(VBOX_LIB_VBGL_R0) \
+ $(VBOX_LIB_IPRT_GUEST_R0)
+ vboxvfs_DEPS = \
+- $$(vboxvfs_0_OUTDIR)/vnode_if.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
+- $$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(vboxvfs_0_OUTDIR)/vnode_if.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h \
++ $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+ vboxvfs_CLEAN += $(vboxvfs_DEPS)
+
+ VBOX_AWK := /usr/bin/awk
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR):
++ $(QUIET)$(MKDIR) -p $(vboxvfs_0_OUTDIR)
++
++$$(vboxvfs_0_OUTDIR)/vnode_if.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -h
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
++ $(QUIET)$(MV) vnode_if.h $(vboxvfs_0_OUTDIR)/vnode_if.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_newproto.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -p
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
++ $(QUIET)$(MV) vnode_if_newproto.h $(vboxvfs_0_OUTDIR)/vnode_if_newproto.h
+
+-$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
++$$(vboxvfs_0_OUTDIR)/vnode_if_typedef.h: $$(vboxvfs_0_OUTDIR) $(VBOX_FREEBSD_SRC)/kern/vnode_if.src
+ $(call MSG_TOOL,awk,VBoxGuest,$<,$@)
+ $(QUIET)$(VBOX_AWK) -f $(VBOX_FREEBSD_SRC)/tools/vnode_if.awk $(VBOX_FREEBSD_SRC)/kern/vnode_if.src -q
+- $(QUIET)$(MV) $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
++ $(QUIET)$(MV) vnode_if_typedef.h $(vboxvfs_0_OUTDIR)/vnode_if_typedef.h
+
+ include $(FILE_KBUILD_SUB_FOOTER)
+
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
index bd5e626ecea2..2d0377fb3e40 100644
--- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxmouse_Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-08-13 19:41:22 UTC
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2025-10-16 14:25:37 UTC
+++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
@@ -237,10 +237,22 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
@@ -10,7 +10,7 @@
- SYSMODS := $(filter-out vboxmouse_drv%,$(SYSMODS))
+ ifeq ($(KBUILD_TARGET),freebsd)
+ DLLS += vboxmouse_drv_system
-+ vboxmouse_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
++ vboxmouse_drv_system_TEMPLATE = VBoxGuestR3XOrgMod
+ vboxmouse_drv_system_DEFS := $(vboxmouse_drv_70_DEFS) NO_ANSIC
+ vboxmouse_drv_system_INCS := \
+ /usr/local/include/pixman-1 \
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
new file mode 100644
index 000000000000..38ef1ac68f9e
--- /dev/null
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_x11_vboxvideo_Makefile.kmk
@@ -0,0 +1,15 @@
+--- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2025-10-22 19:22:45 UTC
++++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+@@ -415,9 +415,10 @@ ifdef VBOX_USE_SYSTEM_XORG_HEADERS
+ vboxvideo_drv_system_INCS += \
+ $(PATH_ROOT)/src/VBox/Runtime/include \
+ $(VBOX_GRAPHICS_INCS) \
+- /usr/include/xorg \
+- /usr/include/pixman-1
++ /usr/local/include/xorg \
++ /usr/local/include/pixman-1
+ vboxvideo_drv_system_SOURCES := $(vboxvideo_drv_17_SOURCES)
++ vboxvideo_drv_system_LIBS += $(vboxvideo_drv_70_LIBS)
+ endif
+
+
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
new file mode 100644
index 000000000000..f8fe5b1a7ba3
--- /dev/null
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_common_misc_handletablectx.cpp
@@ -0,0 +1,24 @@
+--- src/VBox/Runtime/common/misc/handletablectx.cpp.orig 2025-10-16 14:35:39 UTC
++++ src/VBox/Runtime/common/misc/handletablectx.cpp
+@@ -48,7 +48,9 @@
+ #include <iprt/param.h>
+ #include <iprt/string.h>
+ #include <iprt/asm.h>
++#ifndef IN_GUEST
+ #include <iprt/system.h>
++#endif
+ #include "internal/magics.h"
+ #include "handletable.h"
+
+@@ -118,7 +120,11 @@ RTDECL(int) RTHandleTableAllocWithCtx(RTHANDLETABL
+ */
+ uint32_t const iLevel1 = pThis->cCur / RTHT_LEVEL2_ENTRIES;
+ uint32_t cLevel1 = iLevel1 >= pThis->cLevel1
++#ifndef IN_GUEST
+ ? pThis->cLevel1 + RTSystemGetPageSize() / sizeof(void *)
++#else
++ ? pThis->cLevel1 + PAGE_SIZE / sizeof(void *)
++#endif
+ : 0;
+ if (cLevel1 > pThis->cMax / RTHT_LEVEL2_ENTRIES)
+ cLevel1 = pThis->cMax / RTHT_LEVEL2_ENTRIES;
diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index 4c0ed355709c..2ae9e1f34147 100644
--- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -1,4 +1,4 @@
---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-04-14 17:59:13 UTC
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2025-10-16 14:35:51 UTC
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
@@ -140,8 +140,10 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
@@ -11,16 +11,26 @@
switch (pMemFreeBSD->Core.enmType)
{
-@@ -156,8 +158,6 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -156,9 +158,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_LOCK:
{
- vm_map_t pMap = kernel_map;
-
- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
+- if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS)
++ if (pMemFreeBSD->Core.u.Lock.R0Process != NIL_RTR0PROCESS) {
pMap = &((struct proc *)pMemFreeBSD->Core.u.Lock.R0Process)->p_vmspace->vm_map;
-@@ -198,6 +198,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ rc = vm_map_unwire(pMap,
+@@ -166,6 +166,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+ (vm_offset_t)pMemFreeBSD->Core.pv + pMemFreeBSD->Core.cb,
+ VM_MAP_WIRE_SYSTEM | VM_MAP_WIRE_NOHOLES);
+ AssertMsg(rc == KERN_SUCCESS, ("%#x", rc));
++ }
+ break;
+ }
+
+@@ -198,6 +199,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
case RTR0MEMOBJTYPE_PHYS_NC:
{
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -28,7 +38,7 @@
vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
#if __FreeBSD_version < 1000000
vm_page_lock_queues();
-@@ -211,6 +212,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -211,6 +213,14 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
#if __FreeBSD_version < 1000000
vm_page_unlock_queues();
#endif
@@ -43,7 +53,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
vm_object_deallocate(pMemFreeBSD->pObject);
break;
-@@ -221,6 +230,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
+@@ -221,6 +231,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR0MEMOBJ pMem)
return VERR_INTERNAL_ERROR;
}
@@ -51,7 +61,7 @@
return VINF_SUCCESS;
}
-@@ -330,7 +340,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
+@@ -330,7 +341,8 @@ static int rtR0MemObjFreeBSDAllocHelper(PRTR0MEMOBJFRE
size_t cPages = atop(pMemFreeBSD->Core.cb);
int rc;
@@ -61,7 +71,7 @@
/* No additional object reference for auto-deallocation upon unmapping. */
#if __FreeBSD_version >= 1000055
-@@ -372,6 +383,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -372,6 +384,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -69,7 +79,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PAGE,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -381,8 +393,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
+@@ -381,8 +394,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocPage(PPRTR0MEMOBJ
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -80,7 +90,7 @@
return VERR_NO_MEMORY;
}
-@@ -396,6 +410,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -396,6 +411,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, bool fExecutable, const char *pszTag)
{
@@ -88,7 +98,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_LOW, NULL, cb, pszTag);
if (pMemFreeBSD)
{
-@@ -404,8 +419,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
+@@ -404,8 +420,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocLow(PPRTR0MEMOBJI
*ppMem = &pMemFreeBSD->Core;
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -99,7 +109,7 @@
return VERR_NO_MEMORY;
}
-@@ -413,6 +430,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -413,6 +431,7 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJINTERNAL ppMem, size_t cb, RTHCPHYS PhysHigest,
bool fExecutable, const char *pszTag)
{
@@ -107,7 +117,7 @@
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_CONT,
NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -425,8 +443,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
+@@ -425,8 +444,10 @@ DECLHIDDEN(int) rtR0MemObjNativeAllocCont(PPRTR0MEMOBJ
}
else
rtR0MemObjDelete(&pMemFreeBSD->Core);
@@ -118,7 +128,7 @@
return VERR_NO_MEMORY;
}
-@@ -434,6 +454,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -434,6 +455,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJTYPE enmType, size_t cb, RTHCPHYS PhysHighest,
size_t uAlignment, bool fContiguous, int rcNoMem, const char *pszTag)
{
@@ -126,7 +136,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), enmType, NULL, cb, pszTag);
if (pMemFreeBSD)
-@@ -441,7 +462,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -441,7 +463,8 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_paddr_t const VmPhysAddrHigh = PhysHighest != NIL_RTHCPHYS ? PhysHighest : ~(vm_paddr_t)0;
u_long const cPages = atop(cb);
@@ -136,7 +146,7 @@
int rc = rtR0MemObjFreeBSDPhysAllocHelper(pMemFreeBSD->pObject, cPages, VmPhysAddrHigh,
uAlignment, fContiguous, true, rcNoMem);
-@@ -451,7 +473,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -451,7 +474,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
{
Assert(enmType == RTR0MEMOBJTYPE_PHYS);
VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
@@ -145,7 +155,7 @@
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
pMemFreeBSD->Core.u.Phys.fAllocated = true;
}
-@@ -464,8 +486,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+@@ -464,8 +487,10 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
vm_object_deallocate(pMemFreeBSD->pObject);
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
@@ -156,7 +166,7 @@
return VERR_NO_MEMORY;
}
-@@ -488,6 +512,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -488,6 +513,7 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
const char *pszTag)
{
AssertReturn(uCachePolicy == RTMEM_CACHE_POLICY_DONT_CARE, VERR_NOT_SUPPORTED);
@@ -164,7 +174,7 @@
/* create the object. */
PRTR0MEMOBJFREEBSD pMemFreeBSD = (PRTR0MEMOBJFREEBSD)rtR0MemObjNew(sizeof(*pMemFreeBSD), RTR0MEMOBJTYPE_PHYS,
-@@ -499,8 +524,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
+@@ -499,8 +525,10 @@ DECLHIDDEN(int) rtR0MemObjNativeEnterPhys(PPRTR0MEMOBJ
pMemFreeBSD->Core.u.Phys.PhysBase = Phys;
pMemFreeBSD->Core.u.Phys.uCachePolicy = uCachePolicy;
*ppMem = &pMemFreeBSD->Core;
@@ -175,7 +185,7 @@
return VERR_NO_MEMORY;
}
-@@ -512,6 +539,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -512,6 +540,7 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
vm_offset_t AddrStart, size_t cb, uint32_t fAccess,
RTR0PROCESS R0Process, int fFlags, const char *pszTag)
{
@@ -183,7 +193,7 @@
int rc;
NOREF(fAccess);
-@@ -521,21 +549,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
+@@ -521,21 +550,28 @@ static int rtR0MemObjNativeLockInMap(PPRTR0MEMOBJINTER
if (!pMemFreeBSD)
return VERR_NO_MEMORY;
@@ -220,7 +230,7 @@
return VERR_NO_MEMORY;/** @todo fix mach -> vbox error conversion for freebsd. */
}
-@@ -575,6 +610,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -575,6 +611,7 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJINTERNAL ppMem, void *pvFixed, size_t cb, size_t uAlignment,
RTR0PROCESS R0Process, vm_map_t pMap, const char *pszTag)
{
@@ -228,7 +238,7 @@
int rc;
/*
-@@ -633,11 +669,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
+@@ -633,11 +670,13 @@ static int rtR0MemObjNativeReserveInMap(PPRTR0MEMOBJIN
pMemFreeBSD->Core.pv = (void *)MapAddress;
pMemFreeBSD->Core.u.ResVirt.R0Process = R0Process;
*ppMem = &pMemFreeBSD->Core;
@@ -242,7 +252,7 @@
return rc;
}
-@@ -661,6 +699,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -661,6 +700,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, void *pvFixed, size_t uAlignment,
unsigned fProt, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -251,7 +261,7 @@
// AssertMsgReturn(!offSub && !cbSub, ("%#x %#x\n", offSub, cbSub), VERR_NOT_SUPPORTED);
AssertMsgReturn(pvFixed == (void *)-1, ("%p\n", pvFixed), VERR_NOT_SUPPORTED);
-@@ -715,6 +755,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -715,6 +756,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
Assert((vm_offset_t)pMemFreeBSD->Core.pv == Addr);
pMemFreeBSD->Core.u.Mapping.R0Process = NIL_RTR0PROCESS;
*ppMem = &pMemFreeBSD->Core;
@@ -259,7 +269,7 @@
return VINF_SUCCESS;
}
rc = vm_map_remove(kernel_map, Addr, Addr + cbSub);
-@@ -723,6 +764,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
+@@ -723,6 +765,7 @@ DECLHIDDEN(int) rtR0MemObjNativeMapKernel(PPRTR0MEMOBJ
else
vm_object_deallocate(pMemToMapFreeBSD->pObject);
@@ -267,7 +277,7 @@
return VERR_NO_MEMORY;
}
-@@ -730,6 +772,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -730,6 +773,8 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJINTERNAL ppMem, RTR0MEMOBJ pMemToMap, RTR3PTR R3PtrFixed, size_t uAlignment,
unsigned fProt, RTR0PROCESS R0Process, size_t offSub, size_t cbSub, const char *pszTag)
{
@@ -276,7 +286,7 @@
/*
* Check for unsupported stuff.
*/
-@@ -787,44 +831,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
+@@ -787,44 +832,50 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(PPRTR0MEMOBJIN
if (rc == KERN_SUCCESS)
{
@@ -331,7 +341,7 @@
if ((fProt & RTMEM_PROT_NONE) == RTMEM_PROT_NONE)
ProtectionFlags = VM_PROT_NONE;
-@@ -835,7 +885,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
+@@ -835,7 +886,12 @@ DECLHIDDEN(int) rtR0MemObjNativeProtect(PRTR0MEMOBJINT
if ((fProt & RTMEM_PROT_EXEC) == RTMEM_PROT_EXEC)
ProtectionFlags |= VM_PROT_EXECUTE;
@@ -344,7 +354,7 @@
if (krc == KERN_SUCCESS)
return VINF_SUCCESS;
-@@ -860,11 +915,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -860,11 +916,19 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
vm_offset_t pb = (vm_offset_t)pMemFreeBSD->Core.pv + ptoa(iPage);
@@ -368,7 +378,7 @@
}
case RTR0MEMOBJTYPE_MAPPING:
-@@ -873,11 +936,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -873,11 +937,15 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
if (pMemFreeBSD->Core.u.Mapping.R0Process != NIL_RTR0PROCESS)
{
@@ -385,7 +395,7 @@
}
return vtophys(pb);
}
-@@ -888,9 +955,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
+@@ -888,9 +956,11 @@ DECLHIDDEN(RTHCPHYS) rtR0MemObjNativeGetPagePhysAddr(P
{
RTHCPHYS addr;
@@ -397,7 +407,7 @@
return addr;
}
-@@ -910,7 +979,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
+@@ -910,7 +980,7 @@ DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping
DECLHIDDEN(int) rtR0MemObjNativeZeroInitWithoutMapping(PRTR0MEMOBJINTERNAL pMem)
{
PRTR0MEMOBJFREEBSD const pMemFreeBsd = (PRTR0MEMOBJFREEBSD)pMem;
diff --git a/emulators/virtualbox-ose-additions-70/Makefile b/emulators/virtualbox-ose-additions-70/Makefile
new file mode 100644
index 000000000000..855c3f405b8e
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/Makefile
@@ -0,0 +1,174 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.0.26
+PORTREVISION?= 0
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
+PKGNAMESUFFIX?= -additions-70
+DISTNAME= VirtualBox-${DISTVERSION}
+
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= VirtualBox additions for FreeBSD guests
+WWW= https://www.virtualbox.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+
+BUILD_DEPENDS= yasm:devel/yasm \
+ kmk:devel/kBuild \
+ xsltproc:textproc/libxslt
+
+USES= compiler:c++14-lang cpe iconv kmod tar:bzip2
+CPE_VENDOR= oracle
+CPE_PRODUCT= vm_virtualbox
+USE_RC_SUBR= vboxguest vboxservice
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS+= --disable-alsa \
+ --disable-docs \
+ --disable-libvpx \
+ --disable-opengl \
+ --disable-pulse \
+ --disable-python \
+ --disable-sdl-ttf \
+ --disable-xpcom
+CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
+
+MAKE_JOBS_UNSAFE= yes
+
+CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \
+ virtualbox-ose-additions-nox11-legacy \
+ virtualbox-ose-additions \
+ virtualbox-ose-additions-nox11 \
+ virtualbox-ose-additions-71 \
+ virtualbox-ose-additions-nox11-71 \
+ virtualbox-ose-additions-72 \
+ virtualbox-ose-additions-nox11-72
+
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-70/files
+EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
+PORTSCOUT= limit:^7\.0\.
+
+WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
+
+OPTIONS_DEFINE= DBUS DEBUG X11
+OPTIONS_DEFAULT= DBUS X11
+OPTIONS_SUB= yes
+
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_CONFIGURE_OFF= --disable-dbus
+DEBUG_CONFIGURE_ON= --build-debug
+DEBUG_VARS= KMK_BUILDTYPE=debug
+DEBUG_VARS_OFF= KMK_BUILDTYPE=release
+X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server
+X11_RUN_DEPENDS= xrandr:x11/xrandr
+X11_USES= pkgconfig xorg
+X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt
+X11_VARS= VBOX_WITH_X11=1
+
+.include <bsd.port.options.mk>
+
+.if ${SLAVE_PORT} == no
+CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-70
+.else
+CONFLICTS_INSTALL+= virtualbox-ose-additions-70
+.endif
+
+VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
+INPUTDIR= ${PREFIX}/lib/xorg/modules/input
+
+VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions
+VBOX_SBINS= VBoxControl \
+ VBoxService \
+ mount_vboxvfs
+
+BUILD_WRKSRC= ${VBOX_BIN}/src
+
+KMK_ARCH= freebsd.${ARCH:S/i386/x86/}
+KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1
+
+.if ${PORT_OPTIONS:MX11}
+.else
+VBOX_WITH_X11=
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.if ${COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
+ -e 's| -fno-merge-constants||' \
+ -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
+.endif
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+ @${REINPLACE_CMD} \
+ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
+ ${WRKSRC}/configure
+.if empty(ICONV_LIB)
+ @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
+ @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${OSVERSION} >= 1500038
+ @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.endif
+
+post-patch-X11-on:
+ @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+
+pre-build:
+ cd ${WRKSRC} && ${SH} -c \
+ ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk"
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \
+ ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib
+ ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \
+ ${STAGEDIR}${PREFIX}/sbin/
+
+do-install-X11-on:
+ ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_SCRIPT} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${STAGEDIR}${PREFIX}/bin/VBoxClient-all
+ # X11 autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ # KDE autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/share/autostart/
+ ${MKDIR} ${STAGEDIR}${VIDEODIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \
+ ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so
+ ${MKDIR} ${STAGEDIR}${INPUTDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \
+ ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-additions-70/distinfo b/emulators/virtualbox-ose-additions-70/distinfo
new file mode 100644
index 000000000000..644d77cfbd21
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1745631388
+SHA256 (VirtualBox-7.0.26.tar.bz2) = 8a6a83dd09e65a4aff85ba0df6bb1ba22c22f7f0923d86e4b130813d4a28c5db
+SIZE (VirtualBox-7.0.26.tar.bz2) = 174650718
diff --git a/emulators/virtualbox-ose-additions-70/files/vboxguest.in b/emulators/virtualbox-ose-additions-70/files/vboxguest.in
new file mode 100644
index 000000000000..707fedf94a88
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/files/vboxguest.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# PROVIDE: vboxguest
+# REQUIRE: FILESYSTEMS
+# BEFORE: netif
+# KEYWORD: nojail
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# vboxguest_enable (bool): Set to NO by default.
+# Set it to YES to enable vboxguest on startup
+
+. /etc/rc.subr
+
+name="vboxguest"
+rcvar=vboxguest_enable
+start_cmd="vboxguest_start"
+stop_cmd="vboxguest_stop"
+
+vboxguest_modules="vboxguest:pci/vboxguest"
+
+vboxguest_start()
+{
+ local _k _m
+
+ for _m in ${vboxguest_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+vboxguest_stop()
+{
+ local _k _m _r
+
+ _r=
+ for _m in ${vboxguest_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+load_rc_config $name
+
+: ${vboxguest_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-70/files/vboxservice.in b/emulators/virtualbox-ose-additions-70/files/vboxservice.in
new file mode 100644
index 000000000000..2a46dbc188ef
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/files/vboxservice.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# PROVIDE: vboxservice
+# REQUIRE: DAEMON vboxguest
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Define vboxservice_enable in /etc/rc.conf[.local] to enable it.
+#
+# vboxservice_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable VBoxService.
+
+. /etc/rc.subr
+
+name="vboxservice"
+rcvar=vboxservice_enable
+command="%%PREFIX%%/sbin/VBoxService"
+
+load_rc_config $name
+
+: ${vboxservice_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf
new file mode 100644
index 000000000000..dd6626429703
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/files/vboxvideo.conf
@@ -0,0 +1,5 @@
+libEGL.so.1 VBoxEGL.so
+libGL.so.1 VBoxOGL.so
+
+[libglx.so]
+libGL.so.1 libGL.so.1
diff --git a/emulators/virtualbox-ose-additions-70/pkg-descr b/emulators/virtualbox-ose-additions-70/pkg-descr
new file mode 100644
index 000000000000..d06e1a04878c
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/pkg-descr
@@ -0,0 +1,6 @@
+VirtualBox Guest Additions provide closer integration between host and
+guest, and improve the performance of guest systems.
+
+This FreeBSD provided package can be installed in FreeBSD guest machines.
+
+Additions are not intended for use on Host machines.
diff --git a/emulators/virtualbox-ose-additions-70/pkg-message b/emulators/virtualbox-ose-additions-70/pkg-message
new file mode 100644
index 000000000000..9b858849abdb
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/pkg-message
@@ -0,0 +1,36 @@
+[
+{ type: install
+ message: <<EOM
+VirtualBox Guest Additions are installed.
+
+To enable and start the required services:
+
+# sysrc vboxguest_enable="YES"
+# sysrc vboxservice_enable="YES"
+
+To start the services, restart the system.
+
+In some situations, a panic will occur when the kernel module loads.
+Having no more than one virtual CPU might mitigate the issue.
+
+For features such as window scaling and clipboard sharing, membership of
+the wheel group is required. With username "jerry" as an example:
+
+# pw groupmod wheel -m jerry
+
+The settings dialogue for FreeBSD guests encourages use of the VMSVGA
+graphics controller. Whilst this might suit installations of FreeBSD
+without a desktop environment (a common use case), it is not appropriate
+where Guest Additions are installed.
+
+Where Guest Additions are installed:
+
+1. prefer VBoxSVGA
+
+2. do not enable 3D acceleration (doing so will invisibly
+ lose the preference for VBoxSVGA)
+
+You may ignore the yellow alert that encourages use of VMSVGA.
+EOM
+}
+]
diff --git a/emulators/virtualbox-ose-additions-70/pkg-plist b/emulators/virtualbox-ose-additions-70/pkg-plist
new file mode 100644
index 000000000000..dac84dc22bcc
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-70/pkg-plist
@@ -0,0 +1,12 @@
+%%X11%%bin/VBoxClient
+%%X11%%bin/VBoxClient-all
+%%X11%%etc/xdg/autostart/vboxclient.desktop
+lib/pam_vbox.so
+%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so
+%%X11%%lib/xorg/modules/input/vboxmouse_drv.so
+sbin/VBoxControl
+sbin/VBoxService
+sbin/mount_vboxvfs
+%%X11%%share/autostart/vboxclient.desktop
+/%%KMODDIR%%/vboxguest.ko
+/%%KMODDIR%%/vboxvfs.ko
diff --git a/emulators/virtualbox-ose-additions-71/Makefile b/emulators/virtualbox-ose-additions-71/Makefile
new file mode 100644
index 000000000000..3a252cd3362b
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/Makefile
@@ -0,0 +1,174 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.1.14
+PORTREVISION?= 0
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
+PKGNAMESUFFIX?= -additions-71
+DISTNAME= VirtualBox-${DISTVERSION}
+
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= VirtualBox additions for FreeBSD guests
+WWW= https://www.virtualbox.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+
+BUILD_DEPENDS= yasm:devel/yasm \
+ kmk:devel/kBuild \
+ xsltproc:textproc/libxslt
+
+USES= compiler:c++17-lang cpe iconv kmod tar:bzip2
+CPE_VENDOR= oracle
+CPE_PRODUCT= vm_virtualbox
+USE_RC_SUBR= vboxguest vboxservice
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS+= --disable-alsa \
+ --disable-docs \
+ --disable-libvpx \
+ --disable-opengl \
+ --disable-pulse \
+ --disable-python \
+ --disable-sdl-ttf \
+ --disable-xpcom
+CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
+
+MAKE_JOBS_UNSAFE= yes
+
+CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \
+ virtualbox-ose-additions-nox11-legacy \
+ virtualbox-ose-additions \
+ virtualbox-ose-additions-nox11 \
+ virtualbox-ose-additions-70 \
+ virtualbox-ose-additions-nox11-70 \
+ virtualbox-ose-additions-72 \
+ virtualbox-ose-additions-nox11-72
+
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-71/files
+EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
+PORTSCOUT= limit:^7\.1\.
+
+WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
+
+OPTIONS_DEFINE= DBUS DEBUG X11
+OPTIONS_DEFAULT= DBUS X11
+OPTIONS_SUB= yes
+
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_CONFIGURE_OFF= --disable-dbus
+DEBUG_CONFIGURE_ON= --build-debug
+DEBUG_VARS= KMK_BUILDTYPE=debug
+DEBUG_VARS_OFF= KMK_BUILDTYPE=release
+X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server
+X11_RUN_DEPENDS= xrandr:x11/xrandr
+X11_USES= pkgconfig xorg
+X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt
+X11_VARS= VBOX_WITH_X11=1
+
+.include <bsd.port.options.mk>
+
+.if ${SLAVE_PORT} == no
+CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-71
+.else
+CONFLICTS_INSTALL+= virtualbox-ose-additions-71
+.endif
+
+VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
+INPUTDIR= ${PREFIX}/lib/xorg/modules/input
+
+VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions
+VBOX_SBINS= VBoxControl \
+ VBoxService \
+ mount_vboxvfs
+
+BUILD_WRKSRC= ${VBOX_BIN}/src
+
+KMK_ARCH= freebsd.${ARCH:S/i386/x86/}
+KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1
+
+.if ${PORT_OPTIONS:MX11}
+.else
+VBOX_WITH_X11=
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.if ${COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
+ -e 's| -fno-merge-constants||' \
+ -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
+.endif
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+ @${REINPLACE_CMD} \
+ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
+ ${WRKSRC}/configure
+.if empty(ICONV_LIB)
+ @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
+ @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${OSVERSION} >= 1500038
+ @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.endif
+
+post-patch-X11-on:
+ @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+
+pre-build:
+ cd ${WRKSRC} && ${SH} -c \
+ ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk"
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \
+ ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib
+ ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \
+ ${STAGEDIR}${PREFIX}/sbin/
+
+do-install-X11-on:
+ ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_SCRIPT} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${STAGEDIR}${PREFIX}/bin/VBoxClient-all
+ # X11 autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ # KDE autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/share/autostart/
+ ${MKDIR} ${STAGEDIR}${VIDEODIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \
+ ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so
+ ${MKDIR} ${STAGEDIR}${INPUTDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \
+ ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-additions-71/distinfo b/emulators/virtualbox-ose-additions-71/distinfo
new file mode 100644
index 000000000000..904760a18c0f
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761146098
+SHA256 (VirtualBox-7.1.14.tar.bz2) = 6a4eea884cd98049a5357133b718078d8aaae68047836a3f86cd5904336d6218
+SIZE (VirtualBox-7.1.14.tar.bz2) = 216819853
diff --git a/emulators/virtualbox-ose-additions-71/files/vboxguest.in b/emulators/virtualbox-ose-additions-71/files/vboxguest.in
new file mode 100644
index 000000000000..707fedf94a88
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/files/vboxguest.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# PROVIDE: vboxguest
+# REQUIRE: FILESYSTEMS
+# BEFORE: netif
+# KEYWORD: nojail
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# vboxguest_enable (bool): Set to NO by default.
+# Set it to YES to enable vboxguest on startup
+
+. /etc/rc.subr
+
+name="vboxguest"
+rcvar=vboxguest_enable
+start_cmd="vboxguest_start"
+stop_cmd="vboxguest_stop"
+
+vboxguest_modules="vboxguest:pci/vboxguest"
+
+vboxguest_start()
+{
+ local _k _m
+
+ for _m in ${vboxguest_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+vboxguest_stop()
+{
+ local _k _m _r
+
+ _r=
+ for _m in ${vboxguest_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+load_rc_config $name
+
+: ${vboxguest_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-71/files/vboxservice.in b/emulators/virtualbox-ose-additions-71/files/vboxservice.in
new file mode 100644
index 000000000000..2a46dbc188ef
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/files/vboxservice.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# PROVIDE: vboxservice
+# REQUIRE: DAEMON vboxguest
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Define vboxservice_enable in /etc/rc.conf[.local] to enable it.
+#
+# vboxservice_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable VBoxService.
+
+. /etc/rc.subr
+
+name="vboxservice"
+rcvar=vboxservice_enable
+command="%%PREFIX%%/sbin/VBoxService"
+
+load_rc_config $name
+
+: ${vboxservice_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf
new file mode 100644
index 000000000000..dd6626429703
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/files/vboxvideo.conf
@@ -0,0 +1,5 @@
+libEGL.so.1 VBoxEGL.so
+libGL.so.1 VBoxOGL.so
+
+[libglx.so]
+libGL.so.1 libGL.so.1
diff --git a/emulators/virtualbox-ose-additions-71/pkg-descr b/emulators/virtualbox-ose-additions-71/pkg-descr
new file mode 100644
index 000000000000..d06e1a04878c
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/pkg-descr
@@ -0,0 +1,6 @@
+VirtualBox Guest Additions provide closer integration between host and
+guest, and improve the performance of guest systems.
+
+This FreeBSD provided package can be installed in FreeBSD guest machines.
+
+Additions are not intended for use on Host machines.
diff --git a/emulators/virtualbox-ose-additions-71/pkg-message b/emulators/virtualbox-ose-additions-71/pkg-message
new file mode 100644
index 000000000000..9b858849abdb
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/pkg-message
@@ -0,0 +1,36 @@
+[
+{ type: install
+ message: <<EOM
+VirtualBox Guest Additions are installed.
+
+To enable and start the required services:
+
+# sysrc vboxguest_enable="YES"
+# sysrc vboxservice_enable="YES"
+
+To start the services, restart the system.
+
+In some situations, a panic will occur when the kernel module loads.
+Having no more than one virtual CPU might mitigate the issue.
+
+For features such as window scaling and clipboard sharing, membership of
+the wheel group is required. With username "jerry" as an example:
+
+# pw groupmod wheel -m jerry
+
+The settings dialogue for FreeBSD guests encourages use of the VMSVGA
+graphics controller. Whilst this might suit installations of FreeBSD
+without a desktop environment (a common use case), it is not appropriate
+where Guest Additions are installed.
+
+Where Guest Additions are installed:
+
+1. prefer VBoxSVGA
+
+2. do not enable 3D acceleration (doing so will invisibly
+ lose the preference for VBoxSVGA)
+
+You may ignore the yellow alert that encourages use of VMSVGA.
+EOM
+}
+]
diff --git a/emulators/virtualbox-ose-additions-71/pkg-plist b/emulators/virtualbox-ose-additions-71/pkg-plist
new file mode 100644
index 000000000000..dac84dc22bcc
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-71/pkg-plist
@@ -0,0 +1,12 @@
+%%X11%%bin/VBoxClient
+%%X11%%bin/VBoxClient-all
+%%X11%%etc/xdg/autostart/vboxclient.desktop
+lib/pam_vbox.so
+%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so
+%%X11%%lib/xorg/modules/input/vboxmouse_drv.so
+sbin/VBoxControl
+sbin/VBoxService
+sbin/mount_vboxvfs
+%%X11%%share/autostart/vboxclient.desktop
+/%%KMODDIR%%/vboxguest.ko
+/%%KMODDIR%%/vboxvfs.ko
diff --git a/emulators/virtualbox-ose-additions-72/Makefile b/emulators/virtualbox-ose-additions-72/Makefile
new file mode 100644
index 000000000000..6196899a7ad8
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/Makefile
@@ -0,0 +1,174 @@
+PORTNAME= virtualbox-ose
+DISTVERSION= 7.2.4
+PORTREVISION?= 0
+CATEGORIES= emulators
+MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/
+PKGNAMESUFFIX?= -additions-72
+DISTNAME= VirtualBox-${DISTVERSION}
+
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= VirtualBox additions for FreeBSD guests
+WWW= https://www.virtualbox.org/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+
+BUILD_DEPENDS= yasm:devel/yasm \
+ kmk:devel/kBuild \
+ xsltproc:textproc/libxslt
+
+USES= compiler:c++17-lang cpe iconv kmod tar:bzip2
+CPE_VENDOR= oracle
+CPE_PRODUCT= vm_virtualbox
+USE_RC_SUBR= vboxguest vboxservice
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS+= --disable-alsa \
+ --disable-docs \
+ --disable-libvpx \
+ --disable-opengl \
+ --disable-pulse \
+ --disable-python \
+ --disable-sdl-ttf \
+ --disable-xpcom
+CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
+
+MAKE_JOBS_UNSAFE= yes
+
+CONFLICTS_INSTALL= virtualbox-ose-additions-legacy \
+ virtualbox-ose-additions-nox11-legacy \
+ virtualbox-ose-additions \
+ virtualbox-ose-additions-nox11 \
+ virtualbox-ose-additions-70 \
+ virtualbox-ose-additions-nox11-70 \
+ virtualbox-ose-additions-71 \
+ virtualbox-ose-additions-nox11-71
+
+PATCHDIR= ${.CURDIR}/../${PORTNAME}-72/files
+EXTRACT_AFTER_ARGS= --exclude tools/*.x86 --exclude tools/*.amd64 --exclude Firmware
+PORTSCOUT= limit:^7\.2\.
+
+WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION}
+
+OPTIONS_DEFINE= DBUS DEBUG X11
+OPTIONS_DEFAULT= DBUS X11
+OPTIONS_SUB= yes
+
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
+DBUS_CONFIGURE_OFF= --disable-dbus
+DEBUG_CONFIGURE_ON= --build-debug
+DEBUG_VARS= KMK_BUILDTYPE=debug
+DEBUG_VARS_OFF= KMK_BUILDTYPE=release
+X11_BUILD_DEPENDS= ${LOCALBASE}/include/xorg/compiler.h:x11-servers/xorg-server
+X11_RUN_DEPENDS= xrandr:x11/xrandr
+X11_USES= pkgconfig xorg
+X11_USE= XORG=x11,xcursor,xext,xorgproto,xmu,xrandr,xt
+X11_VARS= VBOX_WITH_X11=1
+
+.include <bsd.port.options.mk>
+
+.if ${SLAVE_PORT} == no
+CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-72
+.else
+CONFLICTS_INSTALL+= virtualbox-ose-additions-72
+.endif
+
+VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
+INPUTDIR= ${PREFIX}/lib/xorg/modules/input
+
+VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions
+VBOX_SBINS= VBoxControl \
+ VBoxService \
+ mount_vboxvfs
+
+BUILD_WRKSRC= ${VBOX_BIN}/src
+
+KMK_ARCH= freebsd.${ARCH:S/i386/x86/}
+KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1
+
+.if ${PORT_OPTIONS:MX11}
+.else
+VBOX_WITH_X11=
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.if ${COMPILER_TYPE} == clang
+ @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
+ -e 's| -fno-merge-constants||' \
+ -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
+.endif
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+ @${REINPLACE_CMD} \
+ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
+ ${WRKSRC}/configure
+.if empty(ICONV_LIB)
+ @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \
+ ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk
+ @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${OSVERSION} >= 1500038
+ @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+.endif
+
+post-patch-X11-on:
+ @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \
+ ${WRKSRC}/LocalConfig.kmk
+
+pre-build:
+ cd ${WRKSRC} && ${SH} -c \
+ ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk"
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \
+ ${STAGEDIR}${KMODDIR}
+ ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib
+ ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \
+ ${STAGEDIR}${PREFIX}/sbin/
+
+do-install-X11-on:
+ ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_SCRIPT} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
+ ${STAGEDIR}${PREFIX}/bin/VBoxClient-all
+ # X11 autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/etc/xdg/autostart/
+ # KDE autostart
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/
+ ${INSTALL_DATA} \
+ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
+ ${STAGEDIR}${PREFIX}/share/autostart/
+ ${MKDIR} ${STAGEDIR}${VIDEODIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \
+ ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so
+ ${MKDIR} ${STAGEDIR}${INPUTDIR}
+ ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \
+ ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-additions-72/distinfo b/emulators/virtualbox-ose-additions-72/distinfo
new file mode 100644
index 000000000000..729b45a32abd
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1761088888
+SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd
+SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201
diff --git a/emulators/virtualbox-ose-additions-72/files/vboxguest.in b/emulators/virtualbox-ose-additions-72/files/vboxguest.in
new file mode 100644
index 000000000000..707fedf94a88
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/files/vboxguest.in
@@ -0,0 +1,64 @@
+#!/bin/sh
+
+# PROVIDE: vboxguest
+# REQUIRE: FILESYSTEMS
+# BEFORE: netif
+# KEYWORD: nojail
+
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# vboxguest_enable (bool): Set to NO by default.
+# Set it to YES to enable vboxguest on startup
+
+. /etc/rc.subr
+
+name="vboxguest"
+rcvar=vboxguest_enable
+start_cmd="vboxguest_start"
+stop_cmd="vboxguest_stop"
+
+vboxguest_modules="vboxguest:pci/vboxguest"
+
+vboxguest_start()
+{
+ local _k _m
+
+ for _m in ${vboxguest_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+vboxguest_stop()
+{
+ local _k _m _r
+
+ _r=
+ for _m in ${vboxguest_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
+ fi
+ done
+}
+
+load_rc_config $name
+
+: ${vboxguest_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-72/files/vboxservice.in b/emulators/virtualbox-ose-additions-72/files/vboxservice.in
new file mode 100644
index 000000000000..2a46dbc188ef
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/files/vboxservice.in
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# PROVIDE: vboxservice
+# REQUIRE: DAEMON vboxguest
+# BEFORE: LOGIN
+# KEYWORD: shutdown
+
+# Define vboxservice_enable in /etc/rc.conf[.local] to enable it.
+#
+# vboxservice_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable VBoxService.
+
+. /etc/rc.subr
+
+name="vboxservice"
+rcvar=vboxservice_enable
+command="%%PREFIX%%/sbin/VBoxService"
+
+load_rc_config $name
+
+: ${vboxservice_enable="NO"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf b/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf
new file mode 100644
index 000000000000..dd6626429703
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/files/vboxvideo.conf
@@ -0,0 +1,5 @@
+libEGL.so.1 VBoxEGL.so
+libGL.so.1 VBoxOGL.so
+
+[libglx.so]
+libGL.so.1 libGL.so.1
diff --git a/emulators/virtualbox-ose-additions-72/pkg-descr b/emulators/virtualbox-ose-additions-72/pkg-descr
new file mode 100644
index 000000000000..d06e1a04878c
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/pkg-descr
@@ -0,0 +1,6 @@
+VirtualBox Guest Additions provide closer integration between host and
+guest, and improve the performance of guest systems.
+
+This FreeBSD provided package can be installed in FreeBSD guest machines.
+
+Additions are not intended for use on Host machines.
diff --git a/emulators/virtualbox-ose-additions-72/pkg-message b/emulators/virtualbox-ose-additions-72/pkg-message
new file mode 100644
index 000000000000..9b858849abdb
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/pkg-message
@@ -0,0 +1,36 @@
+[
+{ type: install
+ message: <<EOM
+VirtualBox Guest Additions are installed.
+
+To enable and start the required services:
+
+# sysrc vboxguest_enable="YES"
+# sysrc vboxservice_enable="YES"
+
+To start the services, restart the system.
+
+In some situations, a panic will occur when the kernel module loads.
+Having no more than one virtual CPU might mitigate the issue.
+
+For features such as window scaling and clipboard sharing, membership of
+the wheel group is required. With username "jerry" as an example:
+
+# pw groupmod wheel -m jerry
+
+The settings dialogue for FreeBSD guests encourages use of the VMSVGA
+graphics controller. Whilst this might suit installations of FreeBSD
+without a desktop environment (a common use case), it is not appropriate
+where Guest Additions are installed.
+
+Where Guest Additions are installed:
+
+1. prefer VBoxSVGA
+
+2. do not enable 3D acceleration (doing so will invisibly
+ lose the preference for VBoxSVGA)
+
+You may ignore the yellow alert that encourages use of VMSVGA.
+EOM
+}
+]
diff --git a/emulators/virtualbox-ose-additions-72/pkg-plist b/emulators/virtualbox-ose-additions-72/pkg-plist
new file mode 100644
index 000000000000..dac84dc22bcc
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-72/pkg-plist
@@ -0,0 +1,12 @@
+%%X11%%bin/VBoxClient
+%%X11%%bin/VBoxClient-all
+%%X11%%etc/xdg/autostart/vboxclient.desktop
+lib/pam_vbox.so
+%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so
+%%X11%%lib/xorg/modules/input/vboxmouse_drv.so
+sbin/VBoxControl
+sbin/VBoxService
+sbin/mount_vboxvfs
+%%X11%%share/autostart/vboxclient.desktop
+/%%KMODDIR%%/vboxguest.ko
+/%%KMODDIR%%/vboxvfs.ko
diff --git a/emulators/virtualbox-ose-additions-nox11-70/Makefile b/emulators/virtualbox-ose-additions-nox11-70/Makefile
new file mode 100644
index 000000000000..a9a2be2575ba
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-nox11-70/Makefile
@@ -0,0 +1,8 @@
+PORTREVISION= 0
+PKGNAMESUFFIX= -additions-nox11-70
+
+MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-70
+
+OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11
+
+.include "${MASTERDIR}/Makefile"
diff --git a/emulators/virtualbox-ose-additions-nox11-71/Makefile b/emulators/virtualbox-ose-additions-nox11-71/Makefile
new file mode 100644
index 000000000000..ef057aa1f5f2
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-nox11-71/Makefile
@@ -0,0 +1,8 @@
+PORTREVISION= 0
+PKGNAMESUFFIX= -additions-nox11-71
+
+MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-71
+
+OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11
+
+.include "${MASTERDIR}/Makefile"
diff --git a/emulators/virtualbox-ose-additions-nox11-72/Makefile b/emulators/virtualbox-ose-additions-nox11-72/Makefile
new file mode 100644
index 000000000000..ed7edcf49366
--- /dev/null
+++ b/emulators/virtualbox-ose-additions-nox11-72/Makefile
@@ -0,0 +1,8 @@
+PORTREVISION= 0
+PKGNAMESUFFIX= -additions-nox11-72
+
+MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-72
+
+OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11
+
+.include "${MASTERDIR}/Makefile"
diff --git a/filesystems/nbd-client-kmod/Makefile b/filesystems/nbd-client-kmod/Makefile
index aa93420df2c6..5e4091b0a6b4 100644
--- a/filesystems/nbd-client-kmod/Makefile
+++ b/filesystems/nbd-client-kmod/Makefile
@@ -1,5 +1,5 @@
PORTNAME= nbd-client
-DISTVERSION= g20251023
+DISTVERSION= g20251024
CATEGORIES= filesystems
PKGNAMESUFFIX= -kmod
@@ -18,18 +18,19 @@ USES= kmod ssl uidfix
USE_GITHUB= yes
GH_ACCOUNT= ryan-moeller
GH_PROJECT= kernel-nbd-client
-GH_TAGNAME= e5ab6371101c35a0b96e3459adca5beff2983e94
+GH_TAGNAME= ad543b462714b978f47a278a94a404d41b7ccf38
+USE_RC_SUBR= gnbd
MAKE_ENV= GEOM_CLASS_DIR="${PREFIX}/lib/geom" \
MANDIR="${PREFIX}/share/man/man"
-SUB_FILES= gnbd
+SUB_FILES= gnbd-bin
pre-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/geom
post-install:
- ${INSTALL_SCRIPT} ${WRKDIR}/gnbd ${STAGEDIR}${PREFIX}/sbin/gnbd
+ ${INSTALL_SCRIPT} ${WRKDIR}/gnbd-bin ${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
index 32cc9e495cfe..e3fe12731825 100644
--- a/filesystems/nbd-client-kmod/distinfo
+++ b/filesystems/nbd-client-kmod/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1761263009
-SHA256 (ryan-moeller-kernel-nbd-client-g20251023-e5ab6371101c35a0b96e3459adca5beff2983e94_GH0.tar.gz) = 06325909dee3c6302fc078eeac815efdc994c963097e2e938982a07d64d1cde5
-SIZE (ryan-moeller-kernel-nbd-client-g20251023-e5ab6371101c35a0b96e3459adca5beff2983e94_GH0.tar.gz) = 39330
+TIMESTAMP = 1761347192
+SHA256 (ryan-moeller-kernel-nbd-client-g20251024-ad543b462714b978f47a278a94a404d41b7ccf38_GH0.tar.gz) = a9521671e6a9b5f23842150bb8766c6b747f199e1714a659d502cbe1aeb5788f
+SIZE (ryan-moeller-kernel-nbd-client-g20251024-ad543b462714b978f47a278a94a404d41b7ccf38_GH0.tar.gz) = 39480
diff --git a/filesystems/nbd-client-kmod/files/gnbd-bin.in b/filesystems/nbd-client-kmod/files/gnbd-bin.in
new file mode 100644
index 000000000000..94d021b26b05
--- /dev/null
+++ b/filesystems/nbd-client-kmod/files/gnbd-bin.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/gnbd.in b/filesystems/nbd-client-kmod/files/gnbd.in
index 94d021b26b05..bf54610c7437 100644..100755
--- a/filesystems/nbd-client-kmod/files/gnbd.in
+++ b/filesystems/nbd-client-kmod/files/gnbd.in
@@ -1,3 +1,174 @@
#!/bin/sh
-exec env GEOM_LIBRARY_PATH="%%LOCALBASE%%/lib/geom" /sbin/geom nbd "$@"
+# PROVIDE: gnbd
+# REQUIRE: NETWORKING
+#
+# Configuration settings for gnbd in /etc/rc.conf:
+#
+# gnbd_enable (bool): Enable gnbd. (default=NO)
+# gnbd_devices (list): List of devices.
+# gnbd_<device>_host (str): Required. Host to connect to.
+# gnbd_<device>_conns (int): Use this many parallel connections.
+# gnbd_<device>_port (int): Port to connect to.
+# gnbd_<device>_exportname (str): Connect to the named export.
+# gnbd_<device>_cacert (str): Verify TLS connections against the PEM-formatted
+# CA certificate at the given path.
+# gnbd_<device>_cert (str): Make a TLS connection using the PEM-formatted
+# client certificate at the given path.
+# gnbd_<device>_key (str): Make a TLS connection using the PEM-formatted
+# client key at the given path.
+# gnbd_<device>_waitsec (int): Retry until connections are re-established, waiting
+# this many seconds between successive retries.
+#
+# Commands for gnbd:
+#
+# start: Connect to <device>.
+# stop: Disconnect from <device>.
+# restart: Reconnect to <device>.
+# Tip: Use the devd.conf(5) file included with this port.
+# status: Get status of each <device>.
+#
+# Examples:
+#
+# service gnbd start - Connect to all devices.
+# service gnbd stop - Disconnect from all devices.
+# service gnbd start <device> - Connect to a specific device.
+
+. /etc/rc.subr
+
+name="gnbd"
+desc="NBD client for FreeBSD GEOM framework"
+rcvar="${name}_enable"
+start_precmd="gnbd_prestart"
+start_cmd="gnbd_start"
+stop_cmd="gnbd_stop"
+restart_cmd="gnbd_restart"
+status_cmd="gnbd_status"
+gnbd_bin="%%PREFIX%%/sbin/${name}"
+
+load_rc_config $name
+
+: ${gnbd_enable:="NO"}
+
+gnbd_prestart()
+{
+ ${gnbd_bin} load
+}
+
+gnbd_start()
+{
+ local device="$1"
+
+ local host conns port exportname cacert cert key
+ local var
+
+ for var in host conns port exportname cacert cert key; do
+ eval ${var}="\${gnbd_${device}_${var}}"
+
+ local value
+
+ eval value="\$${var}"
+
+ if [ -n "${value}" ]; then
+ debug "${var}=${value}"
+ fi
+ done
+
+ if [ -z "${host}" ]; then
+ echo "gnbd_${device}_host: host is not configured, ignoring this device..."
+ return 1
+ fi
+
+ local gnbd_args=
+
+ if [ -n "${conns}" ]; then
+ gnbd_args="-c ${conns}"
+ fi
+
+ if [ -n "${port}" ]; then
+ gnbd_args="${gnbd_args} -p ${port}"
+ fi
+
+ if [ -n "${exportname}" ]; then
+ gnbd_args="${gnbd_args} -n \"${exportname}\""
+ fi
+
+ if [ -n "${cacert}" ]; then
+ gnbd_args="${gnbd_args} -A \"${cacert}\""
+ fi
+
+ if [ -n "${cert}" ]; then
+ gnbd_args="${gnbd_args} -C \"${cert}\""
+ fi
+
+ if [ -n "${key}" ]; then
+ gnbd_args="${gnbd_args} -K \"${key}\""
+ fi
+
+ if [ -n "${gnbd_args}" ]; then
+ debug "gnbd args: ${gnbd_args}"
+ fi
+
+ if [ ! -c "/dev/${device}" ]; then
+ eval ${gnbd_bin} connect ${gnbd_args} ${host}
+ fi
+}
+
+gnbd_stop()
+{
+ local device="$1"
+
+ if [ -c "/dev/${device}" ]; then
+ ${gnbd_bin} disconnect ${device}
+ fi
+}
+
+gnbd_restart()
+{
+ local device="$1"
+
+ local waitsec
+
+ eval waitsec="\${gnbd_${device}_waitsec}"
+
+ local gnbd_args=
+
+ if [ -n "${waitsec}" ]; then
+ gnbd_args="-r ${waitsec}"
+
+ debug "waitsec=${waitsec}"
+ fi
+
+ if [ -n "${gnbd_args}" ]; then
+ debug "gnbd args: ${gnbd_args}"
+ fi
+
+ eval ${gnbd_bin} reconnect ${gnbd_args} ${device}
+}
+
+gnbd_status()
+{
+ local device="$1"
+
+ if [ -c "/dev/${device}" ]; then
+ ${gnbd_bin} status -s "${device}"
+ fi
+}
+
+cmd="$1"
+
+if [ $# -gt 0 ]; then
+ shift
+fi
+
+if [ -n "$1" ]; then
+ gnbd_devices="$1"
+fi
+
+if [ -z "${gnbd_devices}" ]; then
+ warn "No devices are configured, configure one to make this rc script useful!"
+fi
+
+for device in ${gnbd_devices}; do
+ run_rc_command "${cmd}" "${device}"
+done
diff --git a/finance/electrum/Makefile b/finance/electrum/Makefile
index 328e1d505ff6..cf2725faa2d6 100644
--- a/finance/electrum/Makefile
+++ b/finance/electrum/Makefile
@@ -6,7 +6,7 @@ MASTER_SITES= https://download.electrum.org/${PORTVERSION}/ \
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= Electrum-${PORTVERSION}
-MAINTAINER= ehaupt@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Easy to use Bitcoin client
WWW= https://electrum.org/
diff --git a/games/flightgear-aircraft/Makefile b/games/flightgear-aircraft/Makefile
index d0d5722f75ca..3000354b9fd1 100644
--- a/games/flightgear-aircraft/Makefile
+++ b/games/flightgear-aircraft/Makefile
@@ -1,9 +1,8 @@
PORTNAME= flightgear-aircraft
-PORTVERSION= 20190826
+PORTVERSION= 20251017
CATEGORIES= games
# See http://www.flightgear.org/templates.js
-MASTER_SITES= http://mirrors.ibiblio.org/flightgear/ftp/Aircraft/ \
- http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Aircraft/
+MASTER_SITES= http://mirrors.ibiblio.org/flightgear/ftp/Aircraft-2024/
# Selection of production-ready/well-known planes
# (planes already included in flightgear-data are excluded)
# Please contact MAINTAINER if a plane is missing
diff --git a/games/flightgear-aircraft/distinfo b/games/flightgear-aircraft/distinfo
index 882187e2279c..2317d587bf24 100644
--- a/games/flightgear-aircraft/distinfo
+++ b/games/flightgear-aircraft/distinfo
@@ -1,71 +1,71 @@
-TIMESTAMP = 1566507212
-SHA256 (flightgear-aircraft/737-200.zip) = 99e6f3b67932d032203a20858c66e35cbeaf9f9fa31d41d006f3b652a54743c8
-SIZE (flightgear-aircraft/737-200.zip) = 12359913
-SHA256 (flightgear-aircraft/A-10.zip) = 36a1e76f88e24a4eb6fc6ba88994ff9ef60602181d51c6e68da5ba904b3f44e0
-SIZE (flightgear-aircraft/A-10.zip) = 9829509
+TIMESTAMP = 1760729034
+SHA256 (flightgear-aircraft/737-200.zip) = 9464ca2b5bb4eb1dd1e8d39a9f78aae43a0de21a96204382d95aae9f82702b6a
+SIZE (flightgear-aircraft/737-200.zip) = 31936863
+SHA256 (flightgear-aircraft/A-10.zip) = d0b3d053c91e8ae3c88da1d3ec08beadeebea0adcceaafea4ccfcb7cec2e7b52
+SIZE (flightgear-aircraft/A-10.zip) = 9838104
SHA256 (flightgear-aircraft/A300.zip) = 7647f367b98fa530178fdd06121cb8a22429b547a2b7e45566c2bdd2f5297acb
SIZE (flightgear-aircraft/A300.zip) = 384543
-SHA256 (flightgear-aircraft/Alouette-II.zip) = 00605384da3864465072653cd23d6c29e00c6ca85cd929ea23ad5322e1e049e1
-SIZE (flightgear-aircraft/Alouette-II.zip) = 5368042
-SHA256 (flightgear-aircraft/Alphajet.zip) = 788dbf694558a50b9a7da55e7027cbee4156afaa55f90535ad48c8002f341a6b
-SIZE (flightgear-aircraft/Alphajet.zip) = 19748089
-SHA256 (flightgear-aircraft/B-17.zip) = 4248384d69ace649f1878e203a0094c980e666da75442cda29f4ceff060e410c
-SIZE (flightgear-aircraft/B-17.zip) = 17502563
-SHA256 (flightgear-aircraft/Breguet-XIX.zip) = da7bbd4541e34513ec7c2a7876af01cc982d25663512a05d67519bfc15a22445
-SIZE (flightgear-aircraft/Breguet-XIX.zip) = 6352960
-SHA256 (flightgear-aircraft/C130.zip) = 95c7d255a64bd18bb167db1a9ed09a2ee2d2219572d932aab6cf9c88b2767f20
-SIZE (flightgear-aircraft/C130.zip) = 23146778
-SHA256 (flightgear-aircraft/Caravelle.zip) = d73b2cf4f4e66a09dc832cad8dbf5cd12149d87b9df0a947fe2eced839eb0acb
-SIZE (flightgear-aircraft/Caravelle.zip) = 14673553
-SHA256 (flightgear-aircraft/Caudron-G3.zip) = 2040df96c25fe86433a272b6de827d5195db921beb7ea9980b738118f2c079da
-SIZE (flightgear-aircraft/Caudron-G3.zip) = 4514044
-SHA256 (flightgear-aircraft/F80C.zip) = 663f52fd02ba7e3bd1a92fbad619d17142a231a5bc35d8ec7b36e0889ee64780
-SIZE (flightgear-aircraft/F80C.zip) = 1515877
-SHA256 (flightgear-aircraft/Hurricane.zip) = aa64efe8cacf020e9f8f7de510776904851cfe6c89bc604ccc9e93fbd7a8a323
-SIZE (flightgear-aircraft/Hurricane.zip) = 12025134
-SHA256 (flightgear-aircraft/IL-2.zip) = 01b6b621ff0f967f263c3b37917662aad62c3b8f169563ad43510c167f17c324
-SIZE (flightgear-aircraft/IL-2.zip) = 5286915
-SHA256 (flightgear-aircraft/Lightning.zip) = f5f6d1ad440d4bf7c9842e2efa11a8e508df8987744b5eab386840fe15a7106f
-SIZE (flightgear-aircraft/Lightning.zip) = 4719496
-SHA256 (flightgear-aircraft/Lockheed1049h.zip) = db668736d10898d4814f0e45837abd7586505df10639507c13b0a5b31e11b67a
-SIZE (flightgear-aircraft/Lockheed1049h.zip) = 12544905
-SHA256 (flightgear-aircraft/Messerschmitt-P1101.zip) = 77d8a00852d3a3c619abc57ceabede28e04ae16b4cb5fee405af4a2f4860a586
-SIZE (flightgear-aircraft/Messerschmitt-P1101.zip) = 4347821
-SHA256 (flightgear-aircraft/MirageIII.zip) = 9d9ad1f02be87ce3bc8822ce940f63ecbffeba9b8550f6fa6e659276af08dc0d
-SIZE (flightgear-aircraft/MirageIII.zip) = 11101929
-SHA256 (flightgear-aircraft/PaperAirplane.zip) = bddb0adcd9715c29e2c1627091327ca5f50d0c4004e47c2a54ff48885d252d83
-SIZE (flightgear-aircraft/PaperAirplane.zip) = 867442
-SHA256 (flightgear-aircraft/Pond-Racer.zip) = bc54f3829a58da73202991bdded5d9a9cd3d85a02bfb0f14b006b9db1d2a0c5a
-SIZE (flightgear-aircraft/Pond-Racer.zip) = 5090201
-SHA256 (flightgear-aircraft/R44.zip) = e2f3a5816a8c210fcb4907dc8754f6257147573640777d2f1a339c6b4d7826fe
-SIZE (flightgear-aircraft/R44.zip) = 48499154
-SHA256 (flightgear-aircraft/Spitfire.zip) = f6767d995b3833e9e25e0951a3aebdb9c022611b6b1b4a1edc66a30ad8a2c0d2
-SIZE (flightgear-aircraft/Spitfire.zip) = 20947651
-SHA256 (flightgear-aircraft/Stieglitz.zip) = ca417070e23a68fbb44de3011695b947102d95527770ba4d9352cfa61f5fc457
-SIZE (flightgear-aircraft/Stieglitz.zip) = 4496427
-SHA256 (flightgear-aircraft/Super-Etendard.zip) = 9c1965415b3e389beb7fcd0df2195c3809d22c60a9b11b02d5e5daba36624b71
-SIZE (flightgear-aircraft/Super-Etendard.zip) = 10405535
-SHA256 (flightgear-aircraft/Supermarine-S.6B.zip) = 955d3c7324b5e7260ce9fc2139d7243edddb8fcf1899790b8357708de6a1664e
-SIZE (flightgear-aircraft/Supermarine-S.6B.zip) = 3256823
-SHA256 (flightgear-aircraft/Superwal.zip) = fe2b97d844cfc9acb8979942451930ad6eab87ebdd59035179c04f452a5f1439
-SIZE (flightgear-aircraft/Superwal.zip) = 2650455
-SHA256 (flightgear-aircraft/airwaveXtreme150.zip) = 92d83237a778dacdab03fbf1383e384c7dcddbe5e2519c8c66ef676ea4e0d725
-SIZE (flightgear-aircraft/airwaveXtreme150.zip) = 1241435
-SHA256 (flightgear-aircraft/asw20.zip) = 0a46b42793f27d5b30f94db12c55a00d860ff00d4b83ee3f8e98d8616d2b9c21
-SIZE (flightgear-aircraft/asw20.zip) = 3589059
-SHA256 (flightgear-aircraft/bf109.zip) = 04a1fc7b71928d52471a269862534e4f402f9a5991dfa8a32b720c8f1c883d85
-SIZE (flightgear-aircraft/bf109.zip) = 46053601
-SHA256 (flightgear-aircraft/c310.zip) = b1f5bb3c8e0ba7f31094fbf2a6299ae66b51328279a1dcb5cfdf352bfefe23af
-SIZE (flightgear-aircraft/c310.zip) = 612993
-SHA256 (flightgear-aircraft/dhc3.zip) = f70914dc669aff4ef5c68c4259ce45ac43ae54c0e8ba706df7ef8ae92a5b15e8
-SIZE (flightgear-aircraft/dhc3.zip) = 24004919
-SHA256 (flightgear-aircraft/f16.zip) = a52dbbd12c6142b14b5521287232cd43283ef38823935ffb22a3cd277bc62bf5
-SIZE (flightgear-aircraft/f16.zip) = 141830293
-SHA256 (flightgear-aircraft/harrier.zip) = 38fe71c2449bd992a8a730e5e1f8d630656a23d07f7de83fb67785db32004986
-SIZE (flightgear-aircraft/harrier.zip) = 4220523
-SHA256 (flightgear-aircraft/pa24-250.zip) = 3a287a7558b7df426e57eb7e74c20c862b999493f8808142b4e462090d7b6080
-SIZE (flightgear-aircraft/pa24-250.zip) = 2093285
-SHA256 (flightgear-aircraft/tu154.zip) = 93ef390654688d37f435be9285357834291c8fc7f2afcacbf920dd4acab96423
-SIZE (flightgear-aircraft/tu154.zip) = 1383919
-SHA256 (flightgear-aircraft/wrightFlyer1903.zip) = 0146955bd3b620d62f2bbb0e72a7c9e518cc86ae97f2d76ffb1a29b238d84c96
-SIZE (flightgear-aircraft/wrightFlyer1903.zip) = 1550999
+SHA256 (flightgear-aircraft/Alouette-II.zip) = 1a3228d4f1309b9e901cd2293f26e6e795f64d836691bb22cd17f1f2c880b1cb
+SIZE (flightgear-aircraft/Alouette-II.zip) = 25665917
+SHA256 (flightgear-aircraft/Alphajet.zip) = da7746397c1aed6de0a2a9e8e84d58150f34c8aa7ca23a915e7d82fa7f918e14
+SIZE (flightgear-aircraft/Alphajet.zip) = 123087786
+SHA256 (flightgear-aircraft/B-17.zip) = a18962ad871678a50c3acb0cb71d146df9668c803125560e43f73e38d7bc199d
+SIZE (flightgear-aircraft/B-17.zip) = 35610787
+SHA256 (flightgear-aircraft/Breguet-XIX.zip) = cd01028439aab02a1012156e3d64545623961f0302cc0d17459102bfc15fe8b6
+SIZE (flightgear-aircraft/Breguet-XIX.zip) = 6357593
+SHA256 (flightgear-aircraft/C130.zip) = cf72c728e8111022754d788e6d1efb1cf89eca0c05931193b3ddfaeed2c379c1
+SIZE (flightgear-aircraft/C130.zip) = 76859988
+SHA256 (flightgear-aircraft/Caravelle.zip) = dad86884fff5e01904722c7a3d41d2b8eb5027210b6deb390e111d10e4bf347f
+SIZE (flightgear-aircraft/Caravelle.zip) = 39615790
+SHA256 (flightgear-aircraft/Caudron-G3.zip) = b58293780aed60b1cea0c8daef425139f2a390785f33c14cd58453fd8c8fd4a1
+SIZE (flightgear-aircraft/Caudron-G3.zip) = 23720305
+SHA256 (flightgear-aircraft/F80C.zip) = 7e6d72122a18e502a0c432139cc306e717c41fabf73c52c23c115b985f5f8c22
+SIZE (flightgear-aircraft/F80C.zip) = 1523646
+SHA256 (flightgear-aircraft/Hurricane.zip) = 1a1337bd74a5587331a74c56f2b65a8301d2d25e616c8b794cd14f081e100ee5
+SIZE (flightgear-aircraft/Hurricane.zip) = 12059512
+SHA256 (flightgear-aircraft/IL-2.zip) = be813a7852997f7ab18853d565019bd2654dc31f86b0d1f20c3daa83992b54c5
+SIZE (flightgear-aircraft/IL-2.zip) = 17567721
+SHA256 (flightgear-aircraft/Lightning.zip) = 4b49ab8847e9dc7565b605157c601b86f5db502ecc8fca0a7fd86bd228f3156c
+SIZE (flightgear-aircraft/Lightning.zip) = 4720800
+SHA256 (flightgear-aircraft/Lockheed1049h.zip) = e8f2922ba66cdd9e40ccd5b2e48a6f6da8fbb4d856f8d3c696dd0e0a614ce0f5
+SIZE (flightgear-aircraft/Lockheed1049h.zip) = 12532485
+SHA256 (flightgear-aircraft/Messerschmitt-P1101.zip) = 0b2b2b2891466bb9cb7a21c41f932891a9a08a9a331ce37f4d4e143f66220917
+SIZE (flightgear-aircraft/Messerschmitt-P1101.zip) = 4344892
+SHA256 (flightgear-aircraft/MirageIII.zip) = 81dbfabe7b1208969883885c6f6d1eaa03557dfe0a9f367646bdafb2e8627946
+SIZE (flightgear-aircraft/MirageIII.zip) = 95507563
+SHA256 (flightgear-aircraft/PaperAirplane.zip) = b34c92083231853b866227bcada65368138a105e5bd075d7b7bae098e56dc1d6
+SIZE (flightgear-aircraft/PaperAirplane.zip) = 867248
+SHA256 (flightgear-aircraft/Pond-Racer.zip) = 343a944ba824205845d94cfb494ed0147493c350660e116f061acbce86095900
+SIZE (flightgear-aircraft/Pond-Racer.zip) = 5091054
+SHA256 (flightgear-aircraft/R44.zip) = 8a3b6566ab1446cf74c66afd9734d38e823f97e4a889017f2645c0c50f9b2463
+SIZE (flightgear-aircraft/R44.zip) = 59675057
+SHA256 (flightgear-aircraft/Spitfire.zip) = dd626ee7d7264eef35e1393bb2c29333d17b61cacb2be21a1367b8f4ffdb5b3a
+SIZE (flightgear-aircraft/Spitfire.zip) = 20999344
+SHA256 (flightgear-aircraft/Stieglitz.zip) = 034d5a699627dc8466f3a285efdb27f7a2da1d47ed35c7987ee127599887cf1d
+SIZE (flightgear-aircraft/Stieglitz.zip) = 4480695
+SHA256 (flightgear-aircraft/Super-Etendard.zip) = 912d19e0ea70cb08f4fdad667afc7de0c445261cd56d5fa0f66d31601d4e1742
+SIZE (flightgear-aircraft/Super-Etendard.zip) = 30201764
+SHA256 (flightgear-aircraft/Supermarine-S.6B.zip) = 084d88f0d0ced452372fe4b1e131018a6e684180aa6daa6df8d5285b7c5fd2fe
+SIZE (flightgear-aircraft/Supermarine-S.6B.zip) = 25622086
+SHA256 (flightgear-aircraft/Superwal.zip) = 86e527f9a9dacdb8502a1e4127819430c678f5157a00ed0560813d71c322130c
+SIZE (flightgear-aircraft/Superwal.zip) = 2630011
+SHA256 (flightgear-aircraft/airwaveXtreme150.zip) = fbf3bfbbd54074ac2a631393b8ca9bfbc97e8211b78d156717c307e0b9102adf
+SIZE (flightgear-aircraft/airwaveXtreme150.zip) = 1239205
+SHA256 (flightgear-aircraft/asw20.zip) = 224b798c8188a836c840555e517bc1ddcd397ee7eb71311793d1fe43a77d838e
+SIZE (flightgear-aircraft/asw20.zip) = 8474757
+SHA256 (flightgear-aircraft/bf109.zip) = 9c5ce561125a4e2beb59108b9006e29b836604d05dbcc8f4d67c96e238a25413
+SIZE (flightgear-aircraft/bf109.zip) = 46069381
+SHA256 (flightgear-aircraft/c310.zip) = 9d2251500c8f8a2c8cde9d22d887b444dc358982f8b24b222a8185c0f1d5be0e
+SIZE (flightgear-aircraft/c310.zip) = 611618
+SHA256 (flightgear-aircraft/dhc3.zip) = d27c4626f4e9ea491ebf01862c5cb651c16fb6ebb52281409573aa9174945fce
+SIZE (flightgear-aircraft/dhc3.zip) = 58119914
+SHA256 (flightgear-aircraft/f16.zip) = 7e399f0d620df6a1eefc30b0aac29e36a4256b5c8c74983f5e505b1789f0fa32
+SIZE (flightgear-aircraft/f16.zip) = 534118989
+SHA256 (flightgear-aircraft/harrier.zip) = 17215d4cc3d569fa314e2cd9a2a84e54a8b1efcde67ae5701720226565c2cdb0
+SIZE (flightgear-aircraft/harrier.zip) = 4219112
+SHA256 (flightgear-aircraft/pa24-250.zip) = 3a530842570aefb6dd7d6fce0b72a3f3c0f89ba4ed89ef050d919c2690d5075b
+SIZE (flightgear-aircraft/pa24-250.zip) = 2091748
+SHA256 (flightgear-aircraft/tu154.zip) = a56d6fa990bf0a70a9cccc8ac9477bde7390d6c22c29704ec94a8199a35b1d3d
+SIZE (flightgear-aircraft/tu154.zip) = 1381959
+SHA256 (flightgear-aircraft/wrightFlyer1903.zip) = a3f692b850c13553536d62b7b7df1546d8c819b9ed1b5b930eb43a3a1453f341
+SIZE (flightgear-aircraft/wrightFlyer1903.zip) = 1550688
diff --git a/games/veloren-weekly/Makefile b/games/veloren-weekly/Makefile
index 294cd5db19b5..393d32c4399a 100644
--- a/games/veloren-weekly/Makefile
+++ b/games/veloren-weekly/Makefile
@@ -1,5 +1,5 @@
PORTNAME= veloren
-PORTVERSION= s20251021
+PORTVERSION= s20251022
CATEGORIES= games wayland
PKGNAMESUFFIX= -weekly
@@ -24,7 +24,7 @@ RUN_DEPENDS= ${LOCALBASE}/lib/alsa-lib/libasound_module_pcm_oss.so:audio/alsa-pl
USES= cargo xorg
USE_XORG= xcb
USE_GITLAB= yes
-GL_TAGNAME= v0.17.0-1271-g9f46cca9be # git describe --match='v[0-9]*' weekly
+GL_TAGNAME= v0.17.0-1273-gab4cecf289 # git describe --match='v[0-9]*' weekly
CARGO_ENV= VELOREN_USERDATA_STRATEGY=system SHADERC_LIB_DIR="${LOCALBASE}/lib"
PLIST_FILES= bin/${PORTNAME}-server-cli \
bin/${PORTNAME}-voxygen \
diff --git a/games/veloren-weekly/distinfo b/games/veloren-weekly/distinfo
index 16213c226e5f..cb3c24d91d2f 100644
--- a/games/veloren-weekly/distinfo
+++ b/games/veloren-weekly/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1761032603
+TIMESTAMP = 1761180014
SHA256 (rust/crates/ab_glyph-0.2.31.crate) = e074464580a518d16a7126262fffaaa47af89d4099d4cb403f8ed938ba12ee7d
SIZE (rust/crates/ab_glyph-0.2.31.crate) = 20909
SHA256 (rust/crates/ab_glyph_rasterizer-0.1.10.crate) = 366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618
@@ -1925,5 +1925,5 @@ SHA256 (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 43
SIZE (veloren-conrod-c74446362371dc837b8b4b6d6ddcd7693b48d9b6_GL0.tar.gz) = 808402
SHA256 (DaforLynx-kira-v0.10.7-with-config_GH0.tar.gz) = ffc38b7c73cb6419d02a21a3905cd0b00b3a544711230c5b11ef77301b7b9bb2
SIZE (DaforLynx-kira-v0.10.7-with-config_GH0.tar.gz) = 4379268
-SHA256 (veloren-v0.17.0-1271-g9f46cca9be.tar.bz2) = 17664470acb3ace017f73be52d8f3b6e207019a6ce9f00dd3a37afb7a6e83715
-SIZE (veloren-v0.17.0-1271-g9f46cca9be.tar.bz2) = 345074883
+SHA256 (veloren-v0.17.0-1273-gab4cecf289.tar.bz2) = f28596371b4e5301339130d51268126bfcb3a6369a16586dc4030236adadba03
+SIZE (veloren-v0.17.0-1273-gab4cecf289.tar.bz2) = 344225785
diff --git a/graphics/Makefile b/graphics/Makefile
index a84fee968940..bd51262e1430 100644
--- a/graphics/Makefile
+++ b/graphics/Makefile
@@ -921,6 +921,7 @@
SUBDIR += py-contextily
SUBDIR += py-descartes
SUBDIR += py-diplib
+ SUBDIR += py-dj52-sorl-thumbnail
SUBDIR += py-django-easy-thumbnails
SUBDIR += py-djvulibre
SUBDIR += py-exifread
diff --git a/graphics/drawio/Makefile b/graphics/drawio/Makefile
index 6fe4d0d5dfc8..bc4cadee66fa 100644
--- a/graphics/drawio/Makefile
+++ b/graphics/drawio/Makefile
@@ -1,6 +1,6 @@
PORTNAME= drawio
PORTVERSION= 28.0.6
-PORTREVISION= 9
+PORTREVISION= 10
DISTVERSIONPREFIX= x86_64-
CATEGORIES= graphics
MASTER_SITES= https://github.com/jgraph/drawio-desktop/releases/download/v${PORTVERSION}/
diff --git a/graphics/libskiasharp/Makefile b/graphics/libskiasharp/Makefile
index d8a43fb8c120..897b6df67775 100644
--- a/graphics/libskiasharp/Makefile
+++ b/graphics/libskiasharp/Makefile
@@ -1,10 +1,9 @@
PORTNAME= libskiasharp
DISTVERSIONPREFIX= v
-DISTVERSION= 2.88.3
+DISTVERSION= 116
PORTREVISION= 2
+PORTREPOCH= 1
CATEGORIES= graphics
-MASTER_SITES= LOCAL/bapt:libjpeg_turbo
-DISTFILES= libjpeg_turbo-${LIBJPEG_TURBO_REV}.tar.gz:libjpeg_turbo
MAINTAINER= bapt@FreeBSD.org
COMMENT= Complete 2D graphic library for drawing Text, Geometries, and Images
@@ -25,15 +24,13 @@ USES= jpeg ninja python:build
USE_GITHUB= yes
GH_ACCOUNT= mono
GH_PROJECT= skia
-
-LIBJPEG_TURBO_REV= 22f1a22c99e9dde8cd3c72ead333f425c5a7aa77
+GH_TAGNAME= c16e913577083761d847146db7a04b8d3b3bf755
USE_LDCONFIG= yes
USE_BINUTILS= yes
-SOVERSION= 118.0.0
-#
-# see https://github.com/libjpeg-turbo/libjpeg-turbo/issues/795#issuecomment-2484148592
+SOVERSION= 116.0.0
+
GN_ARGS= is_official_build=true \
skia_enable_tools=false \
target_os="linux" \
@@ -41,13 +38,15 @@ GN_ARGS= is_official_build=true \
skia_use_sfntly=false \
skia_use_piex=true \
skia_use_harfbuzz=false \
+ skia_use_wuffs=false \
skia_use_system_expat=true \
- skia_use_system_libjpeg_turbo=false \
+ skia_use_system_libjpeg_turbo=true \
skia_use_system_freetype2=true \
skia_use_system_libpng=true \
skia_use_system_libwebp=true \
skia_use_system_zlib=true \
skia_enable_gpu=true \
+ ska_enable_ganesh=true \
skia_enable_skottie=true \
skia_enable_pdf=true \
skia_use_dng_sdk=false \
@@ -55,10 +54,11 @@ GN_ARGS= is_official_build=true \
"-DSKIA_C_DLL", \
"-I${LOCALBASE}/include", \
"-I${LOCALBASE}/include/freetype2"] \
- extra_ldflags=["-L${LOCALBASE}/lib"] \
+ extra_ldflags=["-L${LOCALBASE}/lib", \
+ "-Wl,--version-script=${FILESDIR}/libskiasharp.map" ] \
linux_soname_version="${SOVERSION}"
-BINARY_ALIAS= python=${PYTHON_CMD} \
+BINARY_ALIAS= python3=${PYTHON_CMD} \
ar=${LOCALBASE}/bin/ar
ALL_TARGET= SkiaSharp
@@ -67,10 +67,6 @@ BUILD_WRKSRC= ${WRKSRC}/out
PLIST_FILES= lib/libSkiaSharp.so \
lib/libSkiaSharp.so.${SOVERSION}
-post-extract:
- ${MKDIR} ${WRKSRC}/third_party/externals
- ${RLN} ${WRKDIR}/libjpeg_turbo ${WRKSRC}/third_party/externals/libjpeg-turbo
-
do-configure:
cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} gn gen 'out' --args='${GN_ARGS}'
diff --git a/graphics/libskiasharp/distinfo b/graphics/libskiasharp/distinfo
index 68dc2ab49ef0..e5f8eaf8749e 100644
--- a/graphics/libskiasharp/distinfo
+++ b/graphics/libskiasharp/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1732007783
-SHA256 (libjpeg_turbo-22f1a22c99e9dde8cd3c72ead333f425c5a7aa77.tar.gz) = 774aadf0ae4827ce77645442f8fba552c0be068c0bec7933fa99f4a490931433
-SIZE (libjpeg_turbo-22f1a22c99e9dde8cd3c72ead333f425c5a7aa77.tar.gz) = 2382951
-SHA256 (mono-skia-v2.88.3_GH0.tar.gz) = 899ee3693575dd5f1e769070672253beb03ece414ab2803228e346889f268dda
-SIZE (mono-skia-v2.88.3_GH0.tar.gz) = 51816808
+TIMESTAMP = 1761315942
+SHA256 (mono-skia-v116-c16e913577083761d847146db7a04b8d3b3bf755_GH0.tar.gz) = 3fd17a42cca9a7dbde68ab016969b70ab7dd4833403ac1a192e1aa51aed4617b
+SIZE (mono-skia-v116-c16e913577083761d847146db7a04b8d3b3bf755_GH0.tar.gz) = 60049970
diff --git a/graphics/libskiasharp/files/libskiasharp.map b/graphics/libskiasharp/files/libskiasharp.map
new file mode 100644
index 000000000000..c10403496de8
--- /dev/null
+++ b/graphics/libskiasharp/files/libskiasharp.map
@@ -0,0 +1,10 @@
+libSkiaSharp {
+ global:
+ sk_*;
+ gr_*;
+ skottie_*;
+ sksg_*;
+ skresources_*;
+ local:
+ *;
+};
diff --git a/graphics/mesa-devel/Makefile b/graphics/mesa-devel/Makefile
index a70b875003fc..a3c94a5cb762 100644
--- a/graphics/mesa-devel/Makefile
+++ b/graphics/mesa-devel/Makefile
@@ -1,6 +1,6 @@
PORTNAME= mesa
-DISTVERSION= 25.3-branchpoint-90
-DISTVERSIONSUFFIX= -gb1370e1935c
+DISTVERSION= 25.3-branchpoint-413
+DISTVERSIONSUFFIX= -g53bcab0288c
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
diff --git a/graphics/mesa-devel/distinfo b/graphics/mesa-devel/distinfo
index 9dbbbd0fed29..cdc5d206f96b 100644
--- a/graphics/mesa-devel/distinfo
+++ b/graphics/mesa-devel/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1760723888
-SHA256 (mesa-25.3-branchpoint-90-gb1370e1935c.tar.bz2) = 4f5fb2132ecdb790405a3cfb5e19d95531dd4750d217bdc45415d762e7fc030a
-SIZE (mesa-25.3-branchpoint-90-gb1370e1935c.tar.bz2) = 55327831
+TIMESTAMP = 1761335158
+SHA256 (mesa-25.3-branchpoint-413-g53bcab0288c.tar.bz2) = 72701e8e8137a226dcd057e9c69ad50d3c38d005f467c7dfbb05bc19e119efc8
+SIZE (mesa-25.3-branchpoint-413-g53bcab0288c.tar.bz2) = 55474572
SHA256 (700efacda59c.patch) = 0d567fe737ad1404e1f12d7cd018826d9095c23835f1ed5aaa1c81cb58d3d008
SIZE (700efacda59c.patch) = 983
SHA256 (de5cf0a44b50.patch) = c9e02e5eb1fb4e3aa2bc7a7e0a70f28f3ee609835ff0b59e827893a821983851
diff --git a/graphics/py-dj52-sorl-thumbnail/Makefile b/graphics/py-dj52-sorl-thumbnail/Makefile
new file mode 100644
index 000000000000..b9883a81a9c7
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/Makefile
@@ -0,0 +1,62 @@
+PORTNAME= sorl-thumbnail
+DISTVERSION= 12.11.0
+CATEGORIES= graphics python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
+DISTNAME= sorl_thumbnail-${DISTVERSION}
+
+MAINTAINER= kai@FreeBSD.org
+COMMENT= Sorl-thumbnail provides an easy way to generate image thumbnails
+WWW= https://github.com/jazzband/sorl-thumbnail
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=8:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+
+USES= python:3.10+
+USE_PYTHON= autoplist concurrent pep517
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
+NO_ARCH= yes
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+OPTIONS_DEFAULT= PILLOW
+OPTIONS_SINGLE= IMAGELIB
+OPTIONS_GROUP= CACHING
+
+# An PGMAGICK option would still be possible as well, but the ports tree does
+# not yet have a py-pgmagick port.
+OPTIONS_SINGLE_IMAGELIB= GRAPHICSMAGICK IMAGEMAGICK PILLOW WAND
+OPTIONS_GROUP_CACHING= REDIS
+
+GRAPHICSMAGICK_DESC= Use GraphicsMagick for image processing (faster)
+IMAGEMAGICK_DESC= Use ImageMagick for image processing
+PILLOW_DESC= Use internal image processing
+REDIS_DESC= Use REDIS as Key Value Store
+WAND_DESC= Use Wand with ImageMagick
+
+DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR}
+
+GRAPHICSMAGICK_RUN_DEPENDS= ${LOCALBASE}/bin/gm:graphics/GraphicsMagick
+IMAGEMAGICK_USES= magick:6,run
+PILLOW_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pillow>0:graphics/py-pillow@${PY_FLAVOR}
+REDIS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}redis>0:databases/py-redis@${PY_FLAVOR}
+WAND_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Wand>0:graphics/py-wand@${PY_FLAVOR}
+
+post-build-DOCS-on:
+ ${SETENV} PYTHONPATH=${WRKSRC} ${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} \
+ -d ${WRKDIR} -b html ${WRKSRC}/docs ${WRKSRC}/build/sphinx/html
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}
+ (cd ${WRKSRC}/build/sphinx/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} \
+ "! -name .buildinfo -and ! -name objects.inv")
+
+.include <bsd.port.mk>
diff --git a/graphics/py-dj52-sorl-thumbnail/distinfo b/graphics/py-dj52-sorl-thumbnail/distinfo
new file mode 100644
index 000000000000..71659dc4d34c
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1755414298
+SHA256 (sorl_thumbnail-12.11.0.tar.gz) = 191b89c27ecb40b5c2a35549d557d17c4841c6aff439b2e17b938b91eea463b3
+SIZE (sorl_thumbnail-12.11.0.tar.gz) = 667102
diff --git a/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml b/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml
new file mode 100644
index 000000000000..f38468089e04
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/files/patch-pyproject.toml
@@ -0,0 +1,11 @@
+Relax version requirements.
+
+--- pyproject.toml.orig 2025-08-20 12:07:03 UTC
++++ pyproject.toml
+@@ -1,5 +1,5 @@
+ [build-system]
+-requires = ["setuptools>=64", "setuptools_scm>=8"]
++requires = ["setuptools", "setuptools_scm>=8"]
+ build-backend = "setuptools.build_meta"
+
+ [project]
diff --git a/graphics/py-dj52-sorl-thumbnail/pkg-descr b/graphics/py-dj52-sorl-thumbnail/pkg-descr
new file mode 100644
index 000000000000..dbfc4c434b13
--- /dev/null
+++ b/graphics/py-dj52-sorl-thumbnail/pkg-descr
@@ -0,0 +1,16 @@
+The sorl-thumbnail package provides an easy way to generate image
+thumbnails.
+
+Some of its features:
+- Storage support
+- Pluggable Engine support for Pillow, GraphicsMagick, ImageMagick and Wand
+- Pluggable Key Value Store support (cached db and redis)
+- Pluggable Backend support
+- Admin integration with possibility to delete
+- Dummy generation (placeholders)
+- Flexible, simple syntax, generates no html
+- ImageField for model that deletes thumbnails
+- CSS style cropping options
+- Back smart cropping, and remove borders from the images when cropping
+- Margin calculation for vertical positioning
+- Alternative resolutions versions of a thumbnail
diff --git a/graphics/py-sorl-thumbnail/Makefile b/graphics/py-sorl-thumbnail/Makefile
index cad52c7ea394..f959fa203be9 100644
--- a/graphics/py-sorl-thumbnail/Makefile
+++ b/graphics/py-sorl-thumbnail/Makefile
@@ -20,6 +20,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django42>=4.2:www/py-django42@${PY_FLAVOR}
USES= python
USE_PYTHON= autoplist concurrent pep517
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
+
NO_ARCH= yes
PORTDOCS= *
diff --git a/lang/elixir-devel/Makefile b/lang/elixir-devel/Makefile
index 48935a37ca20..9a7fda88013f 100644
--- a/lang/elixir-devel/Makefile
+++ b/lang/elixir-devel/Makefile
@@ -1,6 +1,7 @@
PORTNAME= elixir
+PORTREVISION= 1
DISTVERSIONPREFIX= v
-DISTVERSION= 1.19.0
+DISTVERSION= 1.19.1
CATEGORIES= lang
MASTER_SITES+= https://github.com/elixir-lang/elixir/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}/:doc
PKGNAMESUFFIX= -devel
diff --git a/lang/elixir-devel/distinfo b/lang/elixir-devel/distinfo
index e986e51ff0d1..d87a04f450b2 100644
--- a/lang/elixir-devel/distinfo
+++ b/lang/elixir-devel/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761081655
-SHA256 (elixir/1.19.0/Docs.zip) = 334c1a3b676baa31eb1a1b517d60bdff60db16d8e661ad96180e987d64c83080
-SIZE (elixir/1.19.0/Docs.zip) = 5881276
-SHA256 (elixir/1.19.0/elixir-lang-elixir-v1.19.0_GH0.tar.gz) = 99a684045b49f9c5005a1aa8278e1bac8c3769e0a5a13c05ef80b69113029234
-SIZE (elixir/1.19.0/elixir-lang-elixir-v1.19.0_GH0.tar.gz) = 3585406
+TIMESTAMP = 1761346274
+SHA256 (elixir/1.19.1/Docs.zip) = fddb45512f843ad1b8c49004b9172d9c9e395bb56012ef34c75ef65e6ae5200f
+SIZE (elixir/1.19.1/Docs.zip) = 5867733
+SHA256 (elixir/1.19.1/elixir-lang-elixir-v1.19.1_GH0.tar.gz) = 4dfbfa2d0863bb3809109757a599b453e78ea890f31fa54456a2d81b40bc930f
+SIZE (elixir/1.19.1/elixir-lang-elixir-v1.19.1_GH0.tar.gz) = 3585928
diff --git a/lang/elixir-devel/pkg-plist b/lang/elixir-devel/pkg-plist
index d7d1e387328c..504bbadce302 100644
--- a/lang/elixir-devel/pkg-plist
+++ b/lang/elixir-devel/pkg-plist
@@ -714,15 +714,15 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/eex/EEx.html
%%PORTDOCS%%%%DOCSDIR%%/eex/api-reference.html
%%PORTDOCS%%%%DOCSDIR%%/eex/assets/logo.png
-%%PORTDOCS%%%%DOCSDIR%%/eex/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/eex/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/eex/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/eex/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/eex/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/eex/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/eex/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/eex/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/eex/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/eex/dist/search_data-B1F78EB2.js
-%%PORTDOCS%%%%DOCSDIR%%/eex/dist/sidebar_items-D8E88037.js
+%%PORTDOCS%%%%DOCSDIR%%/eex/dist/search_data-AF648DB3.js
+%%PORTDOCS%%%%DOCSDIR%%/eex/dist/sidebar_items-47BFC7F4.js
%%PORTDOCS%%%%DOCSDIR%%/eex/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/eex/index.html
%%PORTDOCS%%%%DOCSDIR%%/eex/search.html
@@ -865,20 +865,18 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/elixir/code-anti-patterns.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/compatibility-and-deprecations.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/comprehensions.html
-%%PORTDOCS%%%%DOCSDIR%%/elixir/config-and-releases.html
+%%PORTDOCS%%%%DOCSDIR%%/elixir/config-and-distribution.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/debugging.html
-%%PORTDOCS%%%%DOCSDIR%%/elixir/dependencies-and-umbrella-projects.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/design-anti-patterns.html
-%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/search_data-4AE494DF.js
-%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/sidebar_items-FFDBFBE5.js
-%%PORTDOCS%%%%DOCSDIR%%/elixir/distributed-tasks.html
+%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/search_data-AD27BC7F.js
+%%PORTDOCS%%%%DOCSDIR%%/elixir/dist/sidebar_items-2822FC57.js
%%PORTDOCS%%%%DOCSDIR%%/elixir/docs-tests-and-with.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/elixir/domain-specific-languages.html
@@ -886,7 +884,6 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/elixir/enum-cheat.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/enumerable-and-streams.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/erlang-libraries.html
-%%PORTDOCS%%%%DOCSDIR%%/elixir/erlang-term-storage.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/genservers.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/gradual-set-theoretic-types.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/index.html
@@ -910,6 +907,7 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/elixir/protocols.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/quote-and-unquote.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/recursion.html
+%%PORTDOCS%%%%DOCSDIR%%/elixir/releases.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/search.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/sigils.html
%%PORTDOCS%%%%DOCSDIR%%/elixir/structs.html
@@ -941,15 +939,15 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/ExUnit.html
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/api-reference.html
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/assets/logo.png
-%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/search_data-9D569829.js
-%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/sidebar_items-788E2F85.js
+%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/search_data-3AA29938.js
+%%PORTDOCS%%%%DOCSDIR%%/ex_unit/dist/sidebar_items-A618680D.js
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/index.html
%%PORTDOCS%%%%DOCSDIR%%/ex_unit/search.html
@@ -962,15 +960,15 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/iex/IEx.html
%%PORTDOCS%%%%DOCSDIR%%/iex/api-reference.html
%%PORTDOCS%%%%DOCSDIR%%/iex/assets/logo.png
-%%PORTDOCS%%%%DOCSDIR%%/iex/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/iex/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/iex/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/iex/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/iex/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/iex/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/iex/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/iex/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/iex/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/iex/dist/search_data-2658760C.js
-%%PORTDOCS%%%%DOCSDIR%%/iex/dist/sidebar_items-025038F8.js
+%%PORTDOCS%%%%DOCSDIR%%/iex/dist/search_data-00350B9F.js
+%%PORTDOCS%%%%DOCSDIR%%/iex/dist/sidebar_items-38B2FF6E.js
%%PORTDOCS%%%%DOCSDIR%%/iex/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/iex/index.html
%%PORTDOCS%%%%DOCSDIR%%/iex/search.html
@@ -982,15 +980,15 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/logger/Logger.html
%%PORTDOCS%%%%DOCSDIR%%/logger/api-reference.html
%%PORTDOCS%%%%DOCSDIR%%/logger/assets/logo.png
-%%PORTDOCS%%%%DOCSDIR%%/logger/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/logger/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/logger/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/logger/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/logger/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/logger/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/logger/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/logger/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/logger/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/logger/dist/search_data-634666A7.js
-%%PORTDOCS%%%%DOCSDIR%%/logger/dist/sidebar_items-6EF946FB.js
+%%PORTDOCS%%%%DOCSDIR%%/logger/dist/search_data-B69ABA49.js
+%%PORTDOCS%%%%DOCSDIR%%/logger/dist/sidebar_items-C3902E7F.js
%%PORTDOCS%%%%DOCSDIR%%/logger/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/logger/index.html
%%PORTDOCS%%%%DOCSDIR%%/logger/search.html
@@ -1065,15 +1063,15 @@ lib/elixir/lib/mix/lib/mix/utils.ex
%%PORTDOCS%%%%DOCSDIR%%/mix/Mix.html
%%PORTDOCS%%%%DOCSDIR%%/mix/api-reference.html
%%PORTDOCS%%%%DOCSDIR%%/mix/assets/logo.png
-%%PORTDOCS%%%%DOCSDIR%%/mix/dist/html-DPJLHKSM.js
-%%PORTDOCS%%%%DOCSDIR%%/mix/dist/html-elixir-KV3YOVJ3.css
+%%PORTDOCS%%%%DOCSDIR%%/mix/dist/html-Y223O6DN.js
+%%PORTDOCS%%%%DOCSDIR%%/mix/dist/html-elixir-RLZO5U2C.css
%%PORTDOCS%%%%DOCSDIR%%/mix/dist/lato-latin-400-normal-W7754I4D.woff2
%%PORTDOCS%%%%DOCSDIR%%/mix/dist/lato-latin-700-normal-2XVSBPG4.woff2
%%PORTDOCS%%%%DOCSDIR%%/mix/dist/lato-latin-ext-400-normal-N27NCBWW.woff2
%%PORTDOCS%%%%DOCSDIR%%/mix/dist/lato-latin-ext-700-normal-Q2L5DVMW.woff2
%%PORTDOCS%%%%DOCSDIR%%/mix/dist/remixicon-QPNJX265.woff2
-%%PORTDOCS%%%%DOCSDIR%%/mix/dist/search_data-01B98D19.js
-%%PORTDOCS%%%%DOCSDIR%%/mix/dist/sidebar_items-7A85B680.js
+%%PORTDOCS%%%%DOCSDIR%%/mix/dist/search_data-989388E2.js
+%%PORTDOCS%%%%DOCSDIR%%/mix/dist/sidebar_items-82559C27.js
%%PORTDOCS%%%%DOCSDIR%%/mix/docs_config.js
%%PORTDOCS%%%%DOCSDIR%%/mix/index.html
%%PORTDOCS%%%%DOCSDIR%%/mix/search.html
diff --git a/lang/perl5-devel/Makefile b/lang/perl5-devel/Makefile
index eef896da8e98..c940536f45e5 100644
--- a/lang/perl5-devel/Makefile
+++ b/lang/perl5-devel/Makefile
@@ -1,7 +1,7 @@
PORTNAME= perl
DISTVERSION= ${PERL_VERSION}
CATEGORIES= lang devel perl5
-MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/B/BO/BOOK
+MASTER_SITES= CPAN/../../src/5.0 CPAN/../by-authors/id/E/EH/EHERMAN
DIST_SUBDIR= perl
MAINTAINER= mat@FreeBSD.org
diff --git a/lang/perl5-devel/distinfo b/lang/perl5-devel/distinfo
index e68d761f0224..0aeee436398c 100644
--- a/lang/perl5-devel/distinfo
+++ b/lang/perl5-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758997699
-SHA256 (perl/perl-5.43.3.tar.xz) = ee9ee62cef5c89e576fbe4b5f4404d623f8e45fbc090e392aa9faf5691146997
-SIZE (perl/perl-5.43.3.tar.xz) = 14515784
+TIMESTAMP = 1761296888
+SHA256 (perl/perl-5.43.4.tar.xz) = c2b9f73729e998188ec987233250f27b888643ed29f5c2cfdd546b2eb1997a5b
+SIZE (perl/perl-5.43.4.tar.xz) = 14736676
diff --git a/lang/perl5-devel/pkg-plist b/lang/perl5-devel/pkg-plist
index e5c0e89e1ccd..d11c41adb2b2 100644
--- a/lang/perl5-devel/pkg-plist
+++ b/lang/perl5-devel/pkg-plist
@@ -1132,6 +1132,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf
%%MAN1%%/perl5431delta.1.gz
%%MAN1%%/perl5432delta.1.gz
%%MAN1%%/perl5433delta.1.gz
+%%MAN1%%/perl5434delta.1.gz
%%MAN1%%/perl561delta.1.gz
%%MAN1%%/perl56delta.1.gz
%%MAN1%%/perl581delta.1.gz
@@ -2086,6 +2087,7 @@ etc/man.d/perl%%PKGNAMESUFFIX%%.conf
%%PRIV_LIB%%/pod/perl5431delta.pod
%%PRIV_LIB%%/pod/perl5432delta.pod
%%PRIV_LIB%%/pod/perl5433delta.pod
+%%PRIV_LIB%%/pod/perl5434delta.pod
%%PRIV_LIB%%/pod/perl561delta.pod
%%PRIV_LIB%%/pod/perl56delta.pod
%%PRIV_LIB%%/pod/perl581delta.pod
diff --git a/lang/perl5-devel/version.mk b/lang/perl5-devel/version.mk
index d5774a21f111..c95a69d597c1 100644
--- a/lang/perl5-devel/version.mk
+++ b/lang/perl5-devel/version.mk
@@ -1,2 +1,2 @@
-PERL_VERSION= 5.43.3
-PERL5_DEPEND= perl5>=5.41.r<5.42
+PERL_VERSION= 5.43.4
+PERL5_DEPEND= perl5>=5.43.r<5.44
diff --git a/mail/pecl-mailparse/Makefile b/mail/pecl-mailparse/Makefile
index 609dc326ecfa..8ade581a6b90 100644
--- a/mail/pecl-mailparse/Makefile
+++ b/mail/pecl-mailparse/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mailparse
-DISTVERSION= 3.1.8
+DISTVERSION= 3.1.9
CATEGORIES= mail www
MAINTAINER= dbaio@FreeBSD.org
@@ -12,14 +12,4 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
USES= php:pecl
USE_PHP= mbstring:build
-.include <bsd.port.pre.mk>
-
-post-patch:
-.if ${PHP_VER} >= 85
- @${REINPLACE_CMD} -e 's|ext/standard/php_smart_string|Zend/zend_smart_string|' \
- ${WRKSRC}/php_mailparse_mime.h \
- ${WRKSRC}/php_mailparse_rfc822.c \
- ${WRKSRC}/php_mailparse_rfc822.re
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/mail/pecl-mailparse/distinfo b/mail/pecl-mailparse/distinfo
index 64174437048a..d2a80a740924 100644
--- a/mail/pecl-mailparse/distinfo
+++ b/mail/pecl-mailparse/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1732794055
-SHA256 (PECL/mailparse-3.1.8.tgz) = 59beab4ef851770c495ba7a0726ab40e098135469a11d9c8e665b089c96efc2f
-SIZE (PECL/mailparse-3.1.8.tgz) = 945958
+TIMESTAMP = 1761263252
+SHA256 (PECL/mailparse-3.1.9.tgz) = ecb3d3c9dc9f7ce034182d478b724ac3cb02098efc69a39c03534f0b1920922b
+SIZE (PECL/mailparse-3.1.9.tgz) = 947138
diff --git a/math/sleef/Makefile b/math/sleef/Makefile
index c3aed18009f5..2b4d0d14593b 100644
--- a/math/sleef/Makefile
+++ b/math/sleef/Makefile
@@ -3,7 +3,7 @@ DISTVERSION= 3.9.0
PORTREVISION= 1
CATEGORIES= math
-MAINTAINER= thierry@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= SIMD Library for Evaluating Elementary Functions, vectorized libm
WWW= https://sleef.org
diff --git a/math/tlfloat/Makefile b/math/tlfloat/Makefile
index 5a3ff504a107..115080aa5cb8 100644
--- a/math/tlfloat/Makefile
+++ b/math/tlfloat/Makefile
@@ -4,7 +4,7 @@ DISTVERSION= 1.15.0
PORTREVISION= 1
CATEGORIES= math
-MAINTAINER= thierry@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C++ template library for floating point operations
WWW= https://shibatch.github.io/tlfloat-doxygen/
diff --git a/misc/crush/Makefile b/misc/crush/Makefile
index acef8eef095a..c0f9be075f61 100644
--- a/misc/crush/Makefile
+++ b/misc/crush/Makefile
@@ -1,6 +1,6 @@
PORTNAME= crush
DISTVERSIONPREFIX= v
-DISTVERSION= 0.12.0
+DISTVERSION= 0.12.2
CATEGORIES= misc devel
MAINTAINER= tagattie@FreeBSD.org
diff --git a/misc/crush/distinfo b/misc/crush/distinfo
index 88017930f7be..519a86e429a9 100644
--- a/misc/crush/distinfo
+++ b/misc/crush/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761156127
-SHA256 (go/misc_crush/crush-v0.12.0/v0.12.0.mod) = a97a0d246c3e1d82bc24dd3ff1cbe0dc9ceb5fc0620bec0170a192e95edf3f6b
-SIZE (go/misc_crush/crush-v0.12.0/v0.12.0.mod) = 8364
-SHA256 (go/misc_crush/crush-v0.12.0/v0.12.0.zip) = 97cf4b454d0ce8b077dea4b5590f2b8c7ac31e6de1f73bd16392d46c3ff673a5
-SIZE (go/misc_crush/crush-v0.12.0/v0.12.0.zip) = 771905
+TIMESTAMP = 1761276104
+SHA256 (go/misc_crush/crush-v0.12.2/v0.12.2.mod) = de8e9bcea3e17e9f66f64e3613bea971d68a44593273f7c8979a8206f231e2b4
+SIZE (go/misc_crush/crush-v0.12.2/v0.12.2.mod) = 8103
+SHA256 (go/misc_crush/crush-v0.12.2/v0.12.2.zip) = 49b49169de0f5f192de43e653be7ab7e2a4c0779bdadc84ac46423392376ea2a
+SIZE (go/misc_crush/crush-v0.12.2/v0.12.2.zip) = 771902
diff --git a/multimedia/libdvdnav/Makefile b/multimedia/libdvdnav/Makefile
index 315cc46bc603..cd6cb7129ef7 100644
--- a/multimedia/libdvdnav/Makefile
+++ b/multimedia/libdvdnav/Makefile
@@ -1,8 +1,6 @@
PORTNAME= libdvdnav
-DISTVERSION= 6.1.1
+DISTVERSION= 7.0.0
CATEGORIES= multimedia
-MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
- https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= martymac@FreeBSD.org
COMMENT= Videolan version of the libdvdnav project
@@ -13,13 +11,16 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USES= libtool pathfix pkgconfig tar:bz2
-USE_CSTD= c99
+USES= meson pkgconfig
USE_LDCONFIG= yes
-PORTDOCS= AUTHORS COPYING ChangeLog README TODO
+USE_GITLAB= yes
+GL_SITE= https://code.videolan.org/
+GL_ACCOUNT= videolan
+
+PORTDOCS= AUTHORS COPYING ChangeLog README.md TODO
+
+MESON_ARGS= -Ddefault_library=shared
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/libdvdnav/distinfo b/multimedia/libdvdnav/distinfo
index 979f2a21878c..d78f78a550b7 100644
--- a/multimedia/libdvdnav/distinfo
+++ b/multimedia/libdvdnav/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619470334
-SHA256 (libdvdnav-6.1.1.tar.bz2) = c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48
-SIZE (libdvdnav-6.1.1.tar.bz2) = 367606
+TIMESTAMP = 1761173944
+SHA256 (libdvdnav-7.0.0.tar.bz2) = 1363cdfaf6e92c0b574579299b5480f5867fb32989451468a28f3f402ec48787
+SIZE (libdvdnav-7.0.0.tar.bz2) = 85779
diff --git a/multimedia/libdvdnav/pkg-plist b/multimedia/libdvdnav/pkg-plist
index 1b409bc2869f..162531f9773a 100644
--- a/multimedia/libdvdnav/pkg-plist
+++ b/multimedia/libdvdnav/pkg-plist
@@ -2,8 +2,7 @@ include/dvdnav/dvd_types.h
include/dvdnav/dvdnav.h
include/dvdnav/dvdnav_events.h
include/dvdnav/version.h
-lib/libdvdnav.a
lib/libdvdnav.so
lib/libdvdnav.so.4
-lib/libdvdnav.so.4.3.0
+lib/libdvdnav.so.4.4.0
libdata/pkgconfig/dvdnav.pc
diff --git a/multimedia/libdvdread/Makefile b/multimedia/libdvdread/Makefile
index be1cad7958cf..ecefa84cb495 100644
--- a/multimedia/libdvdread/Makefile
+++ b/multimedia/libdvdread/Makefile
@@ -1,8 +1,6 @@
PORTNAME= libdvdread
-DISTVERSION= 6.1.3
+DISTVERSION= 7.0.0
CATEGORIES= multimedia
-MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
- https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= martymac@FreeBSD.org
COMMENT= Videolan version of the libdvdread project
@@ -11,14 +9,16 @@ WWW= https://www.videolan.org/developers/libdvdnav.html
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= libtool pathfix pkgconfig tar:bz2
-USE_CSTD= c99
+USES= meson pkgconfig
USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
+USE_GITLAB= yes
+GL_SITE= https://code.videolan.org/
+GL_ACCOUNT= videolan
-PORTDOCS= AUTHORS COPYING ChangeLog NEWS README.md TODO
+PORTDOCS= AUTHORS COPYING NEWS README.md TODO
+
+MESON_ARGS= -Ddefault_library=shared
OPTIONS_DEFINE= DOCS
OPTIONS_RADIO= DVDCSS
@@ -28,12 +28,12 @@ OPTIONS_DEFAULT= DVDCSS_DLOPEN
.endif
DVDCSS_DLOPEN_DESC= Use library via dlopen() function (recommended)
+DVDCSS_LINK_DESC= Link with library
+
# XXX DVDCSS version hardcoded in src/dvd_input.c
DVDCSS_DLOPEN_LIB_DEPENDS= libdvdcss.so.2:multimedia/libdvdcss
-DVDCSS_LINK_DESC= Link with library
DVDCSS_LINK_LIB_DEPENDS= libdvdcss.so.2:multimedia/libdvdcss
-DVDCSS_LINK_USES= localbase
-DVDCSS_LINK_CONFIGURE_WITH= libdvdcss
+DVDCSS_LINK_MESON_ENABLED= libdvdcss
.include <bsd.port.mk>
diff --git a/multimedia/libdvdread/distinfo b/multimedia/libdvdread/distinfo
index 9fd1c9d97bc0..d3379887ecaa 100644
--- a/multimedia/libdvdread/distinfo
+++ b/multimedia/libdvdread/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1654202546
-SHA256 (libdvdread-6.1.3.tar.bz2) = ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369
-SIZE (libdvdread-6.1.3.tar.bz2) = 395439
+TIMESTAMP = 1761173314
+SHA256 (libdvdread-7.0.0.tar.bz2) = ecb58701294d0d27c142494fbf3255278c349a54f5532e35d5dc98c5ec0dec7c
+SIZE (libdvdread-7.0.0.tar.bz2) = 92792
diff --git a/multimedia/libdvdread/pkg-plist b/multimedia/libdvdread/pkg-plist
index 3beab053f349..5dc66f1b65d6 100644
--- a/multimedia/libdvdread/pkg-plist
+++ b/multimedia/libdvdread/pkg-plist
@@ -1,3 +1,4 @@
+include/dvdread/attributes.h
include/dvdread/bitreader.h
include/dvdread/dvd_reader.h
include/dvdread/dvd_udf.h
@@ -8,8 +9,7 @@ include/dvdread/nav_print.h
include/dvdread/nav_read.h
include/dvdread/nav_types.h
include/dvdread/version.h
-lib/libdvdread.a
lib/libdvdread.so
lib/libdvdread.so.8
-lib/libdvdread.so.8.0.0
+lib/libdvdread.so.8.1.0
libdata/pkgconfig/dvdread.pc
diff --git a/multimedia/wf-recorder/Makefile b/multimedia/wf-recorder/Makefile
index 4cdc9aefa0e1..a10015918986 100644
--- a/multimedia/wf-recorder/Makefile
+++ b/multimedia/wf-recorder/Makefile
@@ -1,9 +1,9 @@
PORTNAME= wf-recorder
-DISTVERSION= 0.5.0
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.6.0
CATEGORIES= multimedia wayland
-MASTER_SITES= https://github.com/ammen99/wf-recorder/releases/download/v${DISTVERSION}/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= tagattie@FreeBSD.org
COMMENT= Screen recorder for wlroots-based compositors
WWW= https://github.com/ammen99/wf-recorder
@@ -17,33 +17,31 @@ LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \
libdrm.so:graphics/libdrm \
libwayland-client.so:graphics/wayland
-USES= compiler:c++11-lang gl meson pkgconfig tar:xz
+USES= compiler:c++11-lang gl meson pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= ammen99
+
USE_GL= gbm
PLIST_FILES= bin/wf-recorder \
+ share/fish/fish/vendor_completions.d/wf-recorder.fish \
share/man/man1/wf-recorder.1.gz
PORTDOCS= README.md
OPTIONS_DEFINE= DOCS PIPEWIRE PULSEAUDIO
OPTIONS_DEFAULT= PIPEWIRE PULSEAUDIO
-PIPEWIRE_DESC=Audio recording via PipeWire
-PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
-PIPEWIRE_MESON_ENABLED= pipewire
+PIPEWIRE_DESC= Audio recording via PipeWire
+PULSEAUDIO_DESC= Audio recording via PulseAudio
-PULSEAUDIO_DESC=Audio recording via PulseAudio
-
-PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_MESON_ENABLED= pipewire
+PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
PULSEAUDIO_MESON_ENABLED= pulse
-post-patch:
-# Extract (snapshot) version from the port instead of meson.build
- @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
- -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
- ${WRKSRC}/meson.build
-
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_MAN} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/multimedia/wf-recorder/distinfo b/multimedia/wf-recorder/distinfo
index 5d03235c7590..49493a731293 100644
--- a/multimedia/wf-recorder/distinfo
+++ b/multimedia/wf-recorder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1724488193
-SHA256 (wf-recorder-0.5.0.tar.xz) = 50b30569f9ecf4f6ba5ba76c422b7af652b4fbc7cae86c25e19ecbe669fca327
-SIZE (wf-recorder-0.5.0.tar.xz) = 28348
+TIMESTAMP = 1761278043
+SHA256 (ammen99-wf-recorder-v0.6.0_GH0.tar.gz) = 52d2c952506d63708f9a8f1aacd4d6ca176287caf3507c8ff2882fa0390cb391
+SIZE (ammen99-wf-recorder-v0.6.0_GH0.tar.gz) = 33545
diff --git a/multimedia/wf-recorder/files/patch-fix-ffmpeg8 b/multimedia/wf-recorder/files/patch-fix-ffmpeg8
deleted file mode 100644
index 68bf8d5643ce..000000000000
--- a/multimedia/wf-recorder/files/patch-fix-ffmpeg8
+++ /dev/null
@@ -1,27 +0,0 @@
-From 560bb92d3ddaeb31d7af77d22d01b0050b45bebe Mon Sep 17 00:00:00 2001
-From: Scott Moreau <oreaus@gmail.com>
-Date: Tue, 8 Oct 2024 12:56:55 -0600
-Subject: [PATCH] frame-writer: Track ffmpeg changes (#279)
-
-* frame-writer: Track ffmpeg changes
-
-The frame_rate variable has been made private API.
-
-* frame-writer: Remove comment
----
- src/frame-writer.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git src/frame-writer.cpp src/frame-writer.cpp
-index 2a5ba17..b8abe51 100644
---- src/frame-writer.cpp
-+++ src/frame-writer.cpp
-@@ -371,7 +371,7 @@ void FrameWriter::init_video_filters(const AVCodec *codec)
- this->videoCodecCtx->height = filter_output->h;
- this->videoCodecCtx->pix_fmt = (AVPixelFormat)filter_output->format;
- this->videoCodecCtx->time_base = filter_output->time_base;
-- this->videoCodecCtx->framerate = filter_output->frame_rate; // can be 1/0 if unknown
-+ this->videoCodecCtx->framerate = AVRational{1,0};
- this->videoCodecCtx->sample_aspect_ratio = filter_output->sample_aspect_ratio;
-
- this->hw_frame_context = av_buffersink_get_hw_frames_ctx(
diff --git a/net-im/Makefile b/net-im/Makefile
index ae70ce65d13d..158dfe7c3dfb 100644
--- a/net-im/Makefile
+++ b/net-im/Makefile
@@ -66,6 +66,7 @@
SUBDIR += meanwhile
SUBDIR += mikutter
SUBDIR += mtxclient
+ SUBDIR += nchat
SUBDIR += neochat
SUBDIR += nextcloud-spreed-signaling
SUBDIR += nextcloud-talk
diff --git a/net-im/nchat/Makefile b/net-im/nchat/Makefile
new file mode 100644
index 000000000000..0f69ed8a9af0
--- /dev/null
+++ b/net-im/nchat/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= nchat
+PORTVERSION= 5.10.15
+DISTVERSIONPREFIX= v
+CATEGORIES= net-im
+EXTRACT_ONLY= ${GH_ACCOUNT}-${PORTNAME}-v${PORTVERSION}_GH0.tar.gz
+
+MAINTAINER= osa@FreeBSD.org
+COMMENT= Another yet Telegram client
+WWW= https://github.com/d99kris/nchat
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= cmake gperf localbase:ldflags ncurses:port \
+ pkgconfig readline ssl sqlite
+
+USE_GITHUB= yes
+GH_ACCOUNT= d99kris
+
+LDFLAGS+= -lexecinfo
+CMAKE_ARGS+= -DCLIP_X11_WITH_PNG=OFF \
+ -DCMAKE_INSTALL_MANDIR=share/man \
+ -DCURSES_CURSES_LIBRARY="${LOCALBASE}/lib/libncurses.so" \
+ -DCURSES_FORM_LIBRARY="${LOCALBASE}/lib/libform.so" \
+ -DCURSES_INCLUDE_PATH="${LOCALBASE}/include/ncurses" \
+ -DCURSES_NCURSES_LIBRARY="${LOCALBASE}/lib/libncursesw.so" \
+ -DHAS_DYNAMICLOAD=OFF \
+ -DHAS_SHARED_LIBS=ON \
+ -DHAS_WHATSAPP=OFF
+
+post-install:
+ (cd ${STAGEDIR}${PREFIX}/lib && ${LN} -s libtgchat.so libtgchat)
+
+.include <bsd.port.mk>
diff --git a/net-im/nchat/distinfo b/net-im/nchat/distinfo
new file mode 100644
index 000000000000..15e8a8e34d71
--- /dev/null
+++ b/net-im/nchat/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1758848375
+SHA256 (d99kris-nchat-v5.10.15_GH0.tar.gz) = 62ac4c75750f4f8fbbac8691dbc5114efba548a586dbe5d85d13182c9732b465
+SIZE (d99kris-nchat-v5.10.15_GH0.tar.gz) = 7234452
diff --git a/net-im/nchat/pkg-descr b/net-im/nchat/pkg-descr
new file mode 100644
index 000000000000..c5c2ed068c76
--- /dev/null
+++ b/net-im/nchat/pkg-descr
@@ -0,0 +1 @@
+nchat is a terminal-based chat client with support for Telegram and WhatsApp.
diff --git a/net-im/nchat/pkg-plist b/net-im/nchat/pkg-plist
new file mode 100644
index 000000000000..f27b4ffe1808
--- /dev/null
+++ b/net-im/nchat/pkg-plist
@@ -0,0 +1,28 @@
+bin/nchat
+lib/libduchat.so
+lib/libncutil.so
+lib/libtdclientshared.so
+lib/libtgchat
+lib/libtgchat.so
+share/man/man1/nchat.1.gz
+%%DATADIR%%/themes/basic-color/color.conf
+%%DATADIR%%/themes/basic-color/usercolor.conf
+%%DATADIR%%/themes/catppuccin-mocha/color.conf
+%%DATADIR%%/themes/catppuccin-mocha/usercolor.conf
+%%DATADIR%%/themes/default/color.conf
+%%DATADIR%%/themes/dracula/color.conf
+%%DATADIR%%/themes/dracula/usercolor.conf
+%%DATADIR%%/themes/espresso/color.conf
+%%DATADIR%%/themes/espresso/usercolor.conf
+%%DATADIR%%/themes/gruvbox-dark/color.conf
+%%DATADIR%%/themes/gruvbox-dark/usercolor.conf
+%%DATADIR%%/themes/solarized-dark-higher-contrast/color.conf
+%%DATADIR%%/themes/solarized-dark-higher-contrast/usercolor.conf
+%%DATADIR%%/themes/tokyo-night/color.conf
+%%DATADIR%%/themes/tokyo-night/usercolor.conf
+%%DATADIR%%/themes/tomorrow-night/color.conf
+%%DATADIR%%/themes/tomorrow-night/usercolor.conf
+%%DATADIR%%/themes/zenbones-dark/color.conf
+%%DATADIR%%/themes/zenbones-dark/usercolor.conf
+%%DATADIR%%/themes/zenburned/color.conf
+%%DATADIR%%/themes/zenburned/usercolor.conf
diff --git a/net-im/signal-desktop/Makefile b/net-im/signal-desktop/Makefile
index ec78134b4e7c..2618abfe542e 100644
--- a/net-im/signal-desktop/Makefile
+++ b/net-im/signal-desktop/Makefile
@@ -1,7 +1,7 @@
PORTNAME= signal-desktop
DISTVERSIONPREFIX= v
DISTVERSION= 7.74.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net-im
MASTER_SITES= LOCAL/mikael/signal-desktop/:npm \
https://registry.npmjs.org/@esbuild/freebsd-arm64/-/:esbuildarm64 \
diff --git a/net-im/telegram-desktop/Makefile b/net-im/telegram-desktop/Makefile
index a123ab59ef27..5dd81bed6182 100644
--- a/net-im/telegram-desktop/Makefile
+++ b/net-im/telegram-desktop/Makefile
@@ -1,11 +1,11 @@
PORTNAME= telegram-desktop
-DISTVERSION= 6.2.3
+DISTVERSION= 6.2.4
CATEGORIES= net-im
MASTER_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/releases/download/v${DISTVERSION}/
DISTNAME= tdesktop-${DISTVERSION}-full
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= osa@FreeBSD.org
COMMENT= Telegram Desktop messaging app
WWW= https://desktop.telegram.org/
diff --git a/net-im/telegram-desktop/distinfo b/net-im/telegram-desktop/distinfo
index 3f888a1a220d..f4745518f105 100644
--- a/net-im/telegram-desktop/distinfo
+++ b/net-im/telegram-desktop/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1760966534
-SHA256 (tdesktop-6.2.3-full.tar.gz) = eb78993b1e90944acbff1ffc81438b7eec9199fcae5e988af07f878eb0bfab2b
-SIZE (tdesktop-6.2.3-full.tar.gz) = 75404613
+TIMESTAMP = 1761306691
+SHA256 (tdesktop-6.2.4-full.tar.gz) = 8ddde8ee7fd8bced7837a7e2a4a83a6c88fbbd1dda383a38bb064777f875f78f
+SIZE (tdesktop-6.2.4-full.tar.gz) = 75402815
diff --git a/net-im/tg_owt/Makefile b/net-im/tg_owt/Makefile
index 7e5c64089538..28ba3aacaa22 100644
--- a/net-im/tg_owt/Makefile
+++ b/net-im/tg_owt/Makefile
@@ -2,7 +2,7 @@ PORTNAME= tg_owt
PORTVERSION= 0.0.20250914
CATEGORIES= net-im
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= osa@FreeBSD.org
COMMENT= Webrtc library used by telegram-desktop
WWW= https://github.com/desktop-app/tg_owt
diff --git a/net-mgmt/netbox/Makefile b/net-mgmt/netbox/Makefile
index 4ee0eef84155..c496a8cfa503 100644
--- a/net-mgmt/netbox/Makefile
+++ b/net-mgmt/netbox/Makefile
@@ -1,7 +1,6 @@
PORTNAME= netbox
DISTVERSIONPREFIX= v
-DISTVERSION= 4.3.7
-PORTREVISION= 1
+DISTVERSION= 4.4.4
CATEGORIES= net-mgmt python
MAINTAINER= kai@FreeBSD.org
@@ -24,15 +23,15 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
# - www/py-dj52-django-tables2
# - www/py-dj52-djangorestframework
#
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2.3<5.3:www/py-django52@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-django-cors-headers>=4.7.0<5:www/py-dj52-django-cors-headers@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=5.2.0<7:www/py-dj52-django-debug-toolbar@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-django-filter>=25.1<26:www/py-dj52-django-filter@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-django-htmx>=1.23.2<2:www/py-dj52-django-htmx@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2.7<5.3:www/py-django52@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-cors-headers>=4.9.0<5:www/py-dj52-django-cors-headers@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=6.0.0<7:www/py-dj52-django-debug-toolbar@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-filter>=25.2<26:www/py-dj52-django-filter@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-htmx>=1.26.0<2:www/py-dj52-django-htmx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-mptt>=0.17.0<0.18:www/py-dj52-django-mptt@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-prometheus>=2.4.1<2.5:www/py-dj52-django-prometheus@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-redis>=6.0.0<7:www/py-dj52-django-redis@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-django-rich>=2.0.0<3:www/py-dj52-django-rich@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-django-rich>=2.2.0<3:www/py-dj52-django-rich@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-rq>=3.0.1<3.2:devel/py-dj52-django-rq@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-storages>=1.14.6<2:www/py-dj52-django-storages@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-django-tables2>=2.7.5<2.8:www/py-dj52-django-tables2@${PY_FLAVOR} \
@@ -40,31 +39,33 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2.3<5.3:www/py-django52@${PY_FLA
${PYTHON_PKGNAMEPREFIX}dj52-django-timezone-field>=7.1<8:www/py-dj52-django-timezone-field@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-djangorestframework>=3.16.1<3.17.0:www/py-dj52-djangorestframework@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-drf-spectacular>=0.28.0<1:www/py-dj52-drf-spectacular@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-drf-spectacular-sidecar>=2025.8.1:www/py-dj52-drf-spectacular-sidecar@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-drf-spectacular-sidecar>=2025.10.1:www/py-dj52-drf-spectacular-sidecar@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dj52-social-auth-app-django>=5.5.1<6:www/py-dj52-social-auth-app-django@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.281.0<0.300:devel/py-dj52-strawberry-graphql@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql-django>=0.65.1<1:www/py-dj52-strawberry-graphql-django@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-sorl-thumbnail>=12.11.0<13:graphics/py-dj52-sorl-thumbnail@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.283.3<0.300:devel/py-dj52-strawberry-graphql@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql-django>=0.66.2<1:www/py-dj52-strawberry-graphql-django@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}django-pglocks>=1.0.4<1.1:www/py-django-pglocks@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.11<7:textproc/py-feedparser@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}colorama>=0.4.6<1:devel/py-colorama@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.12<7:textproc/py-feedparser@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}Jinja2>=3.1.6<4:devel/py-Jinja2@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.24.0<5:devel/py-jsonschema@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}markdown>=3.8<3.10:textproc/py-markdown@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.6.18<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.30.0<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mkdocstrings-python>0:textproc/py-mkdocstrings-python@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}jsonschema>=4.25.1<5:devel/py-jsonschema@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}markdown>=3.9<3.10:textproc/py-markdown@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.6.22<10:textproc/py-mkdocs-material@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.30.1<1:textproc/py-mkdocstrings@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocstrings-python>=1.18.2:textproc/py-mkdocstrings-python@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}netaddr>=1.3.0<2:net/py-netaddr@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}nh3>=0.3.0<1:www/py-nh3@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pillow>=11.2.1:graphics/py-pillow@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}psycopg>=3.2.9<4:databases/py-psycopg@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}psycopg-c>=3.2.9<4:databases/py-psycopg-c@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}nh3>=0.3.1<1:www/py-nh3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pillow>=11.3.0:graphics/py-pillow@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psycopg>=3.2.10<4:databases/py-psycopg@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}psycopg-c>=3.2.10<4:databases/py-psycopg-c@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}psycopg-pool>=3.2.6<4:databases/py-psycopg-pool@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}requests>=2.32.3<3:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}rq>=2.5.0<3:devel/py-rq@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.32.5<3:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rq>=2.6.0<3:devel/py-rq@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}social-auth-core>=4.7.0<5:security/py-social-auth-core@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}svgwrite>=1.4.3<2:graphics/py-svgwrite@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tablib>=3.8.0<4:textproc/py-tablib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tablib>=3.9.0<4:textproc/py-tablib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tzdata>=2025.2:devel/py-tzdata@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0.1<7:devel/py-pyyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pyyaml>=6.0.3<7:devel/py-pyyaml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gunicorn>=23.0.0<24:www/py-gunicorn@${PY_FLAVOR}
USES= cpe pgsql:14+ python:3.10+
diff --git a/net-mgmt/netbox/distinfo b/net-mgmt/netbox/distinfo
index a041454c6736..a49703df59ce 100644
--- a/net-mgmt/netbox/distinfo
+++ b/net-mgmt/netbox/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1756288832
-SHA256 (netbox-community-netbox-v4.3.7_GH0.tar.gz) = fd2ed38732161a16f10e94786fa30d8d535cef8c6410516a4904b464dcd8243d
-SIZE (netbox-community-netbox-v4.3.7_GH0.tar.gz) = 18770741
+TIMESTAMP = 1761211870
+SHA256 (netbox-community-netbox-v4.4.4_GH0.tar.gz) = ac7dfae60e0ef4940abe835255a468b2994bd5c77f21973b9d939ccb002ad2a5
+SIZE (netbox-community-netbox-v4.4.4_GH0.tar.gz) = 19234070
diff --git a/net-mgmt/netbox/pkg-plist b/net-mgmt/netbox/pkg-plist
index 4411170e847e..7b0585bedc9b 100644
--- a/net-mgmt/netbox/pkg-plist
+++ b/net-mgmt/netbox/pkg-plist
@@ -77,6 +77,7 @@
%%DATADIR%%/core/api/serializers_/change_logging.py
%%DATADIR%%/core/api/serializers_/data.py
%%DATADIR%%/core/api/serializers_/jobs.py
+%%DATADIR%%/core/api/serializers_/object_types.py
%%DATADIR%%/core/api/serializers_/tasks.py
%%DATADIR%%/core/api/urls.py
%%DATADIR%%/core/api/views.py
@@ -85,6 +86,7 @@
%%DATADIR%%/core/choices.py
%%DATADIR%%/core/constants.py
%%DATADIR%%/core/data_backends.py
+%%DATADIR%%/core/dataclasses.py
%%DATADIR%%/core/events.py
%%DATADIR%%/core/exceptions.py
%%DATADIR%%/core/filtersets.py
@@ -118,6 +120,10 @@
%%DATADIR%%/core/migrations/0013_job_data_encoder.py
%%DATADIR%%/core/migrations/0014_datasource_sync_interval.py
%%DATADIR%%/core/migrations/0015_remove_redundant_indexes.py
+%%DATADIR%%/core/migrations/0016_job_log_entries.py
+%%DATADIR%%/core/migrations/0017_objectchange_message.py
+%%DATADIR%%/core/migrations/0018_concrete_objecttype.py
+%%DATADIR%%/core/migrations/0019_configrevision_active.py
%%DATADIR%%/core/migrations/__init__.py
%%DATADIR%%/core/models/__init__.py
%%DATADIR%%/core/models/change_logging.py
@@ -126,6 +132,8 @@
%%DATADIR%%/core/models/data.py
%%DATADIR%%/core/models/files.py
%%DATADIR%%/core/models/jobs.py
+%%DATADIR%%/core/models/object_types.py
+%%DATADIR%%/core/object_actions.py
%%DATADIR%%/core/plugins.py
%%DATADIR%%/core/querysets.py
%%DATADIR%%/core/search.py
@@ -237,6 +245,11 @@
%%DATADIR%%/dcim/migrations/0208_devicerole_uniqueness.py
%%DATADIR%%/dcim/migrations/0209_device_component_denorm_site_location.py
%%DATADIR%%/dcim/migrations/0210_macaddress_ordering.py
+%%DATADIR%%/dcim/migrations/0211_platform_manufacturer_uniqueness.py
+%%DATADIR%%/dcim/migrations/0212_interface_tx_power_negative.py
+%%DATADIR%%/dcim/migrations/0213_platform_parent.py
+%%DATADIR%%/dcim/migrations/0214_platform_rebuild.py
+%%DATADIR%%/dcim/migrations/0215_rackreservation_status.py
%%DATADIR%%/dcim/migrations/__init__.py
%%DATADIR%%/dcim/migrations/initial_data/module_type_profiles/cpu.json
%%DATADIR%%/dcim/migrations/initial_data/module_type_profiles/expansion_card.json
@@ -255,6 +268,7 @@
%%DATADIR%%/dcim/models/power.py
%%DATADIR%%/dcim/models/racks.py
%%DATADIR%%/dcim/models/sites.py
+%%DATADIR%%/dcim/object_actions.py
%%DATADIR%%/dcim/search.py
%%DATADIR%%/dcim/signals.py
%%DATADIR%%/dcim/svg/__init__.py
@@ -288,10 +302,11 @@
%%DATADIR%%/docs/administration/authentication/okta.md
%%DATADIR%%/docs/administration/authentication/overview.md
%%DATADIR%%/docs/administration/error-reporting.md
-%%DATADIR%%/docs/administration/housekeeping.md
%%DATADIR%%/docs/administration/netbox-shell.md
%%DATADIR%%/docs/administration/permissions.md
%%DATADIR%%/docs/administration/replicating-netbox.md
+%%DATADIR%%/docs/best-practices/modeling-pluggable-transceivers.md
+%%DATADIR%%/docs/best-practices/performance-handbook.md
%%DATADIR%%/docs/configuration/data-validation.md
%%DATADIR%%/docs/configuration/default-values.md
%%DATADIR%%/docs/configuration/development.md
@@ -346,6 +361,7 @@
%%DATADIR%%/docs/features/search.md
%%DATADIR%%/docs/features/synchronized-data.md
%%DATADIR%%/docs/features/tenancy.md
+%%DATADIR%%/docs/features/user-preferences.md
%%DATADIR%%/docs/features/virtualization.md
%%DATADIR%%/docs/features/vlan-management.md
%%DATADIR%%/docs/features/vpn-tunnels.md
@@ -458,6 +474,7 @@
%%DATADIR%%/docs/models/dcim/virtualdevicecontext.md
%%DATADIR%%/docs/models/extras/bookmark.md
%%DATADIR%%/docs/models/extras/configcontext.md
+%%DATADIR%%/docs/models/extras/configcontextprofile.md
%%DATADIR%%/docs/models/extras/configtemplate.md
%%DATADIR%%/docs/models/extras/customfield.md
%%DATADIR%%/docs/models/extras/customfieldchoiceset.md
@@ -533,7 +550,9 @@
%%DATADIR%%/docs/plugins/development/search.md
%%DATADIR%%/docs/plugins/development/tables.md
%%DATADIR%%/docs/plugins/development/templates.md
+%%DATADIR%%/docs/plugins/development/user-interface.md
%%DATADIR%%/docs/plugins/development/views.md
+%%DATADIR%%/docs/plugins/development/webhooks.md
%%DATADIR%%/docs/plugins/index.md
%%DATADIR%%/docs/plugins/installation.md
%%DATADIR%%/docs/plugins/removal.md
@@ -565,6 +584,7 @@
%%DATADIR%%/docs/release-notes/version-4.1.md
%%DATADIR%%/docs/release-notes/version-4.2.md
%%DATADIR%%/docs/release-notes/version-4.3.md
+%%DATADIR%%/docs/release-notes/version-4.4.md
%%DATADIR%%/extras/__init__.py
%%DATADIR%%/extras/api/__init__.py
%%DATADIR%%/extras/api/customfields.py
@@ -582,7 +602,6 @@
%%DATADIR%%/extras/api/serializers_/exporttemplates.py
%%DATADIR%%/extras/api/serializers_/journaling.py
%%DATADIR%%/extras/api/serializers_/notifications.py
-%%DATADIR%%/extras/api/serializers_/objecttypes.py
%%DATADIR%%/extras/api/serializers_/savedfilters.py
%%DATADIR%%/extras/api/serializers_/scripts.py
%%DATADIR%%/extras/api/serializers_/tableconfigs.py
@@ -664,6 +683,10 @@
%%DATADIR%%/extras/migrations/0127_configtemplate_as_attachment_and_more.py
%%DATADIR%%/extras/migrations/0128_tableconfig.py
%%DATADIR%%/extras/migrations/0129_fix_script_paths.py
+%%DATADIR%%/extras/migrations/0130_imageattachment_description.py
+%%DATADIR%%/extras/migrations/0131_concrete_objecttype.py
+%%DATADIR%%/extras/migrations/0132_configcontextprofile.py
+%%DATADIR%%/extras/migrations/0133_make_cf_minmax_decimal.py
%%DATADIR%%/extras/migrations/__init__.py
%%DATADIR%%/extras/models/__init__.py
%%DATADIR%%/extras/models/configs.py
@@ -790,6 +813,7 @@
%%DATADIR%%/ipam/tests/test_api.py
%%DATADIR%%/ipam/tests/test_filtersets.py
%%DATADIR%%/ipam/tests/test_forms.py
+%%DATADIR%%/ipam/tests/test_lookups.py
%%DATADIR%%/ipam/tests/test_models.py
%%DATADIR%%/ipam/tests/test_ordering.py
%%DATADIR%%/ipam/tests/test_views.py
@@ -798,8 +822,6 @@
%%DATADIR%%/ipam/validators.py
%%DATADIR%%/ipam/views.py
%%DATADIR%%/manage.py
-%%DATADIR%%/media/devicetype-images/.gitignore
-%%DATADIR%%/media/image-attachments/.gitignore
%%DATADIR%%/mkdocs.yml
%%DATADIR%%/netbox/__init__.py
%%DATADIR%%/netbox/api/__init__.py
@@ -847,13 +869,16 @@
%%DATADIR%%/netbox/graphql/types.py
%%DATADIR%%/netbox/graphql/views.py
%%DATADIR%%/netbox/jobs.py
+%%DATADIR%%/netbox/metrics.py
%%DATADIR%%/netbox/middleware.py
%%DATADIR%%/netbox/models/__init__.py
%%DATADIR%%/netbox/models/deletion.py
%%DATADIR%%/netbox/models/features.py
%%DATADIR%%/netbox/models/mixins.py
+%%DATADIR%%/netbox/monkey.py
%%DATADIR%%/netbox/navigation/__init__.py
%%DATADIR%%/netbox/navigation/menu.py
+%%DATADIR%%/netbox/object_actions.py
%%DATADIR%%/netbox/plugins/__init__.py
%%DATADIR%%/netbox/plugins/navigation.py
%%DATADIR%%/netbox/plugins/registration.py
@@ -893,13 +918,16 @@
%%DATADIR%%/netbox/tests/dummy_plugin/template_content.py
%%DATADIR%%/netbox/tests/dummy_plugin/urls.py
%%DATADIR%%/netbox/tests/dummy_plugin/views.py
+%%DATADIR%%/netbox/tests/dummy_plugin/webhook_callbacks.py
%%DATADIR%%/netbox/tests/test_api.py
%%DATADIR%%/netbox/tests/test_authentication.py
%%DATADIR%%/netbox/tests/test_config.py
%%DATADIR%%/netbox/tests/test_graphql.py
%%DATADIR%%/netbox/tests/test_import.py
%%DATADIR%%/netbox/tests/test_jobs.py
+%%DATADIR%%/netbox/tests/test_model_features.py
%%DATADIR%%/netbox/tests/test_models.py
+%%DATADIR%%/netbox/tests/test_object_actions.py
%%DATADIR%%/netbox/tests/test_plugins.py
%%DATADIR%%/netbox/tests/test_registry.py
%%DATADIR%%/netbox/tests/test_search.py
@@ -1016,6 +1044,7 @@
%%DATADIR%%/project-static/img/netbox.ico
%%DATADIR%%/project-static/img/netbox_icon.svg
%%DATADIR%%/project-static/img/netbox_touch-icon-180.png
+%%DATADIR%%/project-static/img/plugin-default.svg
%%DATADIR%%/project-static/img/rest-api.ico
%%DATADIR%%/project-static/js/setmode.js
%%DATADIR%%/project-static/netbox-graphiql/package.json
@@ -1040,6 +1069,7 @@
%%DATADIR%%/project-static/src/forms/savedFiltersSelect.ts
%%DATADIR%%/project-static/src/forms/speedSelector.ts
%%DATADIR%%/project-static/src/global.d.ts
+%%DATADIR%%/project-static/src/hotkeys.ts
%%DATADIR%%/project-static/src/htmx.ts
%%DATADIR%%/project-static/src/index.ts
%%DATADIR%%/project-static/src/messages.ts
@@ -1123,13 +1153,17 @@
%%DATADIR%%/templates/circuits/virtualcircuit.html
%%DATADIR%%/templates/circuits/virtualcircuittermination.html
%%DATADIR%%/templates/circuits/virtualcircuittype.html
+%%DATADIR%%/templates/core/buttons/bulk_sync.html
%%DATADIR%%/templates/core/configrevision.html
%%DATADIR%%/templates/core/configrevision_restore.html
%%DATADIR%%/templates/core/datafile.html
%%DATADIR%%/templates/core/datasource.html
%%DATADIR%%/templates/core/inc/config_data.html
+%%DATADIR%%/templates/core/inc/datafile_panel.html
%%DATADIR%%/templates/core/inc/plugin_installation.html
%%DATADIR%%/templates/core/job.html
+%%DATADIR%%/templates/core/job/base.html
+%%DATADIR%%/templates/core/job/log.html
%%DATADIR%%/templates/core/object_jobs.html
%%DATADIR%%/templates/core/objectchange.html
%%DATADIR%%/templates/core/objectchange_list.html
@@ -1142,36 +1176,25 @@
%%DATADIR%%/templates/core/rq_worker_list.html
%%DATADIR%%/templates/core/system.html
%%DATADIR%%/templates/dcim/bulk_disconnect.html
+%%DATADIR%%/templates/dcim/buttons/bulk_add_components.html
+%%DATADIR%%/templates/dcim/buttons/bulk_disconnect.html
%%DATADIR%%/templates/dcim/cable.html
%%DATADIR%%/templates/dcim/cable_edit.html
%%DATADIR%%/templates/dcim/cable_trace.html
-%%DATADIR%%/templates/dcim/component_list.html
%%DATADIR%%/templates/dcim/connections_list.html
%%DATADIR%%/templates/dcim/consoleport.html
%%DATADIR%%/templates/dcim/consoleserverport.html
%%DATADIR%%/templates/dcim/device.html
%%DATADIR%%/templates/dcim/device/base.html
-%%DATADIR%%/templates/dcim/device/components_base.html
-%%DATADIR%%/templates/dcim/device/consoleports.html
-%%DATADIR%%/templates/dcim/device/consoleserverports.html
-%%DATADIR%%/templates/dcim/device/devicebays.html
-%%DATADIR%%/templates/dcim/device/frontports.html
%%DATADIR%%/templates/dcim/device/inc/interface_table_controls.html
%%DATADIR%%/templates/dcim/device/interfaces.html
-%%DATADIR%%/templates/dcim/device/inventory.html
-%%DATADIR%%/templates/dcim/device/modulebays.html
-%%DATADIR%%/templates/dcim/device/poweroutlets.html
-%%DATADIR%%/templates/dcim/device/powerports.html
-%%DATADIR%%/templates/dcim/device/rearports.html
%%DATADIR%%/templates/dcim/device_edit.html
-%%DATADIR%%/templates/dcim/device_list.html
%%DATADIR%%/templates/dcim/devicebay.html
%%DATADIR%%/templates/dcim/devicebay_depopulate.html
%%DATADIR%%/templates/dcim/devicebay_populate.html
%%DATADIR%%/templates/dcim/devicerole.html
%%DATADIR%%/templates/dcim/devicetype.html
%%DATADIR%%/templates/dcim/devicetype/base.html
-%%DATADIR%%/templates/dcim/devicetype/component_templates.html
%%DATADIR%%/templates/dcim/frontport.html
%%DATADIR%%/templates/dcim/htmx/cable_edit.html
%%DATADIR%%/templates/dcim/inc/cable_termination.html
@@ -1193,7 +1216,6 @@
%%DATADIR%%/templates/dcim/module.html
%%DATADIR%%/templates/dcim/modulebay.html
%%DATADIR%%/templates/dcim/moduletype.html
-%%DATADIR%%/templates/dcim/moduletype/component_templates.html
%%DATADIR%%/templates/dcim/moduletypeprofile.html
%%DATADIR%%/templates/dcim/platform.html
%%DATADIR%%/templates/dcim/powerfeed.html
@@ -1221,7 +1243,6 @@
%%DATADIR%%/templates/dcim/trace/powerpanel.html
%%DATADIR%%/templates/dcim/trace/termination.html
%%DATADIR%%/templates/dcim/virtualchassis.html
-%%DATADIR%%/templates/dcim/virtualchassis_add.html
%%DATADIR%%/templates/dcim/virtualchassis_add_member.html
%%DATADIR%%/templates/dcim/virtualchassis_edit.html
%%DATADIR%%/templates/dcim/virtualchassis_remove_member.html
@@ -1236,9 +1257,8 @@
%%DATADIR%%/templates/exceptions/permission_error.html
%%DATADIR%%/templates/exceptions/programming_error.html
%%DATADIR%%/templates/extras/configcontext.html
-%%DATADIR%%/templates/extras/configcontext_list.html
+%%DATADIR%%/templates/extras/configcontextprofile.html
%%DATADIR%%/templates/extras/configtemplate.html
-%%DATADIR%%/templates/extras/configtemplate_list.html
%%DATADIR%%/templates/extras/customfield.html
%%DATADIR%%/templates/extras/customfieldchoiceset.html
%%DATADIR%%/templates/extras/customlink.html
@@ -1252,7 +1272,6 @@
%%DATADIR%%/templates/extras/dashboard/widgets/rssfeed.html
%%DATADIR%%/templates/extras/eventrule.html
%%DATADIR%%/templates/extras/exporttemplate.html
-%%DATADIR%%/templates/extras/exporttemplate_list.html
%%DATADIR%%/templates/extras/htmx/script_result.html
%%DATADIR%%/templates/extras/imageattachment.html
%%DATADIR%%/templates/extras/inc/configcontext_data.html
@@ -1263,6 +1282,7 @@
%%DATADIR%%/templates/extras/notificationgroup.html
%%DATADIR%%/templates/extras/object_changelog.html
%%DATADIR%%/templates/extras/object_configcontext.html
+%%DATADIR%%/templates/extras/object_imageattachments.html
%%DATADIR%%/templates/extras/object_journal.html
%%DATADIR%%/templates/extras/object_render_config.html
%%DATADIR%%/templates/extras/report/base.html
@@ -1286,7 +1306,6 @@
%%DATADIR%%/templates/generic/bulk_delete.html
%%DATADIR%%/templates/generic/bulk_edit.html
%%DATADIR%%/templates/generic/bulk_import.html
-%%DATADIR%%/templates/generic/bulk_remove.html
%%DATADIR%%/templates/generic/bulk_rename.html
%%DATADIR%%/templates/generic/confirmation_form.html
%%DATADIR%%/templates/generic/object.html
@@ -1380,18 +1399,15 @@
%%DATADIR%%/templates/users/token.html
%%DATADIR%%/templates/users/token_edit.html
%%DATADIR%%/templates/users/user.html
+%%DATADIR%%/templates/virtualization/buttons/bulk_add_components.html
%%DATADIR%%/templates/virtualization/cluster.html
%%DATADIR%%/templates/virtualization/cluster/base.html
-%%DATADIR%%/templates/virtualization/cluster/devices.html
%%DATADIR%%/templates/virtualization/cluster_add_devices.html
%%DATADIR%%/templates/virtualization/clustergroup.html
%%DATADIR%%/templates/virtualization/clustertype.html
%%DATADIR%%/templates/virtualization/virtualdisk.html
%%DATADIR%%/templates/virtualization/virtualmachine.html
%%DATADIR%%/templates/virtualization/virtualmachine/base.html
-%%DATADIR%%/templates/virtualization/virtualmachine/interfaces.html
-%%DATADIR%%/templates/virtualization/virtualmachine/virtual_disks.html
-%%DATADIR%%/templates/virtualization/virtualmachine_list.html
%%DATADIR%%/templates/virtualization/vminterface.html
%%DATADIR%%/templates/vpn/ikepolicy.html
%%DATADIR%%/templates/vpn/ikeproposal.html
@@ -1520,6 +1536,8 @@
%%DATADIR%%/users/migrations/0008_flip_objectpermission_assignments.py
%%DATADIR%%/users/migrations/0009_update_group_perms.py
%%DATADIR%%/users/migrations/0010_add_token_meta_ordering.py
+%%DATADIR%%/users/migrations/0011_concrete_objecttype.py
+%%DATADIR%%/users/migrations/0012_drop_django_admin_log_table.py
%%DATADIR%%/users/migrations/__init__.py
%%DATADIR%%/users/models/__init__.py
%%DATADIR%%/users/models/permissions.py
@@ -1540,6 +1558,7 @@
%%DATADIR%%/users/views.py
%%DATADIR%%/utilities/__init__.py
%%DATADIR%%/utilities/api.py
+%%DATADIR%%/utilities/apps.py
%%DATADIR%%/utilities/choices.py
%%DATADIR%%/utilities/constants.py
%%DATADIR%%/utilities/conversion.py
@@ -1548,6 +1567,7 @@
%%DATADIR%%/utilities/datetime.py
%%DATADIR%%/utilities/error_handlers.py
%%DATADIR%%/utilities/exceptions.py
+%%DATADIR%%/utilities/export.py
%%DATADIR%%/utilities/fields.py
%%DATADIR%%/utilities/filters.py
%%DATADIR%%/utilities/forms/__init__.py
@@ -1572,6 +1592,7 @@
%%DATADIR%%/utilities/html.py
%%DATADIR%%/utilities/htmx.py
%%DATADIR%%/utilities/jinja2.py
+%%DATADIR%%/utilities/jobs.py
%%DATADIR%%/utilities/json.py
%%DATADIR%%/utilities/jsonschema.py
%%DATADIR%%/utilities/management/__init__.py
@@ -1610,6 +1631,7 @@
%%DATADIR%%/utilities/templates/buttons/bookmark.html
%%DATADIR%%/utilities/templates/buttons/bulk_delete.html
%%DATADIR%%/utilities/templates/buttons/bulk_edit.html
+%%DATADIR%%/utilities/templates/buttons/bulk_rename.html
%%DATADIR%%/utilities/templates/buttons/clone.html
%%DATADIR%%/utilities/templates/buttons/delete.html
%%DATADIR%%/utilities/templates/buttons/edit.html
@@ -1666,6 +1688,8 @@
%%DATADIR%%/utilities/tests/test_ordering.py
%%DATADIR%%/utilities/tests/test_prefetch.py
%%DATADIR%%/utilities/tests/test_request.py
+%%DATADIR%%/utilities/tests/test_serialization.py
+%%DATADIR%%/utilities/tests/test_templatetags.py
%%DATADIR%%/utilities/tests/test_utils.py
%%DATADIR%%/utilities/tracking.py
%%DATADIR%%/utilities/urls.py
@@ -1714,6 +1738,7 @@
%%DATADIR%%/virtualization/models/__init__.py
%%DATADIR%%/virtualization/models/clusters.py
%%DATADIR%%/virtualization/models/virtualmachines.py
+%%DATADIR%%/virtualization/object_actions.py
%%DATADIR%%/virtualization/search.py
%%DATADIR%%/virtualization/signals.py
%%DATADIR%%/virtualization/tables/__init__.py
diff --git a/science/orthanc/Makefile b/science/orthanc/Makefile
index e2760ebdd218..aea16f8b7f97 100644
--- a/science/orthanc/Makefile
+++ b/science/orthanc/Makefile
@@ -1,6 +1,5 @@
PORTNAME= orthanc
-DISTVERSION= 1.12.6
-PORTREVISION= 4
+DISTVERSION= 1.12.9
CATEGORIES= science
MASTER_SITES= https://orthanc.uclouvain.be/downloads/sources/orthanc/
DISTNAME= Orthanc-${PORTVERSION}
@@ -12,24 +11,19 @@ WWW= https://www.orthanc-server.com/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= protoc:devel/protobuf
-
+BUILD_DEPENDS= protoc:devel/protobuf \
+ googletest>0:devel/googletest
LIB_DEPENDS= libboost_atomic.so:devel/boost-libs \
libcivetweb.so:www/civetweb \
libcurl.so:ftp/curl \
libdcmtkcharls.so:graphics/dcmtk \
- libgtest.so:devel/googletest \
- libicuuc.so:devel/icu \
libjsoncpp.so:devel/jsoncpp \
libpng16.so:graphics/png \
libprotobuf.so:devel/protobuf \
libpugixml.so:textproc/pugixml \
- libtiff.so:graphics/tiff \
libuuid.so:misc/libuuid
USES= cmake gnome iconv jpeg lua python:build sqlite ssl
-USE_GNOME= libxml2
-USE_LDCONFIG= yes
USE_RC_SUBR= orthanc
diff --git a/science/orthanc/distinfo b/science/orthanc/distinfo
index 2498469be620..d57475212b4a 100644
--- a/science/orthanc/distinfo
+++ b/science/orthanc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739138261
-SHA256 (Orthanc-1.12.6.tar.gz) = aa5b6d6309965ed360625b5572e79068e6c501b603163e330629f2f0a56a0fe9
-SIZE (Orthanc-1.12.6.tar.gz) = 2089779
+TIMESTAMP = 1761178767
+SHA256 (Orthanc-1.12.9.tar.gz) = 7a7cbc5f3663939fbef31ded021b36fcd52420337911ed43491bb663bcb5a4b2
+SIZE (Orthanc-1.12.9.tar.gz) = 2165182
diff --git a/science/orthanc/files/orthanc.in b/science/orthanc/files/orthanc.in
index 85d6af45d8a1..9cbe3d1cd321 100644
--- a/science/orthanc/files/orthanc.in
+++ b/science/orthanc/files/orthanc.in
@@ -23,13 +23,13 @@ desc="Lightweight DICOM server for healthcare and medical research"
load_rc_config $name
: ${orthanc_enable:=NO}
-: ${orthanc_flags="%%ETCDIR%%/orthanc.json"}
+: ${orthanc_config="%%ETCDIR%%/orthanc.json"}
start_precmd=orthanc_prestart
pidfile=/var/run/orthanc.pid
procname=%%PREFIX%%/sbin/Orthanc
command=/usr/sbin/daemon
-command_args=" -f -p ${pidfile} -u orthanc ${procname} ${orthanc_flags}"
+command_args=" --output-file /var/log/orthanc --sighup --child-pidfile ${pidfile} --user orthanc ${procname} ${orthanc_flags} ${orthanc_config}"
orthanc_prestart()
{
diff --git a/science/orthanc/files/patch-OrthancFramework_Sources_Images_JpegWriter.cpp b/science/orthanc/files/patch-OrthancFramework_Sources_Images_JpegWriter.cpp
deleted file mode 100644
index 59b845085092..000000000000
--- a/science/orthanc/files/patch-OrthancFramework_Sources_Images_JpegWriter.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- OrthancFramework/Sources/Images/JpegWriter.cpp.orig 2024-12-17 16:33:40 UTC
-+++ OrthancFramework/Sources/Images/JpegWriter.cpp
-@@ -187,7 +187,7 @@ namespace Orthanc
- **/
- unsigned long size;
- #else
-- size_t size;
-+ unsigned long size;
- #endif
-
- if (setjmp(jerr.GetJumpBuffer()))
diff --git a/science/orthanc/files/patch-OrthancServer_Resources_Configuration.json b/science/orthanc/files/patch-OrthancServer_Resources_Configuration.json
index f6b4af632e2e..212fadfde386 100644
--- a/science/orthanc/files/patch-OrthancServer_Resources_Configuration.json
+++ b/science/orthanc/files/patch-OrthancServer_Resources_Configuration.json
@@ -5,13 +5,13 @@
// raw DICOM instances). Backslashes must be either escaped by
// doubling them, or replaced by forward slashes "/".
- "StorageDirectory" : "OrthancStorage",
-+ "StorageDirectory" : "/var/db/orthanc/db-v5",
++ "StorageDirectory" : "/var/db/orthanc/db/db-v5",
// Path to the directory that holds the SQLite index (if unset, the
// value of StorageDirectory is used). This index could be stored on
// a RAM-drive or a SSD device for performance reasons.
- "IndexDirectory" : "OrthancStorage",
-+ "IndexDirectory" : "/var/db/orthanc/db-v5",
++ "IndexDirectory" : "/var/db/orthanc/db/db-v5",
// Path to the directory where Orthanc stores its large temporary
// files. The content of this folder can be safely deleted once
diff --git a/science/orthanc/files/patch-OrthancServer_Sources_Database_PrepareDatabase.sql b/science/orthanc/files/patch-OrthancServer_Sources_Database_PrepareDatabase.sql
new file mode 100644
index 000000000000..ffe19920c2b0
--- /dev/null
+++ b/science/orthanc/files/patch-OrthancServer_Sources_Database_PrepareDatabase.sql
@@ -0,0 +1,13 @@
+--- OrthancServer/Sources/Database/PrepareDatabase.sql.orig 2025-08-11 16:02:50 UTC
++++ OrthancServer/Sources/Database/PrepareDatabase.sql
+@@ -160,4 +160,9 @@ -- The "1" corresponds to the "GlobalProperty_Database
+
+ -- Set the version of the database schema
+ -- The "1" corresponds to the "GlobalProperty_DatabaseSchemaVersion" enumeration
+-INSERT INTO GlobalProperties VALUES (1, "6");
++-- Upstream code has (1, "6"), which causes startup to fail on FreeBSD
++-- E1023 08:43:05.328003 MAIN Connection.cpp:169] SQLite execute error: no such column: "6" - should this be a string literal in single-quotes? (1)
++-- Apparently due to sqlite 3.41+ being stricter about string literals
++-- Debian packages currently uses 3.34
++-- https://orthanc.uclouvain.be/bugs/show_bug.cgi?id=227
++INSERT INTO GlobalProperties VALUES (1, 6);
diff --git a/security/bruteblock/Makefile b/security/bruteblock/Makefile
index f31b5bf141fb..71afc2ce1c08 100644
--- a/security/bruteblock/Makefile
+++ b/security/bruteblock/Makefile
@@ -1,5 +1,5 @@
PORTNAME= bruteblock
-PORTVERSION= 0.0.6
+PORTVERSION= 0.1.1
DISTVERSIONPREFIX= v
CATEGORIES= security
diff --git a/security/bruteblock/distinfo b/security/bruteblock/distinfo
index a1208e109fa1..c52ecf36d9b4 100644
--- a/security/bruteblock/distinfo
+++ b/security/bruteblock/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1731881673
-SHA256 (samm-git-bruteblock-v0.0.6_GH0.tar.gz) = f13df4444c9686ff109e1fadaa62e95608630c0284e57bcad27f0528e3bcf51a
-SIZE (samm-git-bruteblock-v0.0.6_GH0.tar.gz) = 24665
+TIMESTAMP = 1761303938
+SHA256 (samm-git-bruteblock-v0.1.1_GH0.tar.gz) = e35892c33e57372e94ee66ee9e5731b0e19b404752f345db9b2ce243f2b7d810
+SIZE (samm-git-bruteblock-v0.1.1_GH0.tar.gz) = 40029
diff --git a/security/openssh-portable/Makefile b/security/openssh-portable/Makefile
index f36d91c12c4a..130687293fe4 100644
--- a/security/openssh-portable/Makefile
+++ b/security/openssh-portable/Makefile
@@ -1,6 +1,6 @@
PORTNAME= openssh
DISTVERSION= 10.2p1
-PORTREVISION= 0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= security
MASTER_SITES= OPENBSD/OpenSSH/portable
diff --git a/security/openssh-portable/files/extra-patch-blacklistd b/security/openssh-portable/files/extra-patch-blacklistd
index 3118103c5d74..698c109ccfe6 100644
--- a/security/openssh-portable/files/extra-patch-blacklistd
+++ b/security/openssh-portable/files/extra-patch-blacklistd
@@ -30,7 +30,7 @@
sshpam_authctxt->user, sshpam_rhost);
--- auth.c.orig 2025-10-02 12:00:00.000000000
+++ auth.c 2025-10-02 12:00:00.000000000
-@@ -75,6 +75,7 @@
+@@ -73,6 +73,7 @@
#include "monitor_wrap.h"
#include "ssherr.h"
#include "channels.h"
@@ -38,7 +38,7 @@
/* import */
extern ServerOptions options;
-@@ -285,8 +286,12 @@
+@@ -283,8 +284,12 @@
authmsg = "Postponed";
else if (partial)
authmsg = "Partial";
@@ -52,7 +52,7 @@
if ((extra = format_method_key(authctxt)) == NULL) {
if (authctxt->auth_method_info != NULL)
-@@ -334,6 +339,7 @@
+@@ -332,6 +337,7 @@
{
Authctxt *authctxt = (Authctxt *)ssh->authctxt;
@@ -60,7 +60,7 @@
error("maximum authentication attempts exceeded for "
"%s%.100s from %.200s port %d ssh2",
authctxt->valid ? "" : "invalid user ",
-@@ -494,6 +500,8 @@
+@@ -492,6 +498,8 @@
aix_restoreauthdb();
#endif
if (pw == NULL) {
@@ -235,7 +235,7 @@
+#endif /* BLACKLIST_CLIENT_H */
--- monitor.c.orig 2025-10-02 12:00:00.000000000
+++ monitor.c 2025-10-02 12:00:00.000000000
-@@ -85,6 +85,8 @@
+@@ -75,6 +75,8 @@
#include "misc.h"
#include "servconf.h"
#include "monitor.h"
@@ -244,7 +244,7 @@
#ifdef GSSAPI
#include "ssh-gss.h"
#endif
-@@ -353,16 +355,24 @@
+@@ -343,16 +345,24 @@
}
}
if (authctxt->failures > options.max_authtries) {
@@ -274,7 +274,7 @@
auth_attempted = 0;
--- servconf.c.orig 2025-10-02 12:00:00.000000000
+++ servconf.c 2025-10-02 12:00:00.000000000
-@@ -186,6 +186,7 @@
+@@ -184,6 +184,7 @@
options->max_sessions = -1;
options->banner = NULL;
options->use_dns = -1;
@@ -282,7 +282,7 @@
options->client_alive_interval = -1;
options->client_alive_count_max = -1;
options->num_authkeys_files = 0;
-@@ -455,6 +456,8 @@
+@@ -449,6 +458,8 @@
options->max_sessions = DEFAULT_SESSIONS_MAX;
if (options->use_dns == -1)
options->use_dns = 0;
@@ -291,7 +291,7 @@
if (options->client_alive_interval == -1)
options->client_alive_interval = 0;
if (options->client_alive_count_max == -1)
-@@ -563,6 +566,7 @@
+@@ -567,6 +568,7 @@
sGatewayPorts, sPubkeyAuthentication, sPubkeyAcceptedAlgorithms,
sXAuthLocation, sSubsystem, sMaxStartups, sMaxAuthTries, sMaxSessions,
sBanner, sUseDNS, sHostbasedAuthentication,
@@ -299,7 +299,7 @@
sHostbasedUsesNameFromPacketOnly, sHostbasedAcceptedAlgorithms,
sHostKeyAlgorithms, sPerSourceMaxStartups, sPerSourceNetBlockSize,
sPerSourcePenalties, sPerSourcePenaltyExemptList,
-@@ -706,6 +710,8 @@
+@@ -700,6 +712,8 @@
{ "maxsessions", sMaxSessions, SSHCFG_ALL },
{ "banner", sBanner, SSHCFG_ALL },
{ "usedns", sUseDNS, SSHCFG_GLOBAL },
@@ -308,7 +308,7 @@
{ "verifyreversemapping", sDeprecated, SSHCFG_GLOBAL },
{ "reversemappingcheck", sDeprecated, SSHCFG_GLOBAL },
{ "clientaliveinterval", sClientAliveInterval, SSHCFG_ALL },
-@@ -1788,6 +1794,10 @@
+@@ -1782,6 +1796,10 @@
intptr = &options->use_dns;
goto parse_flag;
@@ -319,7 +319,7 @@
case sLogFacility:
log_facility_ptr = &options->log_facility;
arg = argv_next(&ac, &av);
-@@ -3276,6 +3286,7 @@
+@@ -3279,6 +3297,7 @@
dump_cfg_fmtint(sCompression, o->compression);
dump_cfg_fmtint(sGatewayPorts, o->fwd_opts.gateway_ports);
dump_cfg_fmtint(sUseDNS, o->use_dns);
@@ -339,7 +339,7 @@
* see if it's still there
--- sshd-session.c.orig 2025-10-02 12:00:00.000000000
+++ sshd-session.c 2025-10-02 12:00:00.000000000
-@@ -108,6 +108,7 @@
+@@ -102,6 +102,7 @@
#include "sk-api.h"
#include "srclimit.h"
#include "dh.h"
@@ -347,16 +347,7 @@
#ifdef LIBWRAP
#include <tcpd.h>
-@@ -223,6 +224,8 @@
- static void
- grace_alarm_handler(int sig)
- {
-+ BLACKLIST_NOTIFY(the_active_state, BLACKLIST_AUTH_FAIL,
-+ "Grace period expired");
- /*
- * Try to kill any processes that we have spawned, E.g. authorized
- * keys command helpers or privsep children.
-@@ -1206,6 +1209,8 @@
+@@ -1175,6 +1176,8 @@
ssh_signal(SIGQUIT, SIG_DFL);
ssh_signal(SIGCHLD, SIG_DFL);
ssh_signal(SIGINT, SIG_DFL);
@@ -365,7 +356,7 @@
/*
* Register our connection. This turns encryption off because we do
-@@ -1297,8 +1302,10 @@
+@@ -1249,8 +1271,10 @@
}
if ((r = kex_exchange_identification(ssh, -1,
@@ -377,7 +368,7 @@
ssh_packet_set_nonblocking(ssh);
-@@ -1443,7 +1450,10 @@
+@@ -1395,7 +1419,10 @@
audit_event(the_active_state, SSH_CONNECTION_ABANDON);
#endif
/* Override default fatal exit value when auth was attempted */
diff --git a/security/py-greenbone-feed-sync/Makefile b/security/py-greenbone-feed-sync/Makefile
index 7b32bb1ca99c..b43efa6864ab 100644
--- a/security/py-greenbone-feed-sync/Makefile
+++ b/security/py-greenbone-feed-sync/Makefile
@@ -1,6 +1,7 @@
PORTNAME= greenbone-feed-sync
DISTVERSION= 25.1.3
DISTVERSIONPREFIX= v
+PORTREVISION= 1
CATEGORIES= security python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/security/py-greenbone-feed-sync/pkg-plist b/security/py-greenbone-feed-sync/pkg-plist
index c6dadda2e728..885e9cd544ce 100644
--- a/security/py-greenbone-feed-sync/pkg-plist
+++ b/security/py-greenbone-feed-sync/pkg-plist
@@ -44,7 +44,7 @@ bin/greenbone-scapdata-sync
%%PYTHON_SITELIBDIR%%/greenbone/tests/test_main.py
%%PYTHON_SITELIBDIR%%/greenbone/tests/test_parser.py
%%PYTHON_SITELIBDIR%%/greenbone/tests/test_rsync.py
-%%PYTHON_SITELIBDIR%%/greenbone_feed_sync-25.1.3.dev1.dist-info/LICENSE
+%%PYTHON_SITELIBDIR%%/greenbone_feed_sync-25.1.3.dev1.dist-info/licenses/LICENSE
%%PYTHON_SITELIBDIR%%/greenbone_feed_sync-25.1.3.dev1.dist-info/METADATA
%%PYTHON_SITELIBDIR%%/greenbone_feed_sync-25.1.3.dev1.dist-info/RECORD
%%PYTHON_SITELIBDIR%%/greenbone_feed_sync-25.1.3.dev1.dist-info/WHEEL
diff --git a/security/py-netbox-secrets/Makefile b/security/py-netbox-secrets/Makefile
index 6e0ea3052e3d..92c2ded69ea1 100644
--- a/security/py-netbox-secrets/Makefile
+++ b/security/py-netbox-secrets/Makefile
@@ -1,5 +1,5 @@
PORTNAME= netbox-secrets
-DISTVERSION= 2.3.4
+DISTVERSION= 2.4.0
CATEGORIES= security python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/security/py-netbox-secrets/distinfo b/security/py-netbox-secrets/distinfo
index b41475fc59e1..9a0ce0c21d24 100644
--- a/security/py-netbox-secrets/distinfo
+++ b/security/py-netbox-secrets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1757763459
-SHA256 (netbox_secrets-2.3.4.tar.gz) = 24927913b662602ac163d98e34bfa3bfec47f037a58aaa02ee21a0c28b6410ca
-SIZE (netbox_secrets-2.3.4.tar.gz) = 60985
+TIMESTAMP = 1761216477
+SHA256 (netbox_secrets-2.4.0.tar.gz) = c96a2d332796bf6a9091794e6c1f82623861cf82f2cb36d821bbf8dea839a50e
+SIZE (netbox_secrets-2.4.0.tar.gz) = 60954
diff --git a/security/sequoia-chameleon-gnupg/Makefile b/security/sequoia-chameleon-gnupg/Makefile
index e9e1ea6e49c6..a7a87eed9200 100644
--- a/security/sequoia-chameleon-gnupg/Makefile
+++ b/security/sequoia-chameleon-gnupg/Makefile
@@ -1,8 +1,10 @@
PORTNAME= sequoia-chameleon-gnupg
-DISTVERSIONPREFIX= v
DISTVERSION= 0.13.1
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= security
+MASTER_SITES= CRATESIO
+# XXX Teach USES=cargo to have proper default
+DISTFILES= ${CARGO_DIST_SUBDIR}/${DISTNAME}${CARGO_CRATE_EXT}
MAINTAINER= vishwin@FreeBSD.org
COMMENT= Reimplementation of gpg using Sequoia
@@ -18,9 +20,6 @@ TEST_DEPENDS= sq:security/sequoia-sq \
USES= cargo llvm sqlite ssl
-USE_GITLAB= yes
-GL_ACCOUNT= sequoia-pgp
-
CARGO_ENV+= ASSET_OUT_DIR=${CARGO_TARGET_DIR}
TEST_ENV= REAL_GPG_BIN=${LOCALBASE}/bin/gpg2 \
REAL_GPGV_BIN=${LOCALBASE}/bin/gpgv2
diff --git a/security/sequoia-chameleon-gnupg/Makefile.crates b/security/sequoia-chameleon-gnupg/Makefile.crates
index 688411394b06..6d710798f065 100644
--- a/security/sequoia-chameleon-gnupg/Makefile.crates
+++ b/security/sequoia-chameleon-gnupg/Makefile.crates
@@ -43,6 +43,7 @@ CARGO_CRATES= addr2line-0.24.2 \
cc-1.2.10 \
cexpr-0.6.0 \
cfg-if-1.0.0 \
+ cfg_aliases-0.2.1 \
chrono-0.4.39 \
cipher-0.4.4 \
clang-sys-1.8.1 \
@@ -125,6 +126,7 @@ CARGO_CRATES= addr2line-0.24.2 \
generic-array-0.14.7 \
gethostname-0.5.0 \
getrandom-0.2.15 \
+ getrandom-0.3.4 \
ghash-0.5.1 \
gimli-0.31.1 \
glob-0.3.2 \
@@ -191,6 +193,7 @@ CARGO_CRATES= addr2line-0.24.2 \
lock_api-0.4.12 \
log-0.4.25 \
lru-cache-0.1.2 \
+ lru-slab-0.1.2 \
match_cfg-0.1.0 \
md-5-0.10.6 \
memchr-2.7.4 \
@@ -199,7 +202,7 @@ CARGO_CRATES= addr2line-0.24.2 \
minimal-lexical-0.2.1 \
miniz_oxide-0.8.3 \
mio-1.0.3 \
- native-tls-0.2.13 \
+ native-tls-0.2.14 \
nettle-7.4.0 \
nettle-sys-2.3.1 \
new_debug_unreachable-1.0.6 \
@@ -243,11 +246,18 @@ CARGO_CRATES= addr2line-0.24.2 \
proc-macro2-1.0.93 \
pty-process-0.4.0 \
quick-error-1.2.3 \
+ quinn-0.11.9 \
+ quinn-proto-0.11.13 \
+ quinn-udp-0.5.14 \
quote-1.0.38 \
+ r-efi-5.3.0 \
radix_trie-0.2.1 \
rand-0.8.5 \
+ rand-0.9.2 \
rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
rand_core-0.6.4 \
+ rand_core-0.9.3 \
rand_distr-0.4.3 \
rayon-1.10.0 \
rayon-core-1.12.1 \
@@ -266,9 +276,11 @@ CARGO_CRATES= addr2line-0.24.2 \
rusqlite-0.31.0 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
+ rustc-hash-2.1.1 \
rustc_version-0.4.1 \
rustix-0.38.44 \
rustls-0.23.21 \
+ rustls-native-certs-0.8.2 \
rustls-pemfile-2.2.0 \
rustls-pki-types-1.11.0 \
rustls-webpki-0.102.8 \
@@ -321,7 +333,9 @@ CARGO_CRATES= addr2line-0.24.2 \
tempfile-3.15.0 \
term-0.7.0 \
thiserror-1.0.69 \
+ thiserror-2.0.17 \
thiserror-impl-1.0.69 \
+ thiserror-impl-2.0.17 \
time-0.3.37 \
time-core-0.1.2 \
time-macros-0.2.19 \
@@ -359,6 +373,7 @@ CARGO_CRATES= addr2line-0.24.2 \
walkdir-2.5.0 \
want-0.3.1 \
wasi-0.11.0+wasi-snapshot-preview1 \
+ wasip2-1.0.1+wasi-0.2.4 \
wasm-bindgen-0.2.100 \
wasm-bindgen-backend-0.2.100 \
wasm-bindgen-futures-0.4.50 \
@@ -366,6 +381,9 @@ CARGO_CRATES= addr2line-0.24.2 \
wasm-bindgen-macro-support-0.2.100 \
wasm-bindgen-shared-0.2.100 \
web-sys-0.3.77 \
+ web-time-1.1.0 \
+ webpki-roots-0.26.11 \
+ webpki-roots-1.0.3 \
widestring-1.1.0 \
win-crypto-ng-0.5.1 \
winapi-0.3.9 \
@@ -398,6 +416,7 @@ CARGO_CRATES= addr2line-0.24.2 \
windows_x86_64_msvc-0.52.6 \
winnow-0.6.24 \
winreg-0.50.0 \
+ wit-bindgen-0.46.0 \
write16-1.0.0 \
writeable-0.5.5 \
xxhash-rust-0.8.15 \
diff --git a/security/sequoia-chameleon-gnupg/distinfo b/security/sequoia-chameleon-gnupg/distinfo
index 6e900ff6b60b..74ef99e94918 100644
--- a/security/sequoia-chameleon-gnupg/distinfo
+++ b/security/sequoia-chameleon-gnupg/distinfo
@@ -1,4 +1,6 @@
-TIMESTAMP = 1760869516
+TIMESTAMP = 1761349422
+SHA256 (rust/crates/sequoia-chameleon-gnupg-0.13.1.crate) = 709cc7440fe79a0794209c82e48fe5044358f1e37d11bb9a4a27ebe64fb6eae2
+SIZE (rust/crates/sequoia-chameleon-gnupg-0.13.1.crate) = 1161250
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -89,6 +91,8 @@ SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb62990
SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
+SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
SHA256 (rust/crates/chrono-0.4.39.crate) = 7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825
SIZE (rust/crates/chrono-0.4.39.crate) = 222248
SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
@@ -253,6 +257,8 @@ SHA256 (rust/crates/gethostname-0.5.0.crate) = dc3655aa6818d65bc620d6911f05aa7b6
SIZE (rust/crates/gethostname-0.5.0.crate) = 8772
SHA256 (rust/crates/getrandom-0.2.15.crate) = c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7
SIZE (rust/crates/getrandom-0.2.15.crate) = 37163
+SHA256 (rust/crates/getrandom-0.3.4.crate) = 899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd
+SIZE (rust/crates/getrandom-0.3.4.crate) = 50932
SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1
SIZE (rust/crates/ghash-0.5.1.crate) = 9482
SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
@@ -385,6 +391,8 @@ SHA256 (rust/crates/log-0.4.25.crate) = 04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab
SIZE (rust/crates/log-0.4.25.crate) = 44876
SHA256 (rust/crates/lru-cache-0.1.2.crate) = 31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c
SIZE (rust/crates/lru-cache-0.1.2.crate) = 9307
+SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154
+SIZE (rust/crates/lru-slab-0.1.2.crate) = 9090
SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
SIZE (rust/crates/match_cfg-0.1.0.crate) = 7153
SHA256 (rust/crates/md-5-0.10.6.crate) = d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf
@@ -401,8 +409,8 @@ SHA256 (rust/crates/miniz_oxide-0.8.3.crate) = b8402cab7aefae129c6977bb0ff1b8fd9
SIZE (rust/crates/miniz_oxide-0.8.3.crate) = 61827
SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
SIZE (rust/crates/mio-1.0.3.crate) = 103703
-SHA256 (rust/crates/native-tls-0.2.13.crate) = 0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c
-SIZE (rust/crates/native-tls-0.2.13.crate) = 29133
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
SHA256 (rust/crates/nettle-7.4.0.crate) = 44e6ff4a94e5d34a1fd5abbd39418074646e2fa51b257198701330f22fcd6936
SIZE (rust/crates/nettle-7.4.0.crate) = 583944
SHA256 (rust/crates/nettle-sys-2.3.1.crate) = 61a3f5406064d310d59b1a219d3c5c9a49caf4047b6496032e3f930876488c34
@@ -489,16 +497,30 @@ SHA256 (rust/crates/pty-process-0.4.0.crate) = 8749b545e244c90bf74a5767764cc2194
SIZE (rust/crates/pty-process-0.4.0.crate) = 12843
SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
+SHA256 (rust/crates/quinn-0.11.9.crate) = b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20
+SIZE (rust/crates/quinn-0.11.9.crate) = 83606
+SHA256 (rust/crates/quinn-proto-0.11.13.crate) = f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31
+SIZE (rust/crates/quinn-proto-0.11.13.crate) = 243837
+SHA256 (rust/crates/quinn-udp-0.5.14.crate) = addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd
+SIZE (rust/crates/quinn-udp-0.5.14.crate) = 33436
SHA256 (rust/crates/quote-1.0.38.crate) = 0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc
SIZE (rust/crates/quote-1.0.38.crate) = 31252
+SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
+SIZE (rust/crates/r-efi-5.3.0.crate) = 64532
SHA256 (rust/crates/radix_trie-0.2.1.crate) = c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd
SIZE (rust/crates/radix_trie-0.2.1.crate) = 251366
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1
+SIZE (rust/crates/rand-0.9.2.crate) = 99930
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
SHA256 (rust/crates/rand_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
@@ -535,12 +557,16 @@ SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa
SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
SIZE (rust/crates/rustix-0.38.44.crate) = 379347
SHA256 (rust/crates/rustls-0.23.21.crate) = 8f287924602bf649d949c63dc8ac8b235fa5387d394020705b80c4eb597ce5b8
SIZE (rust/crates/rustls-0.23.21.crate) = 337106
+SHA256 (rust/crates/rustls-native-certs-0.8.2.crate) = 9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923
+SIZE (rust/crates/rustls-native-certs-0.8.2.crate) = 31903
SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50
SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849
SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c
@@ -645,8 +671,12 @@ SHA256 (rust/crates/term-0.7.0.crate) = c59df8ac95d96ff9bede18eb7300b0fda5e5d8d9
SIZE (rust/crates/term-0.7.0.crate) = 37082
SHA256 (rust/crates/thiserror-1.0.69.crate) = b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52
SIZE (rust/crates/thiserror-1.0.69.crate) = 22198
+SHA256 (rust/crates/thiserror-2.0.17.crate) = f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8
+SIZE (rust/crates/thiserror-2.0.17.crate) = 28857
SHA256 (rust/crates/thiserror-impl-1.0.69.crate) = 4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1
SIZE (rust/crates/thiserror-impl-1.0.69.crate) = 18365
+SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913
+SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
SHA256 (rust/crates/time-0.3.37.crate) = 35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21
SIZE (rust/crates/time-0.3.37.crate) = 123257
SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
@@ -721,6 +751,8 @@ SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3da
SIZE (rust/crates/want-0.3.1.crate) = 6398
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 0562428422c63773dad2c345a1882263bbf4d65cf3f42e90921f787ef5ad58e7
+SIZE (rust/crates/wasip2-1.0.1+wasi-0.2.4.crate) = 132087
SHA256 (rust/crates/wasm-bindgen-0.2.100.crate) = 1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5
SIZE (rust/crates/wasm-bindgen-0.2.100.crate) = 48288
SHA256 (rust/crates/wasm-bindgen-backend-0.2.100.crate) = 2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6
@@ -735,6 +767,12 @@ SHA256 (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 1a05d73b933a847d6cccdda
SIZE (rust/crates/wasm-bindgen-shared-0.2.100.crate) = 8570
SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2
SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
+SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
+SIZE (rust/crates/web-time-1.1.0.crate) = 18026
+SHA256 (rust/crates/webpki-roots-0.26.11.crate) = 521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9
+SIZE (rust/crates/webpki-roots-0.26.11.crate) = 15557
+SHA256 (rust/crates/webpki-roots-1.0.3.crate) = 32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8
+SIZE (rust/crates/webpki-roots-1.0.3.crate) = 258244
SHA256 (rust/crates/widestring-1.1.0.crate) = 7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311
SIZE (rust/crates/widestring-1.1.0.crate) = 85046
SHA256 (rust/crates/win-crypto-ng-0.5.1.crate) = 99abfb435a71e54ab2971d8d8c32f1a7e006cdbf527f71743b1d45b93517bb92
@@ -799,6 +837,8 @@ SHA256 (rust/crates/winnow-0.6.24.crate) = c8d71a593cc5c42ad7876e2c1fda56f314f37
SIZE (rust/crates/winnow-0.6.24.crate) = 165680
SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
SIZE (rust/crates/winreg-0.50.0.crate) = 29703
+SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
+SIZE (rust/crates/wit-bindgen-0.46.0.crate) = 60508
SHA256 (rust/crates/write16-1.0.0.crate) = d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936
SIZE (rust/crates/write16-1.0.0.crate) = 7218
SHA256 (rust/crates/writeable-0.5.5.crate) = 1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51
@@ -825,5 +865,3 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (sequoia-chameleon-gnupg-v0.13.1.tar.bz2) = 8e204784c83b2f17cdd591bd9e2e3df01f9f68527bb5c97aa181c8bec5c6f857
-SIZE (sequoia-chameleon-gnupg-v0.13.1.tar.bz2) = 1014611
diff --git a/security/sequoia-chameleon-gnupg/files/patch-Cargo.toml b/security/sequoia-chameleon-gnupg/files/patch-Cargo.toml
new file mode 100644
index 000000000000..8938f4ad24b9
--- /dev/null
+++ b/security/sequoia-chameleon-gnupg/files/patch-Cargo.toml
@@ -0,0 +1,30 @@
+--- Cargo.toml.orig 1970-01-01 00:00:01 UTC
++++ Cargo.toml
+@@ -139,7 +139,13 @@ version = "0.12"
+
+ [dependencies.reqwest]
+ version = "0.12"
+-features = ["socks"]
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++ "socks",
++]
+
+ [dependencies.rpassword]
+ version = "7"
+@@ -236,6 +242,12 @@ version = "0.12"
+
+ [dev-dependencies.reqwest]
+ version = "0.12"
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++]
+
+ [dev-dependencies.serde_with]
+ version = "3"
diff --git a/security/sequoia-chameleon-gnupg/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml b/security/sequoia-chameleon-gnupg/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml
new file mode 100644
index 000000000000..e4c95e24f8a8
--- /dev/null
+++ b/security/sequoia-chameleon-gnupg/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml
@@ -0,0 +1,30 @@
+--- cargo-crates/sequoia-net-0.30.0/Cargo.toml.orig 1970-01-01 00:00:01 UTC
++++ cargo-crates/sequoia-net-0.30.0/Cargo.toml
+@@ -81,6 +81,12 @@ version = "0.12"
+
+ [dependencies.reqwest]
+ version = "0.12"
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++]
+
+ [dependencies.sequoia-openpgp]
+ version = "2"
+@@ -120,7 +126,13 @@ version = "0.12"
+
+ [dev-dependencies.reqwest]
+ version = "0.12"
+-features = ["socks"]
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++ "socks",
++]
+
+ [dev-dependencies.tempfile]
+ version = "3.1"
diff --git a/security/sequoia-sq/Makefile b/security/sequoia-sq/Makefile
index aaf571000b74..9dfac3d770b9 100644
--- a/security/sequoia-sq/Makefile
+++ b/security/sequoia-sq/Makefile
@@ -1,9 +1,10 @@
-PORTNAME= sq
-DISTVERSIONPREFIX= v
+PORTNAME= sequoia-sq
DISTVERSION= 1.3.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= security
-PKGNAMEPREFIX= sequoia-
+MASTER_SITES= CRATESIO
+# XXX Teach USES=cargo to have proper default
+DISTFILES= ${CARGO_DIST_SUBDIR}/${DISTNAME}${CARGO_CRATE_EXT}
MAINTAINER= vishwin@FreeBSD.org
COMMENT= Sequoia-PGP command line tool
@@ -17,10 +18,6 @@ LIB_DEPENDS= libnettle.so:security/nettle
USES= cargo llvm sqlite ssl
-USE_GITLAB= yes
-GL_ACCOUNT= sequoia-pgp
-GL_PROJECT= ${PKGNAMEPREFIX}${PORTNAME}
-
CARGO_ENV+= ASSET_OUT_DIR=${CARGO_TARGET_DIR}
OPTIONS_DEFINE= BASH ELVISH FISH MANPAGES ZSH
@@ -38,17 +35,17 @@ CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO=false
post-install-BASH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/bash-completion/completions
- ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/${PORTNAME}.bash \
- ${STAGEDIR}${PREFIX}/share/bash-completion/completions/${PORTNAME}
+ ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/sq.bash \
+ ${STAGEDIR}${PREFIX}/share/bash-completion/completions/sq
post-install-ELVISH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/elvish/lib
- ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/${PORTNAME}.elv \
+ ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/sq.elv \
${STAGEDIR}${PREFIX}/share/elvish/lib
post-install-FISH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions
- ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/${PORTNAME}.fish \
+ ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/sq.fish \
${STAGEDIR}${PREFIX}/share/fish/completions
post-install-MANPAGES-on:
@@ -57,8 +54,8 @@ post-install-MANPAGES-on:
post-install-ZSH-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
- ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/_${PORTNAME} \
- ${CARGO_TARGET_DIR}/shell-completions/_${PORTNAME}.ps1 \
+ ${INSTALL_DATA} ${CARGO_TARGET_DIR}/shell-completions/_sq \
+ ${CARGO_TARGET_DIR}/shell-completions/_sq.ps1 \
${STAGEDIR}${PREFIX}/share/zsh/site-functions
.include <bsd.port.post.mk>
diff --git a/security/sequoia-sq/Makefile.crates b/security/sequoia-sq/Makefile.crates
index 387830b068c5..24cc73fc4ee8 100644
--- a/security/sequoia-sq/Makefile.crates
+++ b/security/sequoia-sq/Makefile.crates
@@ -236,6 +236,7 @@ CARGO_CRATES= addr2line-0.24.2 \
log-0.4.26 \
loom-0.5.6 \
lru-cache-0.1.2 \
+ lru-slab-0.1.2 \
marked-yaml-0.7.2 \
match_cfg-0.1.0 \
matchers-0.1.0 \
@@ -246,7 +247,7 @@ CARGO_CRATES= addr2line-0.24.2 \
minimal-lexical-0.2.1 \
miniz_oxide-0.8.5 \
mio-1.0.3 \
- native-tls-0.2.13 \
+ native-tls-0.2.14 \
nettle-7.4.0 \
nettle-sys-2.3.1 \
new_debug_unreachable-1.0.6 \
@@ -309,11 +310,17 @@ CARGO_CRATES= addr2line-0.24.2 \
pulldown-cmark-0.12.2 \
pulldown-cmark-escape-0.11.0 \
quick-error-1.2.3 \
+ quinn-0.11.9 \
+ quinn-proto-0.11.13 \
+ quinn-udp-0.5.14 \
quote-1.0.39 \
radix_trie-0.2.1 \
rand-0.8.5 \
+ rand-0.9.2 \
rand_chacha-0.3.1 \
+ rand_chacha-0.9.0 \
rand_core-0.6.4 \
+ rand_core-0.9.3 \
rayon-1.10.0 \
rayon-core-1.12.1 \
redox_syscall-0.5.9 \
@@ -338,9 +345,11 @@ CARGO_CRATES= addr2line-0.24.2 \
rusqlite-0.31.0 \
rustc-demangle-0.1.24 \
rustc-hash-1.1.0 \
+ rustc-hash-2.1.1 \
rustc_version-0.4.1 \
rustix-0.38.44 \
rustls-0.23.23 \
+ rustls-native-certs-0.8.2 \
rustls-pemfile-2.2.0 \
rustls-pki-types-1.11.0 \
rustls-webpki-0.102.8 \
@@ -479,6 +488,8 @@ CARGO_CRATES= addr2line-0.24.2 \
wasm-streams-0.4.2 \
web-sys-0.3.77 \
web-time-1.1.0 \
+ webpki-roots-0.26.11 \
+ webpki-roots-1.0.3 \
widestring-1.1.0 \
win-crypto-ng-0.5.1 \
winapi-0.3.9 \
diff --git a/security/sequoia-sq/distinfo b/security/sequoia-sq/distinfo
index 5a90c1cccb31..c1f84c3fdde1 100644
--- a/security/sequoia-sq/distinfo
+++ b/security/sequoia-sq/distinfo
@@ -1,4 +1,6 @@
-TIMESTAMP = 1760869288
+TIMESTAMP = 1761346350
+SHA256 (rust/crates/sequoia-sq-1.3.1.crate) = 5c04b662da1c207e79beaeff6e5ab2d713ab10c1263f64c367f8489aac815705
+SIZE (rust/crates/sequoia-sq-1.3.1.crate) = 740320
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.0.crate) = 512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627
@@ -475,6 +477,8 @@ SHA256 (rust/crates/loom-0.5.6.crate) = ff50ecb28bb86013e935fb6683ab1f6d3a20016f
SIZE (rust/crates/loom-0.5.6.crate) = 72186
SHA256 (rust/crates/lru-cache-0.1.2.crate) = 31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c
SIZE (rust/crates/lru-cache-0.1.2.crate) = 9307
+SHA256 (rust/crates/lru-slab-0.1.2.crate) = 112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154
+SIZE (rust/crates/lru-slab-0.1.2.crate) = 9090
SHA256 (rust/crates/marked-yaml-0.7.2.crate) = f2eb25a7ab146f4058d67a74dfea52e25c133c575f08ce5851da97d224e3ad8d
SIZE (rust/crates/marked-yaml-0.7.2.crate) = 24771
SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
@@ -495,8 +499,8 @@ SHA256 (rust/crates/miniz_oxide-0.8.5.crate) = 8e3e04debbb59698c15bacbb6d93584a8
SIZE (rust/crates/miniz_oxide-0.8.5.crate) = 62237
SHA256 (rust/crates/mio-1.0.3.crate) = 2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd
SIZE (rust/crates/mio-1.0.3.crate) = 103703
-SHA256 (rust/crates/native-tls-0.2.13.crate) = 0dab59f8e050d5df8e4dd87d9206fb6f65a483e20ac9fda365ade4fab353196c
-SIZE (rust/crates/native-tls-0.2.13.crate) = 29133
+SHA256 (rust/crates/native-tls-0.2.14.crate) = 87de3442987e9dbec73158d5c715e7ad9072fda936bb03d19d7fa10e00520f0e
+SIZE (rust/crates/native-tls-0.2.14.crate) = 29385
SHA256 (rust/crates/nettle-7.4.0.crate) = 44e6ff4a94e5d34a1fd5abbd39418074646e2fa51b257198701330f22fcd6936
SIZE (rust/crates/nettle-7.4.0.crate) = 583944
SHA256 (rust/crates/nettle-sys-2.3.1.crate) = 61a3f5406064d310d59b1a219d3c5c9a49caf4047b6496032e3f930876488c34
@@ -621,16 +625,28 @@ SHA256 (rust/crates/pulldown-cmark-escape-0.11.0.crate) = 007d8adb5ddab6f8e3f491
SIZE (rust/crates/pulldown-cmark-escape-0.11.0.crate) = 6719
SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
+SHA256 (rust/crates/quinn-0.11.9.crate) = b9e20a958963c291dc322d98411f541009df2ced7b5a4f2bd52337638cfccf20
+SIZE (rust/crates/quinn-0.11.9.crate) = 83606
+SHA256 (rust/crates/quinn-proto-0.11.13.crate) = f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31
+SIZE (rust/crates/quinn-proto-0.11.13.crate) = 243837
+SHA256 (rust/crates/quinn-udp-0.5.14.crate) = addec6a0dcad8a8d96a771f815f0eaf55f9d1805756410b39f5fa81332574cbd
+SIZE (rust/crates/quinn-udp-0.5.14.crate) = 33436
SHA256 (rust/crates/quote-1.0.39.crate) = c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801
SIZE (rust/crates/quote-1.0.39.crate) = 31206
SHA256 (rust/crates/radix_trie-0.2.1.crate) = c069c179fcdc6a2fe24d8d18305cf085fdbd4f922c041943e203685d6a1c58fd
SIZE (rust/crates/radix_trie-0.2.1.crate) = 251366
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand-0.9.2.crate) = 6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1
+SIZE (rust/crates/rand-0.9.2.crate) = 99930
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_chacha-0.9.0.crate) = d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb
+SIZE (rust/crates/rand_chacha-0.9.0.crate) = 18258
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_core-0.9.3.crate) = 99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38
+SIZE (rust/crates/rand_core-0.9.3.crate) = 24543
SHA256 (rust/crates/rayon-1.10.0.crate) = b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa
SIZE (rust/crates/rayon-1.10.0.crate) = 180155
SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
@@ -679,12 +695,16 @@ SHA256 (rust/crates/rustc-demangle-0.1.24.crate) = 719b953e2095829ee67db738b3bfa
SIZE (rust/crates/rustc-demangle-0.1.24.crate) = 29047
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustc-hash-2.1.1.crate) = 357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d
+SIZE (rust/crates/rustc-hash-2.1.1.crate) = 14154
SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
SIZE (rust/crates/rustc_version-0.4.1.crate) = 12245
SHA256 (rust/crates/rustix-0.38.44.crate) = fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154
SIZE (rust/crates/rustix-0.38.44.crate) = 379347
SHA256 (rust/crates/rustls-0.23.23.crate) = 47796c98c480fce5406ef69d1c76378375492c3b0a0de587be0c1d9feb12f395
SIZE (rust/crates/rustls-0.23.23.crate) = 342561
+SHA256 (rust/crates/rustls-native-certs-0.8.2.crate) = 9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923
+SIZE (rust/crates/rustls-native-certs-0.8.2.crate) = 31903
SHA256 (rust/crates/rustls-pemfile-2.2.0.crate) = dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50
SIZE (rust/crates/rustls-pemfile-2.2.0.crate) = 25849
SHA256 (rust/crates/rustls-pki-types-1.11.0.crate) = 917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c
@@ -961,6 +981,10 @@ SHA256 (rust/crates/web-sys-0.3.77.crate) = 33b6dd2ef9186f1f2072e409e99cd22a9753
SIZE (rust/crates/web-sys-0.3.77.crate) = 638246
SHA256 (rust/crates/web-time-1.1.0.crate) = 5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb
SIZE (rust/crates/web-time-1.1.0.crate) = 18026
+SHA256 (rust/crates/webpki-roots-0.26.11.crate) = 521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9
+SIZE (rust/crates/webpki-roots-0.26.11.crate) = 15557
+SHA256 (rust/crates/webpki-roots-1.0.3.crate) = 32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8
+SIZE (rust/crates/webpki-roots-1.0.3.crate) = 258244
SHA256 (rust/crates/widestring-1.1.0.crate) = 7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311
SIZE (rust/crates/widestring-1.1.0.crate) = 85046
SHA256 (rust/crates/win-crypto-ng-0.5.1.crate) = 99abfb435a71e54ab2971d8d8c32f1a7e006cdbf527f71743b1d45b93517bb92
@@ -1063,5 +1087,3 @@ SHA256 (rust/crates/zerovec-0.10.4.crate) = aa2b893d79df23bfb12d5461018d408ea19d
SIZE (rust/crates/zerovec-0.10.4.crate) = 126398
SHA256 (rust/crates/zerovec-derive-0.10.3.crate) = 6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6
SIZE (rust/crates/zerovec-derive-0.10.3.crate) = 19438
-SHA256 (sequoia-sq-v1.3.1.tar.bz2) = ca4a6ef07ab9ca492c8166d6d6ed0354eb81f418bf819cf095c1ee856c461365
-SIZE (sequoia-sq-v1.3.1.tar.bz2) = 675650
diff --git a/security/sequoia-sq/files/patch-Cargo.toml b/security/sequoia-sq/files/patch-Cargo.toml
new file mode 100644
index 000000000000..316964882b96
--- /dev/null
+++ b/security/sequoia-sq/files/patch-Cargo.toml
@@ -0,0 +1,14 @@
+--- Cargo.toml.orig 1970-01-01 00:00:01 UTC
++++ Cargo.toml
+@@ -144,7 +144,11 @@ version = ">=0.12, <0.13"
+
+ [dependencies.reqwest]
+ version = ">=0.12, <0.13"
++default-features = false
+ features = [
++ "rustls-tls",
++ "charset",
++ "http2",
+ "hickory-dns",
+ "stream",
+ ]
diff --git a/security/sequoia-sq/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml b/security/sequoia-sq/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml
new file mode 100644
index 000000000000..e4c95e24f8a8
--- /dev/null
+++ b/security/sequoia-sq/files/patch-cargo-crates_sequoia-net-0.30.0_Cargo.toml
@@ -0,0 +1,30 @@
+--- cargo-crates/sequoia-net-0.30.0/Cargo.toml.orig 1970-01-01 00:00:01 UTC
++++ cargo-crates/sequoia-net-0.30.0/Cargo.toml
+@@ -81,6 +81,12 @@ version = "0.12"
+
+ [dependencies.reqwest]
+ version = "0.12"
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++]
+
+ [dependencies.sequoia-openpgp]
+ version = "2"
+@@ -120,7 +126,13 @@ version = "0.12"
+
+ [dev-dependencies.reqwest]
+ version = "0.12"
+-features = ["socks"]
++default-features = false
++features = [
++ "rustls-tls",
++ "charset",
++ "http2",
++ "socks",
++]
+
+ [dev-dependencies.tempfile]
+ version = "3.1"
diff --git a/security/vuxml/Makefile b/security/vuxml/Makefile
index 9a3ef8b7a291..243b5cd5723e 100644
--- a/security/vuxml/Makefile
+++ b/security/vuxml/Makefile
@@ -102,10 +102,6 @@ newentry:
@${ECHO_CMD} 'Also, <gt> tags are usually wrong in ranges. Use <ge> where adequate.'
@${ECHO_CMD}
@${SH} ${FILESDIR}/newentry.sh "${VUXML_CURRENT_FILE}" "CVE_ID=${CVE_ID}" "SA_ID=${SA_ID}"
- @${ECHO_CMD}
- @${ECHO_CMD} 'Be sure to get versioning right for PORTEPOCH and remember possible linux-* ports!'
- @${ECHO_CMD} 'Also, <gt> tags are usually wrong in ranges. Use <ge> where adequate.'
- @${ECHO_CMD}
.if defined(VID) && !empty(VID)
html: work/${VID}.html
diff --git a/security/vuxml/files/euvd_provider.sh b/security/vuxml/files/euvd_provider.sh
new file mode 100644
index 000000000000..821d2fcc06a2
--- /dev/null
+++ b/security/vuxml/files/euvd_provider.sh
@@ -0,0 +1,69 @@
+# Provider for the European Union Vulnerability Database
+# https://euvd.enisa.europa.eu/
+
+tmp_euvd=""
+
+init_euvd() {
+ tmp_euvd=$(mktemp "${TMPDIR:-/tmp}"/euvd_json_data.XXXXXXXXXX) || exit 1
+ fetch -q -o "${tmp_euvd}" "https://euvdservices.enisa.europa.eu/api/enisaid?id=${CVE_ID}" || exit 1
+}
+
+cleanup_euvd() {
+ rm -f "${tmp_euvd}" 2>/dev/null
+}
+
+get_cvename_from_euvd() {
+ # EUVD response includes "aliases" (CVE ID if available)
+ jq -r '.aliases // .id' "${tmp_euvd}"
+}
+
+get_cveurl_from_euvd() {
+ echo "https://euvd.enisa.europa.eu/ui/vuln/${CVE_ID}"
+}
+
+get_details_from_euvd() {
+ jq -r '.description // empty | @html' "${tmp_euvd}" | fmt -p -s | sed '1!s/^/\t/'
+}
+
+get_discovery_date_from_euvd() {
+ raw=$(jq -r '.datePublished // empty' "${tmp_euvd}")
+ if [ -n "$raw" ]; then
+ trimmed=$(echo "$raw" | cut -d, -f1-2)
+ if date -d "$trimmed" "+%Y-%m-%d" >/dev/null 2>&1; then
+ date -d "$trimmed" "+%Y-%m-%d"
+ else
+ date -j -f "%b %d, %Y" "$trimmed" "+%Y-%m-%d"
+ fi
+ fi
+}
+
+get_entry_date_from_euvd() {
+ echo "${entry_date}"
+}
+
+
+get_product_name_from_euvd() {
+ jq -r ' .enisaIdProduct[]?.product?.name ' "${tmp_euvd}"
+}
+
+get_product_range_from_euvd() {
+ jq -r '.enisaIdProduct[]? | "\(.product_version? | gsub("<";"&lt;") | gsub(">";"&gt;") | gsub("&";"&amp;"))"' "${tmp_euvd}"
+}
+
+get_package_name_from_euvd() {
+ jq -r '.enisaIdProduct[0]?.product?.name // empty' "${tmp_euvd}"
+}
+
+get_references_from_euvd() {
+ jq -r '.references // empty | @html' "${tmp_euvd}" | tr " " "\n"
+}
+
+get_source_from_euvd() {
+ jq -r '.assigner // empty | @html' "${tmp_euvd}"
+}
+
+get_topic_from_euvd() {
+ # Use first sentence of description
+ jq -r '.description // empty' "${tmp_euvd}" | cut -f1 -d.
+}
+
diff --git a/security/vuxml/files/mitre_provider.sh b/security/vuxml/files/mitre_provider.sh
new file mode 100644
index 000000000000..c2b1f8ffa73e
--- /dev/null
+++ b/security/vuxml/files/mitre_provider.sh
@@ -0,0 +1,61 @@
+# Provider for MITRE
+# https://www.mitre.org/
+
+tmp_mitre=""
+
+init_mitre()
+{
+ tmp_mitre=$(mktemp "${TMPDIR:-/tmp}"/mitre.XXXXXXXXXX) || exit 1
+ fetch -q -o "${tmp_mitre}" https://cveawg.mitre.org/api/cve/"${CVE_ID}"
+}
+
+cleanup_mitre()
+{
+ rm "${tmp_mitre}" 2>/dev/null
+}
+
+get_cvename_from_mitre()
+{
+ cvename="${CVE_ID}"
+ echo "${cvename}"
+}
+
+get_cveurl_from_mitre() {
+ echo https://cveawg.mitre.org/api/cve/"${CVE_ID}"
+}
+
+get_details_from_mitre() {
+ jq -r '.containers?.cna?.descriptions[0]?.value' "${tmp_mitre}" | fmt -p -s
+}
+
+get_discovery_date_from_mitre() {
+ jq -r '.cveMetadata?.datePublished?' "${tmp_mitre}" | cut -f1 -dT
+}
+
+get_entry_date_from_mitre() {
+ echo "${entry_date}"
+}
+
+get_product_name_from_mitre() {
+ jq -r '.containers?.cna?.affected[]?.product' "${tmp_mitre}"
+}
+
+get_product_range_from_mitre() {
+ jq -r '.containers?.cna?.affected[]??.versions[0]?.lessThan' "${tmp_mitre}"
+}
+
+get_package_name_from_mitre() {
+ jq -r '.containers?.cna?.affected[0]?.product' "${tmp_mitre}"
+}
+
+get_references_from_mitre() {
+ jq -r '.containers?.cna?.references[0]?.url' "${tmp_mitre}" | fmt -p -s
+}
+
+get_source_from_mitre() {
+ jq -r '.containers?.cna?.references[0]?.url' "${tmp_mitre}"
+}
+
+get_topic_from_mitre() {
+ jq -r ".containers?.cna?.problemTypes[0]?.descriptions[0]?.description" "${tmp_mitre}"
+}
diff --git a/security/vuxml/files/newentry.sh b/security/vuxml/files/newentry.sh
index 0298a5376a9e..4c8b09636112 100644
--- a/security/vuxml/files/newentry.sh
+++ b/security/vuxml/files/newentry.sh
@@ -15,6 +15,9 @@ if [ -z "${vuxml_file}" ]; then
show_usage
fi
+# -----------------
+# Process arguments
+# -----------------
shift
while [ $# -gt 0 ]; do
case "$1" in
@@ -34,27 +37,45 @@ case "$1" in
esac
done
-tmp="`mktemp ${TMPDIR:-/tmp}/vuxml.XXXXXXXXXX`" || exit 1
+tmp=$(mktemp "${TMPDIR:-/tmp}"/vuxml.XXXXXXXXXX) || exit 1
tmp_fbsd_sa=""
-tmp_mitre=""
-tmp_nvd=""
+# -------------------------------------
+# Define how to clean up temporal files
+# -------------------------------------
+#
doclean="yes"
cleanup() {
if [ "${doclean}" = "yes" ]; then
- rm -f "${tmp}" "${tmp_fbsd_sa}" "${tmp_mitre}" "${tmp_nvd}" > /dev/null
+ rm -f "${tmp}" "${tmp_fbsd_sa}" > /dev/null
fi
+
+ # Call cleaners for providers
+ for provider in ${providers}; do
+ cleanup_"${provider}"
+ cleanup_"${provider}"
+ done
}
-trap cleanup EXIT 1 2 13 15
+trap cleanup EXIT HUP INT PIPE TERM
-vid="`uuidgen | tr '[:upper:]' '[:lower:]'`"
+# -----------------------------
+# Variables with default values
+# -----------------------------
+vid="$(uuidgen | tr '[:upper:]' '[:lower:]')"
[ -z "$vid" ] && exit 1
+
+discovery_date=""
cvename="INSERT CVE RECORD IF AVAILABLE"
cveurl="INSERT BLOCKQUOTE URL HERE"
details="."
-discovery="`date -u '+%Y-%m'`-FIXME" || exit 1
-entry="`date -u '+%Y-%m-%d'`" || exit 1
+discovery_date="$(date -u '+%Y-%m')-FIXME" || exit 1
+entry_date="$(date -u '+%Y-%m-%d')" || exit 1
package_name=""
+product_name=""
+product_range=""
+package_list="<package>
+<name></name>
+<range><lt></lt></range>"
references="INSERT URL HERE"
topic=""
source="SO-AND-SO"
@@ -67,38 +88,65 @@ DESC_BODY="<body xmlns=\"http://www.w3.org/1999/xhtml\">
</blockquote>
</body>"
-
-# Try to retrieve information if a CVE identifier was provided
-if [ -n "${CVE_ID}" ]; then
+# --------------------------------
+# Check we have everything we need
+# --------------------------------
+check_dependencies()
+{
if ! command -v jq > /dev/null; then
echo textproc/jq is needed for CVE automatic entry fill
exit 1
fi
+}
+
+# ------------------------------------------
+# List of CVE providers sorted by preference
+# ------------------------------------------
+providers="mitre nvd euvd"
+
+# ------------------------------------------
+# List of fields to query for every provider
+# ------------------------------------------
+fields="cvename cveurl details discovery_date entry_date product_name product_range package_name references source topic"
- # NVD database only accepts uppercase CVE ids, like CVE-2022-39282, NOT
- # cve-2022-39282.
- CVE_ID=$(echo "${CVE_ID}" | tr '[:lower:]' '[:upper:]') || exit 1
-
- # Get information from the NVD database JSON format
- tmp_nvd="`mktemp ${TMPDIR:-/tmp}/nvd_json_data.XXXXXXXXXX`" || exit 1
- fetch -q -o "${tmp_nvd}" https://services.nvd.nist.gov/rest/json/cves/2.0?cveId="${CVE_ID}" || exit 1
- # Get information from MITRE database (they provide a nice "topic")
- tmp_mitre="`mktemp ${TMPDIR:-/tmp}/mitre.XXXXXXXXXX`" || exit 1
- fetch -q -o "${tmp_mitre}" https://cveawg.mitre.org/api/cve/"${CVE_ID}"
-
- # Create variables from input and online sources
- cvename="${CVE_ID}"
- cveurl=https://nvd.nist.gov/vuln/detail/${CVE_ID}
- pref=.vulnerabilities[0].cve
- details=$(jq -r "${pref}.descriptions[0].value|@html" "${tmp_nvd}" | fmt -p -s | sed '1!s/^/\t/') || exit 1
- discovery=$(jq -r "${pref}.published|@html" "${tmp_nvd}" | cut -f1 -dT) || exit 1
- pref=.vulnerabilities[0].cve.configurations[0].nodes[0].cpeMatch[0]
- package_name=$(jq -r "${pref}.criteria|@html" "${tmp_nvd}" | cut -f4 -d:) || exit 1
- upstream_fix=$(jq -r "${pref}.versionEndExcluding|@html" "${tmp_nvd}") || exit 1
- pref=.vulnerabilities[0].cve.references[0]
- references=$(jq -r "${pref}.url|@html" "${tmp_nvd}" | tr " " "\n") || exit 1
- source=$(jq -r "${pref}.source|@html" "${tmp_nvd}" | tr " " "\n") || exit 1
- topic=$(jq -r ".containers.cna.title|@html" "${tmp_mitre}" ) || exit 1
+# Some providers only allow for upper case identifiers
+CVE_ID=$(echo "${CVE_ID}" | tr '[:lower:]' '[:upper:]') || exit 1
+
+# -----------------------------------------------------------------------------
+# Generic resolver
+#
+# Gets a variable name and the list of providers and returns the value of the
+# variable. If the first defined provider returns empty or nullm, it tries with
+# the next one until one provider returns a value or we run out of providers
+# -----------------------------------------------------------------------------
+resolve_field() {
+ field="${1}"
+ shift
+ providers="$@"
+
+ for provider in $providers; do
+ func="get_${field}_from_${provider}"
+ if command -v "${func}" >/dev/null 2>&1; then
+ value="$($func)"
+ if [ -n "${value}" ] && [ "${value}" != "null" ] && [ "${value}" != "n/a" ]; then
+ echo "${value}"
+ return 0
+ fi
+ else
+ echo "Warning: function ${func} not implemented in provider ${provider}"
+ fi
+ done
+ echo "null"
+}
+
+# --------------------------------------------------
+# Fill global variables with data from CVE databases
+# --------------------------------------------------
+get_cve_info() {
+ for field in ${fields}; do
+ value=$(resolve_field "${field}" ${providers})
+ eval "${field}=\$value"
+ done
DESC_BODY="<body xmlns=\"http://www.w3.org/1999/xhtml\">
<p>${source} reports:</p>
@@ -106,14 +154,17 @@ DESC_BODY="<body xmlns=\"http://www.w3.org/1999/xhtml\">
<p>${details}</p>
</blockquote>
</body>"
-fi
+}
-if [ -n "${SA_ID}" ]; then
+# ----------------------------------------------------------------
+# Fill global variables with data from FreeBSD Security Advisories
+# ----------------------------------------------------------------
+get_sa_info() {
SA_URL_BASE=https://www.freebsd.org/security/advisories/
# Get information from the Project's SA site
- tmp_fbsd_sa="$(mktemp ${TMPDIR:-/tmp}/fbsd_sa_data.XXXXXXXXXX)" || exit 1
- fetch -q -o "${tmp_fbsd_sa}" ${SA_URL_BASE}${SA_ID} || exit 1
+ tmp_fbsd_sa=$(mktemp "${TMPDIR:-/tmp}/fbsd_sa_data.XXXXXXXXXX") || exit 1
+ fetch -q -o "${tmp_fbsd_sa}" "${SA_URL_BASE}${SA_ID}" || exit 1
# Create variables from SA note
if grep -q 'CVE Name' "${tmp_fbsd_sa}"; then
@@ -148,6 +199,40 @@ DESC_BODY="<body xmlns=\"http://www.w3.org/1999/xhtml\">
<h1>Impact:</h1>
${impact}
</body>"
+}
+
+init_providers() {
+ for provider in files/*_provider.sh; do
+ provider_name=$(basename "${provider}" | cut -f1 -d_)
+ . "files/${provider_name}_provider.sh"
+ init_"${provider_name}"
+ done
+}
+
+create_packages_list() {
+ tmp_prod=$(mktemp "${TMPDIR:-/tmp}"/vuxml.prod.XXXXXXXXXX) || exit 1
+ tmp_ver=$(mktemp "${TMPDIR:-/tmp}"/vuxml.ver.XXXXXXXXXX) || exit 1
+ printf "%s" "${product_name}" > "${tmp_prod}"
+ printf "%s" "${product_range}" > "${tmp_ver}"
+
+ package_list=$(paste "${tmp_prod}" "${tmp_ver}" | sed \
+ -e 's|\t|</name>\n\t<range><lt>|g' \
+ -e 's|^| <package>\n\t<name>|g' \
+ -e 's|$|</lt></range>\n </package>|g')
+
+ rm "${tmp_prod}" "${tmp_ver}" 2>/dev/null
+}
+
+# Try to retrieve information if a CVE identifier was provided
+if [ -n "${CVE_ID}" ]; then
+ check_dependencies
+ init_providers
+ get_cve_info "${CVE_ID}"
+ create_packages_list
+fi
+
+if [ -n "${SA_ID}" ]; then
+ get_sa_info
fi
awk '/^<\?/,/^<vuxml/ { print }' "${vuxml_file}" >> "${tmp}" || exit 1
@@ -155,21 +240,18 @@ cat << EOF >> "${tmp}" || exit 1
<vuln vid="${vid}">
<topic>${package_name} -- ${topic}</topic>
<affects>
- <package>
- <name>${package_name}</name>
- <range><lt>${upstream_fix}</lt></range>
- </package>
+${package_list}
</affects>
<description>
- ${DESC_BODY}
+ ${DESC_BODY}
</description>
<references>
<cvename>${cvename}</cvename>
<url>${cveurl}</url>
</references>
<dates>
- <discovery>${discovery}</discovery>
- <entry>${entry}</entry>
+ <discovery>${discovery_date}</discovery>
+ <entry>${entry_date}</entry>
</dates>
</vuln>
diff --git a/security/vuxml/files/nvd_provider.sh b/security/vuxml/files/nvd_provider.sh
new file mode 100644
index 000000000000..8a383a7d6752
--- /dev/null
+++ b/security/vuxml/files/nvd_provider.sh
@@ -0,0 +1,72 @@
+# Provider for the National Vulnerability Database
+# https://nvd.nist.gov/
+
+tmp_nvd=""
+
+init_nvd()
+{
+ tmp_nvd=$(mktemp "${TMPDIR:-/tmp}"/nvd_json_data.XXXXXXXXXX) || exit 1
+ fetch -q -o "${tmp_nvd}" https://services.nvd.nist.gov/rest/json/cves/2.0?cveId="${CVE_ID}" || exit 1
+}
+
+cleanup_nvd()
+{
+ rm "${tmp_nvd}" 2>/dev/null
+}
+
+get_cvename_from_nvd()
+{
+ cvename="${CVE_ID}"
+ echo "${cvename}"
+}
+
+get_cveurl_from_nvd() {
+ cveurl=https://nvd.nist.gov/vuln/detail/${CVE_ID}
+ echo "${cveurl}"
+}
+
+get_details_from_nvd() {
+ pref=".vulnerabilities[0]?.cve?"
+ jq -r "${pref}.descriptions[0]?.value|@html" "${tmp_nvd}" | fmt -p -s | sed '1!s/^/\t/'
+}
+
+get_discovery_date_from_nvd() {
+ pref=".vulnerabilities[0]?.cve?"
+ jq -r "${pref}.published|@html" "${tmp_nvd}" | cut -f1 -dT
+}
+
+get_entry_date_from_nvd() {
+ echo "${entry_date}"
+}
+
+get_product_name_from_nvd() {
+ jq -r '.vulnerabilities[]?.cve?.configurations[]?.nodes[]?.cpeMatch[]? |
+ (.criteria | split(":")[4])' "${tmp_nvd}"
+}
+
+get_product_range_from_nvd() {
+ jq -r '.vulnerabilities[]?.cve.configurations[]?.nodes[]?.cpeMatch[]?.versionEndExcluding ' "${tmp_nvd}"
+}
+
+get_package_name_from_nvd() {
+ jq -r '.vulnerabilities[]?.cve?.configurations[]?.nodes[]?.cpeMatch[0]?.criteria' "${tmp_nvd}" | cut -f5 -d:
+}
+
+get_references_from_nvd() {
+ pref=".vulnerabilities[0]?.cve?.references[0]?"
+ jq -r "${pref}.url|@html" "${tmp_nvd}" | tr " " "\n"
+}
+
+get_source_from_nvd()
+{
+ pref=".vulnerabilities[0]?.cve?.references[0]?"
+ jq -r "${pref}.source|@html" "${tmp_nvd}" | tr " " "\n"
+}
+
+get_topic_from_nvd() {
+ # NVD does not provide a nice summary. Let's use the first sentence from
+ # the details instead
+ pref=".vulnerabilities[0]?.cve?"
+ jq -r "${pref}.descriptions[0]?.value|@html" "${tmp_nvd}" | cut -f1 -d.
+}
+
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 69f9d5f3dcc9..4c80c0be046b 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -370,7 +370,7 @@
SUBDIR += evtviewer
SUBDIR += exa
SUBDIR += extipl
- SUBDIR += extrace
+ SUBDIR += extrace-freebsd
SUBDIR += eza
SUBDIR += ezjail
SUBDIR += f-upgrade
diff --git a/sysutils/containers-common/Makefile b/sysutils/containers-common/Makefile
index 2575753505f7..2e08837cd389 100644
--- a/sysutils/containers-common/Makefile
+++ b/sysutils/containers-common/Makefile
@@ -29,6 +29,10 @@ IMAGEVERSION= 5.36.2
SKOPEOVERSION= 1.20.0
STORAGEVERSION= 1.59.1
+post-patch:
+ ${SED} -I '' /golangci/d ${WRKSRC_storage}/tests/tools/Makefile
+ ${SED} -I '' -Ee s/go-md2man../go-md2man/ ${WRKSRC_storage}/tests/tools/Makefile
+
do-build:
${GMAKE} -C ${WRKSRC_common}/docs
${GMAKE} -C ${WRKSRC_storage} install.tools
diff --git a/sysutils/elephant/Makefile b/sysutils/elephant/Makefile
index 10344bfd81a5..b8cd5fd07328 100644
--- a/sysutils/elephant/Makefile
+++ b/sysutils/elephant/Makefile
@@ -1,6 +1,6 @@
PORTNAME= elephant
DISTVERSIONPREFIX= v
-DISTVERSION= 2.4.1
+DISTVERSION= 2.6.1
CATEGORIES= sysutils
MAINTAINER= tagattie@FreeBSD.org
@@ -22,20 +22,22 @@ PLIST_FILES= bin/${PORTNAME}
PORTDOCS= README.md
OPTIONS_DEFINE= DOCS
-OPTIONS_DEFAULT= ${OPTIONS_GROUP_PROVIDERS}
+OPTIONS_DEFAULT= ${OPTIONS_GROUP_PROVIDERS:NNIRISESSIONS}
OPTIONS_GROUP= PROVIDERS
OPTIONS_GROUP_PROVIDERS=CALC CLIPBOARD DESKTOPAPPLICATIONS FILES MENUS \
- PROVIDERLIST RUNNER SYMBOLS TODO UNICODE WEBSEARCH \
- WINDOWS
+ NIRISESSIONS PROVIDERLIST RUNNER SNIPPETS SYMBOLS \
+ TODO UNICODE WEBSEARCH WINDOWS
PROVIDERS_DESC= Enabled providers
CALC_DESC= Perform calculation and unit-conversions
CLIPBOARD_DESC= Store clipboard history
DESKTOPAPPLICATIONS_DESC=Run installed desktop applications
FILES_DESC= Find files/folders
+NIRISESSIONS_DESC= Create predefined session layouts and open them
MENUS_DESC= Create custom menus
PROVIDERLIST_DESC= Lists all providers and configured menus
RUNNER_DESC= Execute everything installed in your PATH
+SNIPPETS_DESC= Create and access text snippets
SYMBOLS_DESC= Search for emojis and symbols
TODO_DESC= Basic Todolist
UNICODE_DESC= Search for unicode symbols
@@ -51,8 +53,12 @@ DESKTOPAPPLICATIONS_PLIST_FILES=etc/xdg/elephant/providers/desktopapplications.s
FILES_RUN_DEPENDS= fd:sysutils/fd
FILES_PLIST_FILES= etc/xdg/elephant/providers/files.so
MENUS_PLIST_FILES= etc/xdg/elephant/providers/menus.so
+NIRISESSIONS_RUN_DEPENDS=niri:x11-wm/niri
+NIRISESSIONS_PLIST_FILES=etc/xdg/elephant/providers/nirisessions.so
PROVIDERLIST_PLIST_FILES=etc/xdg/elephant/providers/providerlist.so
RUNNER_PLIST_FILES= etc/xdg/elephant/providers/runner.so
+SNIPPETS_RUN_DEPENDS= wtype:x11/wtype
+SNIPPETS_PLIST_FILES= etc/xdg/elephant/providers/snippets.so
SYMBOLS_RUN_DEPENDS= wl-copy:x11/wl-clipboard
SYMBOLS_PLIST_FILES= etc/xdg/elephant/providers/symbols.so
TODO_RUN_DEPENDS= notify-send:devel/libnotify
diff --git a/sysutils/elephant/distinfo b/sysutils/elephant/distinfo
index 359e839fa3ae..2e55f532d2f3 100644
--- a/sysutils/elephant/distinfo
+++ b/sysutils/elephant/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761138779
-SHA256 (go/sysutils_elephant/elephant-v2.4.1/v2.4.1.mod) = 69ae4e4d80e2c9e83e8ee4a30911032e55d7b0d45c625087e90cf92a3fdf9605
-SIZE (go/sysutils_elephant/elephant-v2.4.1/v2.4.1.mod) = 1198
-SHA256 (go/sysutils_elephant/elephant-v2.4.1/v2.4.1.zip) = 4d75857c6fc3afd412b365a12d114bbe6c539be4bd6a5d0b6f96176fce16d544
-SIZE (go/sysutils_elephant/elephant-v2.4.1/v2.4.1.zip) = 7520985
+TIMESTAMP = 1761256745
+SHA256 (go/sysutils_elephant/elephant-v2.6.1/v2.6.1.mod) = 69ae4e4d80e2c9e83e8ee4a30911032e55d7b0d45c625087e90cf92a3fdf9605
+SIZE (go/sysutils_elephant/elephant-v2.6.1/v2.6.1.mod) = 1198
+SHA256 (go/sysutils_elephant/elephant-v2.6.1/v2.6.1.zip) = 4e5da73e735605d01f39b78381b8530809fa472085effd7210fa49cb2adff5bc
+SIZE (go/sysutils_elephant/elephant-v2.6.1/v2.6.1.zip) = 7527511
diff --git a/sysutils/extrace/Makefile b/sysutils/extrace-freebsd/Makefile
index d78835bcf87d..a1dce1b590ab 100644
--- a/sysutils/extrace/Makefile
+++ b/sysutils/extrace-freebsd/Makefile
@@ -1,4 +1,4 @@
-PORTNAME= extrace
+PORTNAME= extrace-freebsd
DISTVERSIONPREFIX= v
DISTVERSION= 0.1
CATEGORIES= sysutils
@@ -17,11 +17,11 @@ GH_PROJECT= extrace-freebsd
MAKE_ARGS= CFLAGS="${CFLAGS}"
CFLAGS+= -fPIC
-PLIST_FILES= bin/${PORTNAME} \
- share/man/man1/${PORTNAME}.1.gz
+PLIST_FILES= bin/extrace \
+ share/man/man1/extrace.1.gz
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
+ ${INSTALL_PROGRAM} ${WRKSRC}/extrace ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/extrace.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/sysutils/extrace/distinfo b/sysutils/extrace-freebsd/distinfo
index 683324537ce4..683324537ce4 100644
--- a/sysutils/extrace/distinfo
+++ b/sysutils/extrace-freebsd/distinfo
diff --git a/sysutils/extrace-freebsd/pkg-descr b/sysutils/extrace-freebsd/pkg-descr
new file mode 100644
index 000000000000..0d9cdd3a72e8
--- /dev/null
+++ b/sysutils/extrace-freebsd/pkg-descr
@@ -0,0 +1,4 @@
+extrace-freebsd traces all program executions occurring on a system, or
+ones which descend from a specified process. Execution duration and exit
+status can be logged.
+Useful for debugging and security analysis.
diff --git a/sysutils/extrace/pkg-descr b/sysutils/extrace/pkg-descr
deleted file mode 100644
index 3abf656a773e..000000000000
--- a/sysutils/extrace/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-extrace traces all program executions occurring on a system, or ones
-which descend from a specified process. Execution duration and exit
-status can be logged.
-Useful for debugging and security analysis.
diff --git a/sysutils/skopeo/files/patch-Makefile b/sysutils/skopeo/files/patch-Makefile
new file mode 100644
index 000000000000..9e47fcbdd889
--- /dev/null
+++ b/sysutils/skopeo/files/patch-Makefile
@@ -0,0 +1,23 @@
+--- Makefile.orig 2025-10-17 08:57:36 UTC
++++ Makefile
+@@ -84,7 +84,7 @@ EXTRA_LDFLAGS ?=
+ GIT_COMMIT := $(shell GIT_CEILING_DIRECTORIES=$$(cd ..; pwd) git rev-parse HEAD 2> /dev/null || true)
+
+ EXTRA_LDFLAGS ?=
+-SKOPEO_LDFLAGS := -ldflags '-X main.gitCommit=${GIT_COMMIT} $(EXTRA_LDFLAGS)'
++SKOPEO_LDFLAGS := -ldflags '-X main.gitCommit="unknown" $(EXTRA_LDFLAGS)'
+
+ MANPAGES_MD = $(wildcard docs/*.md)
+ MANPAGES ?= $(MANPAGES_MD:%.md=%)
+@@ -131,9 +131,9 @@ bin/skopeo:
+ # Build w/o using containers
+ .PHONY: bin/skopeo
+ bin/skopeo:
+- $(GO) build ${GO_DYN_FLAGS} ${SKOPEO_LDFLAGS} -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o $@ ./cmd/skopeo
++ $(GO) build -buildvcs=false ${GO_DYN_FLAGS} ${SKOPEO_LDFLAGS} -gcflags "$(GOGCFLAGS)" -tags "$(BUILDTAGS)" -o $@ ./cmd/skopeo
+ bin/skopeo.%:
+- GOOS=$(word 2,$(subst ., ,$@)) GOARCH=$(word 3,$(subst ., ,$@)) $(GO) build ${SKOPEO_LDFLAGS} -tags "containers_image_openpgp $(BUILDTAGS)" -o $@ ./cmd/skopeo
++ GOOS=$(word 2,$(subst ., ,$@)) GOARCH=$(word 3,$(subst ., ,$@)) $(GO) build -buildvcs=false ${SKOPEO_LDFLAGS} -tags "containers_image_openpgp $(BUILDTAGS)" -o $@ ./cmd/skopeo
+ local-cross: bin/skopeo.darwin.amd64 bin/skopeo.linux.arm bin/skopeo.linux.arm64 bin/skopeo.windows.386.exe bin/skopeo.windows.amd64.exe
+
+ $(MANPAGES): %: %.md
diff --git a/textproc/crow-translate/Makefile b/textproc/crow-translate/Makefile
index 5603fff05021..7c5ce99d78ed 100644
--- a/textproc/crow-translate/Makefile
+++ b/textproc/crow-translate/Makefile
@@ -5,7 +5,7 @@ CATEGORIES= textproc
MASTER_SITES= KDE
MASTER_SITE_SUBDIR= stable/${PORTNAME}/${PORTVERSION}
-MAINTAINER= ehaupt@FreeBSD.org
+MAINTAINER= kde@FreeBSD.org
COMMENT= Translator using Google, Yandex Bing, LibreTranslate and Lingva
WWW= https://apps.kde.org/crowtranslate/
diff --git a/textproc/harper/Makefile b/textproc/harper/Makefile
index 501cab06e0cf..3ae9350f8775 100644
--- a/textproc/harper/Makefile
+++ b/textproc/harper/Makefile
@@ -1,6 +1,6 @@
PORTNAME= harper
DISTVERSIONPREFIX= v
-DISTVERSION= 0.68.0
+DISTVERSION= 0.70.0
CATEGORIES= textproc
MAINTAINER= ashish@FreeBSD.org
diff --git a/textproc/harper/Makefile.crates b/textproc/harper/Makefile.crates
index 9050b6eb4021..a4b6f2da075b 100644
--- a/textproc/harper/Makefile.crates
+++ b/textproc/harper/Makefile.crates
@@ -1,5 +1,4 @@
-CARGO_CRATES= addr2line-0.24.2 \
- adler2-2.0.1 \
+CARGO_CRATES= adler2-2.0.1 \
ahash-0.8.12 \
aho-corasick-1.1.3 \
allocator-api2-0.2.21 \
@@ -19,12 +18,11 @@ CARGO_CRATES= addr2line-0.24.2 \
async-channel-2.5.0 \
atomic_float-1.1.0 \
autocfg-1.5.0 \
- backtrace-0.3.75 \
bincode-2.0.1 \
bit-set-0.8.0 \
bit-vec-0.8.0 \
bitflags-1.3.2 \
- bitflags-2.9.4 \
+ bitflags-2.10.0 \
blanket-0.4.0 \
block-0.1.6 \
bstr-1.12.0 \
@@ -186,10 +184,9 @@ CARGO_CRATES= addr2line-0.24.2 \
getopts-0.2.23 \
getrandom-0.2.16 \
getrandom-0.3.3 \
- gimli-0.31.1 \
gl_generator-0.14.0 \
glob-0.3.2 \
- globset-0.4.16 \
+ globset-0.4.18 \
glow-0.16.0 \
glutin_wgl_sys-0.6.1 \
gpu-alloc-0.6.0 \
@@ -220,8 +217,7 @@ CARGO_CRATES= addr2line-0.24.2 \
ident_case-1.0.1 \
idna-1.0.3 \
idna_adapter-1.2.1 \
- indexmap-2.11.4 \
- io-uring-0.7.9 \
+ indexmap-2.12.0 \
is-docker-0.2.0 \
is-macro-0.3.7 \
is-wsl-0.4.0 \
@@ -244,7 +240,7 @@ CARGO_CRATES= addr2line-0.24.2 \
litrs-0.4.2 \
lock_api-0.4.13 \
log-0.4.27 \
- lru-0.16.1 \
+ lru-0.16.2 \
lsp-types-0.97.0 \
mac-0.1.1 \
macerator-0.2.8 \
@@ -280,7 +276,6 @@ CARGO_CRATES= addr2line-0.24.2 \
num_enum-0.7.4 \
num_enum_derive-0.7.4 \
objc-0.2.7 \
- object-0.36.7 \
once_cell-1.21.3 \
once_cell_polyfill-1.70.1 \
oorandom-11.1.5 \
@@ -350,7 +345,6 @@ CARGO_CRATES= addr2line-0.24.2 \
rs-conllu-0.3.0 \
rstest-0.25.0 \
rstest_macros-0.25.0 \
- rustc-demangle-0.1.26 \
rustc-hash-1.1.0 \
rustc_version-0.4.1 \
rustix-1.0.8 \
@@ -411,8 +405,8 @@ CARGO_CRATES= addr2line-0.24.2 \
time-macros-0.2.22 \
tinystr-0.8.1 \
tinytemplate-1.2.1 \
- tokio-1.47.1 \
- tokio-macros-2.5.0 \
+ tokio-1.48.0 \
+ tokio-macros-2.6.0 \
tokio-util-0.7.15 \
toml-0.8.23 \
toml-0.9.2 \
@@ -446,6 +440,7 @@ CARGO_CRATES= addr2line-0.24.2 \
tree-sitter-ink-lbz-0.0.1 \
tree-sitter-java-0.23.5 \
tree-sitter-javascript-0.25.0 \
+ tree-sitter-jjdescription-0.0.1 \
tree-sitter-kotlin-ng-1.1.0 \
tree-sitter-language-0.1.5 \
tree-sitter-lua-0.2.0 \
@@ -522,6 +517,7 @@ CARGO_CRATES= addr2line-0.24.2 \
windows-sys-0.52.0 \
windows-sys-0.59.0 \
windows-sys-0.60.2 \
+ windows-sys-0.61.1 \
windows-targets-0.52.6 \
windows-targets-0.53.3 \
windows_aarch64_gnullvm-0.52.6 \
diff --git a/textproc/harper/distinfo b/textproc/harper/distinfo
index 03b9dd7bf01f..3ca84071dd46 100644
--- a/textproc/harper/distinfo
+++ b/textproc/harper/distinfo
@@ -1,6 +1,4 @@
-TIMESTAMP = 1760620074
-SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
-SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
+TIMESTAMP = 1761340798
SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
SIZE (rust/crates/adler2-2.0.1.crate) = 13366
SHA256 (rust/crates/ahash-0.8.12.crate) = 5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75
@@ -41,8 +39,6 @@ SHA256 (rust/crates/atomic_float-1.1.0.crate) = 628d228f918ac3b82fe590352cc719d3
SIZE (rust/crates/atomic_float-1.1.0.crate) = 16232
SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
-SHA256 (rust/crates/backtrace-0.3.75.crate) = 6806a6321ec58106fea15becdad98371e28d92ccbc7c8f1b3b6dd724fe8f1002
-SIZE (rust/crates/backtrace-0.3.75.crate) = 92665
SHA256 (rust/crates/bincode-2.0.1.crate) = 36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740
SIZE (rust/crates/bincode-2.0.1.crate) = 70469
SHA256 (rust/crates/bit-set-0.8.0.crate) = 08807e080ed7f9d5433fa9b275196cfc35414f66a0c79d864dc51a0d825231a3
@@ -51,8 +47,8 @@ SHA256 (rust/crates/bit-vec-0.8.0.crate) = 5e764a1d40d510daf35e07be9eb06e7577090
SIZE (rust/crates/bit-vec-0.8.0.crate) = 24132
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
-SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
+SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
+SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
SHA256 (rust/crates/blanket-0.4.0.crate) = 56791e4bd64c99fc361e01008f45c984baa93f12a0957d1b3c51dd2c6baab453
SIZE (rust/crates/blanket-0.4.0.crate) = 20262
SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
@@ -375,14 +371,12 @@ SHA256 (rust/crates/getrandom-0.2.16.crate) = 335ff9f135e4384c8150d6f27c6daed433
SIZE (rust/crates/getrandom-0.2.16.crate) = 40163
SHA256 (rust/crates/getrandom-0.3.3.crate) = 26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4
SIZE (rust/crates/getrandom-0.3.3.crate) = 49493
-SHA256 (rust/crates/gimli-0.31.1.crate) = 07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f
-SIZE (rust/crates/gimli-0.31.1.crate) = 279515
SHA256 (rust/crates/gl_generator-0.14.0.crate) = 1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d
SIZE (rust/crates/gl_generator-0.14.0.crate) = 22330
SHA256 (rust/crates/glob-0.3.2.crate) = a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2
SIZE (rust/crates/glob-0.3.2.crate) = 22359
-SHA256 (rust/crates/globset-0.4.16.crate) = 54a1028dfc5f5df5da8a56a73e6c153c9a9708ec57232470703592a3f18e49f5
-SIZE (rust/crates/globset-0.4.16.crate) = 26533
+SHA256 (rust/crates/globset-0.4.18.crate) = 52dfc19153a48bde0cbd630453615c8151bce3a5adfac7a0aebfbf0a1e1f57e3
+SIZE (rust/crates/globset-0.4.18.crate) = 28970
SHA256 (rust/crates/glow-0.16.0.crate) = c5e5ea60d70410161c8bf5da3fdfeaa1c72ed2c15f8bbb9d19fe3a4fad085f08
SIZE (rust/crates/glow-0.16.0.crate) = 162118
SHA256 (rust/crates/glutin_wgl_sys-0.6.1.crate) = 2c4ee00b289aba7a9e5306d57c2d05499b2e5dc427f84ac708bd2c090212cf3e
@@ -443,10 +437,8 @@ SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f
SIZE (rust/crates/idna-1.0.3.crate) = 142515
SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
-SHA256 (rust/crates/indexmap-2.11.4.crate) = 4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5
-SIZE (rust/crates/indexmap-2.11.4.crate) = 100302
-SHA256 (rust/crates/io-uring-0.7.9.crate) = d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4
-SIZE (rust/crates/io-uring-0.7.9.crate) = 99792
+SHA256 (rust/crates/indexmap-2.12.0.crate) = 6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f
+SIZE (rust/crates/indexmap-2.12.0.crate) = 100446
SHA256 (rust/crates/is-docker-0.2.0.crate) = 928bae27f42bc99b60d9ac7334e3a21d10ad8f1835a4e12ec3ec0464765ed1b3
SIZE (rust/crates/is-docker-0.2.0.crate) = 2664
SHA256 (rust/crates/is-macro-0.3.7.crate) = 1d57a3e447e24c22647738e4607f1df1e0ec6f72e16182c4cd199f647cdfb0e4
@@ -491,8 +483,8 @@ SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c8
SIZE (rust/crates/lock_api-0.4.13.crate) = 28565
SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
SIZE (rust/crates/log-0.4.27.crate) = 48120
-SHA256 (rust/crates/lru-0.16.1.crate) = bfe949189f46fabb938b3a9a0be30fdd93fd8a09260da863399a8cf3db756ec8
-SIZE (rust/crates/lru-0.16.1.crate) = 16604
+SHA256 (rust/crates/lru-0.16.2.crate) = 96051b46fc183dc9cd4a223960ef37b9af631b55191852a8274bfef064cda20f
+SIZE (rust/crates/lru-0.16.2.crate) = 16627
SHA256 (rust/crates/lsp-types-0.97.0.crate) = 53353550a17c04ac46c585feb189c2db82154fc84b79c7a66c96c2c644f66071
SIZE (rust/crates/lsp-types-0.97.0.crate) = 70764
SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
@@ -563,8 +555,6 @@ SHA256 (rust/crates/num_enum_derive-0.7.4.crate) = 77e878c846a8abae00dd069496dbe
SIZE (rust/crates/num_enum_derive-0.7.4.crate) = 18167
SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
SIZE (rust/crates/objc-0.2.7.crate) = 22036
-SHA256 (rust/crates/object-0.36.7.crate) = 62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87
-SIZE (rust/crates/object-0.36.7.crate) = 329938
SHA256 (rust/crates/once_cell-1.21.3.crate) = 42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d
SIZE (rust/crates/once_cell-1.21.3.crate) = 34534
SHA256 (rust/crates/once_cell_polyfill-1.70.1.crate) = a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad
@@ -703,8 +693,6 @@ SHA256 (rust/crates/rstest-0.25.0.crate) = 6fc39292f8613e913f7df8fa892b8944ceb47
SIZE (rust/crates/rstest-0.25.0.crate) = 55273
SHA256 (rust/crates/rstest_macros-0.25.0.crate) = 1f168d99749d307be9de54d23fd226628d99768225ef08f6ffb52e0182a27746
SIZE (rust/crates/rstest_macros-0.25.0.crate) = 70557
-SHA256 (rust/crates/rustc-demangle-0.1.26.crate) = 56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace
-SIZE (rust/crates/rustc-demangle-0.1.26.crate) = 30340
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
SHA256 (rust/crates/rustc_version-0.4.1.crate) = cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92
@@ -825,10 +813,10 @@ SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13
SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/tokio-1.47.1.crate) = 89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038
-SIZE (rust/crates/tokio-1.47.1.crate) = 829790
-SHA256 (rust/crates/tokio-macros-2.5.0.crate) = 6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8
-SIZE (rust/crates/tokio-macros-2.5.0.crate) = 12617
+SHA256 (rust/crates/tokio-1.48.0.crate) = ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408
+SIZE (rust/crates/tokio-1.48.0.crate) = 843434
+SHA256 (rust/crates/tokio-macros-2.6.0.crate) = af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5
+SIZE (rust/crates/tokio-macros-2.6.0.crate) = 16505
SHA256 (rust/crates/tokio-util-0.7.15.crate) = 66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df
SIZE (rust/crates/tokio-util-0.7.15.crate) = 124255
SHA256 (rust/crates/toml-0.8.23.crate) = dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362
@@ -895,6 +883,8 @@ SHA256 (rust/crates/tree-sitter-java-0.23.5.crate) = 0aa6cbcdc8c679b214e616fd330
SIZE (rust/crates/tree-sitter-java-0.23.5.crate) = 159677
SHA256 (rust/crates/tree-sitter-javascript-0.25.0.crate) = 68204f2abc0627a90bdf06e605f5c470aa26fdcb2081ea553a04bdad756693f5
SIZE (rust/crates/tree-sitter-javascript-0.25.0.crate) = 151425
+SHA256 (rust/crates/tree-sitter-jjdescription-0.0.1.crate) = 3af4295730637817c988dd0af3ab622505fc91b4bbccf8bbcc20cae0a6e43527
+SIZE (rust/crates/tree-sitter-jjdescription-0.0.1.crate) = 14368
SHA256 (rust/crates/tree-sitter-kotlin-ng-1.1.0.crate) = e800ebbda938acfbf224f4d2c34947a31994b1295ee6e819b65226c7b51b4450
SIZE (rust/crates/tree-sitter-kotlin-ng-1.1.0.crate) = 1113824
SHA256 (rust/crates/tree-sitter-language-0.1.5.crate) = c4013970217383f67b18aef68f6fb2e8d409bc5755227092d32efb0422ba24b8
@@ -1047,6 +1037,8 @@ SHA256 (rust/crates/windows-sys-0.59.0.crate) = 1e38bc4d79ed67fd075bcc251a1c39b3
SIZE (rust/crates/windows-sys-0.59.0.crate) = 2387323
SHA256 (rust/crates/windows-sys-0.60.2.crate) = f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb
SIZE (rust/crates/windows-sys-0.60.2.crate) = 2518479
+SHA256 (rust/crates/windows-sys-0.61.1.crate) = 6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f
+SIZE (rust/crates/windows-sys-0.61.1.crate) = 2517255
SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
SHA256 (rust/crates/windows-targets-0.53.3.crate) = d5fe6031c4041849d7c496a8ded650796e7b6ecc19df1a431c1a363342e5dc91
@@ -1117,5 +1109,5 @@ SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f66
SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
SHA256 (rust/crates/zip-1.1.4.crate) = 9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164
SIZE (rust/crates/zip-1.1.4.crate) = 77910
-SHA256 (Automattic-harper-v0.68.0_GH0.tar.gz) = 0ea869450f516558a8ae905af9270505503621b3cb1071bba8d24c2b8056b1d7
-SIZE (Automattic-harper-v0.68.0_GH0.tar.gz) = 7409856
+SHA256 (Automattic-harper-v0.70.0_GH0.tar.gz) = 87775a1cd2df07c49af81c4a12e30441c342b4abdb71d3c98fa380181864f08e
+SIZE (Automattic-harper-v0.70.0_GH0.tar.gz) = 7430648
diff --git a/textproc/obsidian/Makefile b/textproc/obsidian/Makefile
index ce144a644143..0208a7a2d8a4 100644
--- a/textproc/obsidian/Makefile
+++ b/textproc/obsidian/Makefile
@@ -8,7 +8,7 @@
PORTNAME= obsidian
PORTVERSION= 1.9.14
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= textproc
# Icon is taken from the Nix build recipe
# https://github.com/NixOS/nixpkgs/blob/de5448dab588ad41aef40f8c7c0c230981656698/pkgs/applications/misc/obsidian/default.nix#L31-L34
diff --git a/textproc/pecl-yaml/Makefile b/textproc/pecl-yaml/Makefile
index 92419ba58a6b..90315aba77c3 100644
--- a/textproc/pecl-yaml/Makefile
+++ b/textproc/pecl-yaml/Makefile
@@ -1,5 +1,5 @@
PORTNAME= yaml
-DISTVERSION= 2.2.4
+DISTVERSION= 2.2.5
CATEGORIES= textproc pear
MAINTAINER= dbaio@FreeBSD.org
@@ -13,10 +13,4 @@ LIB_DEPENDS= libyaml.so:textproc/libyaml
USES= php:pecl
-.include <bsd.port.pre.mk>
-post-patch:
-.if ${PHP_VER} >= 85
- @${REINPLACE_CMD} -e 's|ext/standard/php_smart_string.h|Zend/zend_smart_string.h|' \
- ${WRKSRC}/php_yaml.h
-.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/textproc/pecl-yaml/distinfo b/textproc/pecl-yaml/distinfo
index 91abeb765e7d..013d759365e3 100644
--- a/textproc/pecl-yaml/distinfo
+++ b/textproc/pecl-yaml/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736470893
-SHA256 (PECL/yaml-2.2.4.tgz) = 8eb353baf87f15b1b62ac6eb71c8b589685958a1fe8b0e3d22ac59560d0e8913
-SIZE (PECL/yaml-2.2.4.tgz) = 41573
+TIMESTAMP = 1761304970
+SHA256 (PECL/yaml-2.2.5.tgz) = 0c751b489749fbf02071d5b0c6bfeb26c4b863c668ef89711ecf9507391bdf71
+SIZE (PECL/yaml-2.2.5.tgz) = 41617
diff --git a/textproc/py-griffe/Makefile b/textproc/py-griffe/Makefile
index a309e2d13045..3d9698fa5acf 100644
--- a/textproc/py-griffe/Makefile
+++ b/textproc/py-griffe/Makefile
@@ -1,5 +1,5 @@
PORTNAME= griffe
-DISTVERSION= 1.9.0
+DISTVERSION= 1.14.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-griffe/distinfo b/textproc/py-griffe/distinfo
index f043ea351795..d74e80c085e6 100644
--- a/textproc/py-griffe/distinfo
+++ b/textproc/py-griffe/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753852138
-SHA256 (griffe-1.9.0.tar.gz) = b5531cf45e9b73f0842c2121cc4d4bcbb98a55475e191fc9830e7aef87a920a0
-SIZE (griffe-1.9.0.tar.gz) = 409341
+TIMESTAMP = 1757582083
+SHA256 (griffe-1.14.0.tar.gz) = 9d2a15c1eca966d68e00517de5d69dd1bc5c9f2335ef6c1775362ba5b8651a13
+SIZE (griffe-1.14.0.tar.gz) = 424684
diff --git a/textproc/py-mkdocs-material/Makefile b/textproc/py-mkdocs-material/Makefile
index ecc9bd265e38..4734909ec365 100644
--- a/textproc/py-mkdocs-material/Makefile
+++ b/textproc/py-mkdocs-material/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mkdocs-material
-DISTVERSION= 9.6.21
+DISTVERSION= 9.6.22
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/textproc/py-mkdocs-material/distinfo b/textproc/py-mkdocs-material/distinfo
index caf86dcd5b72..725f47d913d9 100644
--- a/textproc/py-mkdocs-material/distinfo
+++ b/textproc/py-mkdocs-material/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1759572333
-SHA256 (mkdocs_material-9.6.21.tar.gz) = b01aa6d2731322438056f360f0e623d3faae981f8f2d8c68b1b973f4f2657870
-SIZE (mkdocs_material-9.6.21.tar.gz) = 4043097
+TIMESTAMP = 1761216265
+SHA256 (mkdocs_material-9.6.22.tar.gz) = 87c158b0642e1ada6da0cbd798a3389b0bc5516b90e5ece4a0fb939f00bacd1c
+SIZE (mkdocs_material-9.6.22.tar.gz) = 4044968
diff --git a/textproc/py-mkdocstrings-python/Makefile b/textproc/py-mkdocstrings-python/Makefile
index 4c7f6e4918a8..4cf76c24d709 100644
--- a/textproc/py-mkdocstrings-python/Makefile
+++ b/textproc/py-mkdocstrings-python/Makefile
@@ -1,5 +1,5 @@
PORTNAME= mkdocstrings-python
-DISTVERSION= 1.16.12
+DISTVERSION= 1.18.2
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -13,7 +13,7 @@ LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pdm-backend>0:devel/py-pdm-backend@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}griffe>=1.6.2:textproc/py-griffe@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}griffe>=1.13.0:textproc/py-griffe@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mkdocs-autorefs>=1.4:textproc/py-mkdocs-autorefs@${PY_FLAVOR}
# textproc/py-mkdocstrings belongs to RUN_DEPENDS as well but would cause
# a circular dependency (via py-mkdocstrings' PYTHON option). It was therefore
@@ -21,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}griffe>=1.6.2:textproc/py-griffe@${PY_FLAVOR
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.12.3:www/py-beautifulsoup@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}inline-snapshot>=0.18.1:devel/py-inline-snapshot@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mkdocs-material>=9.5:textproc/py-mkdocs-material@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.28.3:textproc/py-mkdocstrings@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mkdocstrings>=0.30.0:textproc/py-mkdocstrings@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}ruff>=0.4:devel/py-ruff@${PY_FLAVOR}
USES= python
diff --git a/textproc/py-mkdocstrings-python/distinfo b/textproc/py-mkdocstrings-python/distinfo
index fa3ade121f0f..3b8fa029babe 100644
--- a/textproc/py-mkdocstrings-python/distinfo
+++ b/textproc/py-mkdocstrings-python/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1749285563
-SHA256 (mkdocstrings_python-1.16.12.tar.gz) = 9b9eaa066e0024342d433e332a41095c4e429937024945fea511afe58f63175d
-SIZE (mkdocstrings_python-1.16.12.tar.gz) = 206065
+TIMESTAMP = 1757581872
+SHA256 (mkdocstrings_python-1.18.2.tar.gz) = 4ad536920a07b6336f50d4c6d5603316fafb1172c5c882370cbbc954770ad323
+SIZE (mkdocstrings_python-1.18.2.tar.gz) = 207972
diff --git a/textproc/py-tablib/Makefile b/textproc/py-tablib/Makefile
index 61f3e632dd6b..60894692a819 100644
--- a/textproc/py-tablib/Makefile
+++ b/textproc/py-tablib/Makefile
@@ -1,5 +1,5 @@
PORTNAME= tablib
-PORTVERSION= 3.8.0
+DISTVERSION= 3.9.0
CATEGORIES= textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -15,7 +15,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}setuptools-scm>=6.2:devel/py-setuptools-scm@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
-USES= cpe python:3.9+
+USES= cpe python
CPE_VENDOR= python
USE_PYTHON= autoplist pep517 pytest
diff --git a/textproc/py-tablib/distinfo b/textproc/py-tablib/distinfo
index e7c99ff5903a..f31018967b46 100644
--- a/textproc/py-tablib/distinfo
+++ b/textproc/py-tablib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1738772173
-SHA256 (tablib-3.8.0.tar.gz) = 94d8bcdc65a715a0024a6d5b701a5f31e45bd159269e62c73731de79f048db2b
-SIZE (tablib-3.8.0.tar.gz) = 122247
+TIMESTAMP = 1761214851
+SHA256 (tablib-3.9.0.tar.gz) = 1b6abd8edb0f35601e04c6161d79660fdcde4abb4a54f66cc9f9054bd55d5fe2
+SIZE (tablib-3.9.0.tar.gz) = 125565
diff --git a/www/gohugo/Makefile b/www/gohugo/Makefile
index 152eed0fb280..b472bc8874b5 100644
--- a/www/gohugo/Makefile
+++ b/www/gohugo/Makefile
@@ -1,6 +1,6 @@
PORTNAME= hugo
DISTVERSIONPREFIX= v
-DISTVERSION= 0.152.1
+DISTVERSION= 0.152.2
PORTEPOCH= 1
CATEGORIES= www
PKGNAMEPREFIX= go
diff --git a/www/gohugo/distinfo b/www/gohugo/distinfo
index 8da90d1c95ff..a2485e8ef8c1 100644
--- a/www/gohugo/distinfo
+++ b/www/gohugo/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1761229783
-SHA256 (go/www_gohugo/hugo-v0.152.1/v0.152.1.mod) = 8a9c4808fc20967205797834b0159dc146a01dd1c7ba6f7426f025176549fc50
-SIZE (go/www_gohugo/hugo-v0.152.1/v0.152.1.mod) = 9291
-SHA256 (go/www_gohugo/hugo-v0.152.1/v0.152.1.zip) = fabac3a61a160355e13dfee97e3ab8070a5898e81a5bd364d7e3d1786af4fa40
-SIZE (go/www_gohugo/hugo-v0.152.1/v0.152.1.zip) = 5777363
+TIMESTAMP = 1761321118
+SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9fd5c3cb063cae52d4453818b583cedd7c38539a89c826e19603ebd82f28b9a3
+SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.mod) = 9321
+SHA256 (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5e540330b50c9936664c346da038023e37c0060f92d973a1f42e43c30d807322
+SIZE (go/www_gohugo/hugo-v0.152.2/v0.152.2.zip) = 5778064
diff --git a/www/phpmyfaq/Makefile b/www/phpmyfaq/Makefile
index a6dc808aba78..26e1e83e22ac 100644
--- a/www/phpmyfaq/Makefile
+++ b/www/phpmyfaq/Makefile
@@ -1,5 +1,5 @@
PORTNAME= phpmyfaq
-DISTVERSION= 4.0.11
+DISTVERSION= 4.0.13
CATEGORIES= www
MASTER_SITES= https://download.phpmyfaq.de/files/
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX}
diff --git a/www/phpmyfaq/distinfo b/www/phpmyfaq/distinfo
index 248608edcc82..2df0a7287659 100644
--- a/www/phpmyfaq/distinfo
+++ b/www/phpmyfaq/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758142564
-SHA256 (phpmyfaq-4.0.11.tar.gz) = 540dad41cc7e27097318e0c9da9e7a6fb5c5e1d51b6c0f0da0b6a778e58b3a65
-SIZE (phpmyfaq-4.0.11.tar.gz) = 15520189
+TIMESTAMP = 1759506005
+SHA256 (phpmyfaq-4.0.13.tar.gz) = 26832842b511e0527ffcc41bd9c6ada9c3a3fa8378ce174c755be9eeafd22d7b
+SIZE (phpmyfaq-4.0.13.tar.gz) = 15533610
diff --git a/www/phpmyfaq/pkg-plist b/www/phpmyfaq/pkg-plist
index 012bbf6c9fc8..44302d4fd79e 100644
--- a/www/phpmyfaq/pkg-plist
+++ b/www/phpmyfaq/pkg-plist
@@ -77,6 +77,7 @@
%%WWWDIR%%/admin/assets/src/user/index.js
%%WWWDIR%%/admin/assets/src/user/user-list.js
%%WWWDIR%%/admin/assets/src/user/users.js
+%%WWWDIR%%/admin/assets/src/user/users.test.js
%%WWWDIR%%/admin/assets/src/utils/index.js
%%WWWDIR%%/admin/assets/src/utils/notifications.js
%%WWWDIR%%/admin/assets/src/utils/session.js
@@ -1994,6 +1995,8 @@
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/SpanContextValidator.php
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/SpanInterface.php
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/SpanKind.php
+%%WWWDIR%%/src/libs/open-telemetry/api/Trace/SpanSuppression/SemanticConvention.php
+%%WWWDIR%%/src/libs/open-telemetry/api/Trace/SpanSuppression/SemanticConventionResolver.php
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/StatusCode.php
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/TraceFlags.php
%%WWWDIR%%/src/libs/open-telemetry/api/Trace/TraceState.php
@@ -2021,10 +2024,13 @@
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/ArrayAccessGetterSetter.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/EnvironmentGetterSetter.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/ExtendedPropagationGetterInterface.php
+%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/MultiResponsePropagator.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/MultiTextMapPropagator.php
+%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/NoopResponsePropagator.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/NoopTextMapPropagator.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/PropagationGetterInterface.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/PropagationSetterInterface.php
+%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/ResponsePropagatorInterface.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/SanitizeCombinedHeadersPropagationGetter.php
%%WWWDIR%%/src/libs/open-telemetry/context/Propagation/TextMapPropagatorInterface.php
%%WWWDIR%%/src/libs/open-telemetry/context/README.md
@@ -5047,7 +5053,6 @@
%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/Cursor.php
%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/Data.php
%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/DumperInterface.php
-%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/Internal/NoDefault.php
%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/Stub.php
%%WWWDIR%%/src/libs/symfony/var-dumper/Cloner/VarCloner.php
%%WWWDIR%%/src/libs/symfony/var-dumper/Command/Descriptor/CliDescriptor.php
diff --git a/www/py-dj52-django-cors-headers/Makefile b/www/py-dj52-django-cors-headers/Makefile
index ede2fbb0079e..887eaded14b6 100644
--- a/www/py-dj52-django-cors-headers/Makefile
+++ b/www/py-dj52-django-cors-headers/Makefile
@@ -1,5 +1,5 @@
PORTNAME= django-cors-headers
-DISTVERSION= 4.7.0
+DISTVERSION= 4.9.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
diff --git a/www/py-dj52-django-cors-headers/distinfo b/www/py-dj52-django-cors-headers/distinfo
index ea513ae6604c..12c0cabe9960 100644
--- a/www/py-dj52-django-cors-headers/distinfo
+++ b/www/py-dj52-django-cors-headers/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1739187247
-SHA256 (django_cors_headers-4.7.0.tar.gz) = 6fdf31bf9c6d6448ba09ef57157db2268d515d94fc5c89a0a1028e1fc03ee52b
-SIZE (django_cors_headers-4.7.0.tar.gz) = 21037
+TIMESTAMP = 1759317248
+SHA256 (django_cors_headers-4.9.0.tar.gz) = fe5d7cb59fdc2c8c646ce84b727ac2bca8912a247e6e68e1fb507372178e59e8
+SIZE (django_cors_headers-4.9.0.tar.gz) = 21458
diff --git a/www/py-dj52-django-cors-headers/files/patch-pyproject.toml b/www/py-dj52-django-cors-headers/files/patch-pyproject.toml
new file mode 100644
index 000000000000..b7e07d6bac3c
--- /dev/null
+++ b/www/py-dj52-django-cors-headers/files/patch-pyproject.toml
@@ -0,0 +1,24 @@
+* Relax version requirements of py-setuptools and enable build for
+ older versions of it
+
+--- pyproject.toml.orig 2025-09-18 12:15:44 UTC
++++ pyproject.toml
+@@ -1,7 +1,7 @@ requires = [
+ [build-system]
+ build-backend = "setuptools.build_meta"
+ requires = [
+- "setuptools>=77",
++ "setuptools",
+ ]
+
+ [project]
+@@ -16,8 +16,7 @@ keywords = [
+ "middleware",
+ "rest",
+ ]
+-license = "MIT"
+-license-files = [ "LICENSE" ]
++license = { text="MIT" }
+ maintainers = [
+ { name = "Adam Johnson", email = "me@adamj.eu" },
+ ]
diff --git a/www/py-dj52-django-filter/Makefile b/www/py-dj52-django-filter/Makefile
index c999af31c25c..653b1020be0c 100644
--- a/www/py-dj52-django-filter/Makefile
+++ b/www/py-dj52-django-filter/Makefile
@@ -1,5 +1,5 @@
PORTNAME= django-filter
-DISTVERSION= 25.1
+DISTVERSION= 25.2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
@@ -13,7 +13,7 @@ LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}flit-core>=3.2<4:devel/py-flit-core@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=5.2:www/py-django52@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
@@ -22,4 +22,11 @@ CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}*${PORTNAME}
NO_ARCH= yes
+OPTIONS_DEFINE= DRF
+OPTIONS_DEFAULT= DRF
+
+DRF_DESC= Support for Django REST framework
+
+DRF_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-djangorestframework>0:www/py-dj52-djangorestframework@${PY_FLAVOR}
+
.include <bsd.port.mk>
diff --git a/www/py-dj52-django-filter/distinfo b/www/py-dj52-django-filter/distinfo
index 1fe436b6ac10..4432f070b334 100644
--- a/www/py-dj52-django-filter/distinfo
+++ b/www/py-dj52-django-filter/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1740212287
-SHA256 (django_filter-25.1.tar.gz) = 1ec9eef48fa8da1c0ac9b411744b16c3f4c31176c867886e4c48da369c407153
-SIZE (django_filter-25.1.tar.gz) = 143021
+TIMESTAMP = 1761215385
+SHA256 (django_filter-25.2.tar.gz) = 760e984a931f4468d096f5541787efb8998c61217b73006163bf2f9523fe8f23
+SIZE (django_filter-25.2.tar.gz) = 143818
diff --git a/www/py-dj52-django-htmx/Makefile b/www/py-dj52-django-htmx/Makefile
index 6d16fe807308..1d98c51d1362 100644
--- a/www/py-dj52-django-htmx/Makefile
+++ b/www/py-dj52-django-htmx/Makefile
@@ -1,5 +1,5 @@
PORTNAME= django-htmx
-DISTVERSION= 1.23.2
+DISTVERSION= 1.26.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
diff --git a/www/py-dj52-django-htmx/distinfo b/www/py-dj52-django-htmx/distinfo
index a7bbc8609725..05980aa9033f 100644
--- a/www/py-dj52-django-htmx/distinfo
+++ b/www/py-dj52-django-htmx/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1751179083
-SHA256 (django_htmx-1.23.2.tar.gz) = 65a8c8825fcae983b94aedce26af96a70717ab185d55cdb8a7a4bb68863ab079
-SIZE (django_htmx-1.23.2.tar.gz) = 64415
+TIMESTAMP = 1759317357
+SHA256 (django_htmx-1.26.0.tar.gz) = 88ecc2f8a3f13ad5a50e6b16be127f04fba369124cc40a09b21ce33babb04aa6
+SIZE (django_htmx-1.26.0.tar.gz) = 65345
diff --git a/www/py-dj52-django-rich/Makefile b/www/py-dj52-django-rich/Makefile
index 8c7d791d94ba..cdd893e06189 100644
--- a/www/py-dj52-django-rich/Makefile
+++ b/www/py-dj52-django-rich/Makefile
@@ -1,5 +1,5 @@
PORTNAME= django-rich
-DISTVERSION= 2.0.0
+DISTVERSION= 2.2.0
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
diff --git a/www/py-dj52-django-rich/distinfo b/www/py-dj52-django-rich/distinfo
index ff93b43f1403..f0159f8997fe 100644
--- a/www/py-dj52-django-rich/distinfo
+++ b/www/py-dj52-django-rich/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1747327116
-SHA256 (django_rich-2.0.0.tar.gz) = 3646edf7223f05b9775ec9a38ab5a33be93042fc3de3d5e31eacf84da6091913
-SIZE (django_rich-2.0.0.tar.gz) = 61448
+TIMESTAMP = 1759317430
+SHA256 (django_rich-2.2.0.tar.gz) = ecec7842d040024ed8a225699388535e46b87277550c33f46193b52cece2f780
+SIZE (django_rich-2.2.0.tar.gz) = 62427
diff --git a/www/py-dj52-django-rich/files/patch-pyproject.toml b/www/py-dj52-django-rich/files/patch-pyproject.toml
new file mode 100644
index 000000000000..461d3be58401
--- /dev/null
+++ b/www/py-dj52-django-rich/files/patch-pyproject.toml
@@ -0,0 +1,24 @@
+* Relax version requirements of py-setuptools and enable build for
+ older versions of it
+
+--- pyproject.toml.orig 2025-09-18 12:19:48 UTC
++++ pyproject.toml
+@@ -1,7 +1,7 @@ requires = [
+ [build-system]
+ build-backend = "setuptools.build_meta"
+ requires = [
+- "setuptools>=77",
++ "setuptools",
+ ]
+
+ [project]
+@@ -12,8 +12,7 @@ keywords = [
+ keywords = [
+ "Django",
+ ]
+-license = "MIT"
+-license-files = [ "LICENSE" ]
++license = { text="MIT" }
+ authors = [
+ { name = "Adam Johnson", email = "me@adamj.eu" },
+ ]
diff --git a/www/py-dj52-drf-spectacular-sidecar/Makefile b/www/py-dj52-drf-spectacular-sidecar/Makefile
index e719cb49be22..9327978bbf68 100644
--- a/www/py-dj52-drf-spectacular-sidecar/Makefile
+++ b/www/py-dj52-drf-spectacular-sidecar/Makefile
@@ -1,5 +1,5 @@
PORTNAME= drf-spectacular-sidecar
-DISTVERSION= 2025.8.1
+DISTVERSION= 2025.10.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
diff --git a/www/py-dj52-drf-spectacular-sidecar/distinfo b/www/py-dj52-drf-spectacular-sidecar/distinfo
index 624d528d29c8..38e671306354 100644
--- a/www/py-dj52-drf-spectacular-sidecar/distinfo
+++ b/www/py-dj52-drf-spectacular-sidecar/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1755334079
-SHA256 (drf_spectacular_sidecar-2025.8.1.tar.gz) = 1944ae0eb5136cff5aa135211bec31084cef1af03a04de9b7f2f912b3c59c251
-SIZE (drf_spectacular_sidecar-2025.8.1.tar.gz) = 2407787
+TIMESTAMP = 1761216097
+SHA256 (drf_spectacular_sidecar-2025.10.1.tar.gz) = 506a5a21ce1ad7211c28acb4e2112e213f6dc095a2052ee6ed6db1ffe8eb5a7b
+SIZE (drf_spectacular_sidecar-2025.10.1.tar.gz) = 2420998
diff --git a/www/py-dj52-strawberry-graphql-django/Makefile b/www/py-dj52-strawberry-graphql-django/Makefile
index 6e7c2e408233..8e2d490b942a 100644
--- a/www/py-dj52-strawberry-graphql-django/Makefile
+++ b/www/py-dj52-strawberry-graphql-django/Makefile
@@ -1,5 +1,5 @@
PORTNAME= strawberry-graphql-django
-DISTVERSION= 0.65.1
+DISTVERSION= 0.66.2
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}dj52-
@@ -16,7 +16,7 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}django52>=4.2:www/py-django52@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}asgiref>=3.8:www/py-asgiref@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.276.2:devel/py-dj52-strawberry-graphql@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}dj52-strawberry-graphql>=0.283.2:devel/py-dj52-strawberry-graphql@${PY_FLAVOR}
USES= python:3.10+
USE_PYTHON= autoplist pep517
@@ -31,7 +31,7 @@ OPTIONS_DEFAULT= DEBUG-TOOLBAR ENUM
DEBUG-TOOLBAR_DESC= Debug support
ENUM_DESC= Integration for Django's TextChoices/IntegerChoices enumerations
-DEBUG-TOOLBAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=3.4:www/py-dj52-django-debug-toolbar@${PY_FLAVOR}
+DEBUG-TOOLBAR_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-debug-toolbar>=6.0.0:www/py-dj52-django-debug-toolbar@${PY_FLAVOR}
ENUM_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dj52-django-choices-field>=2.2.2:www/py-dj52-django-choices-field@${PY_FLAVOR}
.include <bsd.port.mk>
diff --git a/www/py-dj52-strawberry-graphql-django/distinfo b/www/py-dj52-strawberry-graphql-django/distinfo
index 8361a3c27c9e..ff51bd679583 100644
--- a/www/py-dj52-strawberry-graphql-django/distinfo
+++ b/www/py-dj52-strawberry-graphql-django/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753852395
-SHA256 (strawberry_graphql_django-0.65.1.tar.gz) = de312b77d83ab475b875f76f44161e8c5d9d284f349df61cebc83b4362b57a17
-SIZE (strawberry_graphql_django-0.65.1.tar.gz) = 86593
+TIMESTAMP = 1760606147
+SHA256 (strawberry_graphql_django-0.66.2.tar.gz) = 97f92d706a3532963cf681c725e6014f957dc8b1daeab45a5b67dd68690fbe2c
+SIZE (strawberry_graphql_django-0.66.2.tar.gz) = 85368
diff --git a/www/py-nh3/Makefile b/www/py-nh3/Makefile
index ccd0ddbe40e7..ec711b3773cb 100644
--- a/www/py-nh3/Makefile
+++ b/www/py-nh3/Makefile
@@ -1,6 +1,5 @@
PORTNAME= nh3
-DISTVERSION= 0.3.0
-PORTREVISION= 2
+DISTVERSION= 0.3.1
CATEGORIES= www python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/www/py-nh3/Makefile.crates b/www/py-nh3/Makefile.crates
index 0791ff9e1731..45891b506f60 100644
--- a/www/py-nh3/Makefile.crates
+++ b/www/py-nh3/Makefile.crates
@@ -1,15 +1,16 @@
CARGO_CRATES= aliasable-0.1.3 \
- ammonia-4.1.1 \
+ ammonia-4.1.2 \
autocfg-1.5.0 \
- bitflags-2.9.1 \
- cc-1.2.29 \
- cfg-if-1.0.1 \
+ bitflags-2.9.4 \
+ cc-1.2.40 \
+ cfg-if-1.0.3 \
cssparser-0.35.0 \
cssparser-macros-0.6.1 \
displaydoc-0.2.5 \
dtoa-1.0.10 \
dtoa-short-0.3.5 \
- form_urlencoded-1.2.1 \
+ find-msvc-tools-0.1.3 \
+ form_urlencoded-1.2.2 \
futf-0.1.5 \
heck-0.4.1 \
heck-0.5.0 \
@@ -21,14 +22,14 @@ CARGO_CRATES= aliasable-0.1.3 \
icu_properties-2.0.1 \
icu_properties_data-2.0.1 \
icu_provider-2.0.0 \
- idna-1.0.3 \
+ idna-1.1.0 \
idna_adapter-1.2.1 \
indoc-2.0.6 \
itoa-1.0.15 \
- libc-0.2.174 \
+ libc-0.2.176 \
litemap-0.8.0 \
- lock_api-0.4.13 \
- log-0.4.27 \
+ lock_api-0.4.14 \
+ log-0.4.28 \
mac-0.1.1 \
maplit-1.0.2 \
markup5ever-0.35.0 \
@@ -38,32 +39,33 @@ CARGO_CRATES= aliasable-0.1.3 \
once_cell-1.21.3 \
ouroboros-0.18.5 \
ouroboros_macro-0.18.5 \
- parking_lot-0.12.4 \
- parking_lot_core-0.9.11 \
- percent-encoding-2.3.1 \
+ parking_lot-0.12.5 \
+ parking_lot_core-0.9.12 \
+ percent-encoding-2.3.2 \
phf-0.11.3 \
phf_codegen-0.11.3 \
phf_generator-0.11.3 \
phf_macros-0.11.3 \
phf_shared-0.11.3 \
portable-atomic-1.11.1 \
- potential_utf-0.1.2 \
+ potential_utf-0.1.3 \
precomputed-hash-0.1.1 \
- proc-macro2-1.0.95 \
+ proc-macro2-1.0.101 \
proc-macro2-diagnostics-0.10.1 \
- pyo3-0.25.1 \
- pyo3-build-config-0.25.1 \
- pyo3-ffi-0.25.1 \
- pyo3-macros-0.25.1 \
- pyo3-macros-backend-0.25.1 \
+ pyo3-0.26.0 \
+ pyo3-build-config-0.26.0 \
+ pyo3-ffi-0.26.0 \
+ pyo3-macros-0.26.0 \
+ pyo3-macros-backend-0.26.0 \
python3-dll-a-0.2.14 \
- quote-1.0.40 \
+ quote-1.0.41 \
rand-0.8.5 \
rand_core-0.6.4 \
- redox_syscall-0.5.13 \
+ redox_syscall-0.5.18 \
scopeguard-1.2.0 \
- serde-1.0.219 \
- serde_derive-1.0.219 \
+ serde-1.0.228 \
+ serde_core-1.0.228 \
+ serde_derive-1.0.228 \
shlex-1.3.0 \
siphasher-1.0.1 \
smallvec-1.15.1 \
@@ -71,27 +73,19 @@ CARGO_CRATES= aliasable-0.1.3 \
static_assertions-1.1.0 \
string_cache-0.8.9 \
string_cache_codegen-0.5.4 \
- syn-2.0.104 \
+ syn-2.0.106 \
synstructure-0.13.2 \
- target-lexicon-0.13.2 \
+ target-lexicon-0.13.3 \
tendril-0.4.3 \
tinystr-0.8.1 \
- unicode-ident-1.0.18 \
+ unicode-ident-1.0.19 \
unindent-0.2.4 \
- url-2.5.4 \
+ url-2.5.7 \
utf-8-0.7.6 \
utf8_iter-1.0.4 \
version_check-0.9.5 \
web_atoms-0.1.3 \
- windows-targets-0.52.6 \
- windows_aarch64_gnullvm-0.52.6 \
- windows_aarch64_msvc-0.52.6 \
- windows_i686_gnu-0.52.6 \
- windows_i686_gnullvm-0.52.6 \
- windows_i686_msvc-0.52.6 \
- windows_x86_64_gnu-0.52.6 \
- windows_x86_64_gnullvm-0.52.6 \
- windows_x86_64_msvc-0.52.6 \
+ windows-link-0.2.1 \
writeable-0.6.1 \
yansi-1.0.1 \
yoke-0.8.0 \
@@ -99,5 +93,5 @@ CARGO_CRATES= aliasable-0.1.3 \
zerofrom-0.1.6 \
zerofrom-derive-0.1.6 \
zerotrie-0.2.2 \
- zerovec-0.11.2 \
+ zerovec-0.11.4 \
zerovec-derive-0.11.1
diff --git a/www/py-nh3/distinfo b/www/py-nh3/distinfo
index 00d949b83473..c4d4364573bd 100644
--- a/www/py-nh3/distinfo
+++ b/www/py-nh3/distinfo
@@ -1,18 +1,18 @@
-TIMESTAMP = 1753852250
-SHA256 (nh3-0.3.0.tar.gz) = d8ba24cb31525492ea71b6aac11a4adac91d828aadeff7c4586541bf5dc34d2f
-SIZE (nh3-0.3.0.tar.gz) = 19655
+TIMESTAMP = 1761233155
+SHA256 (nh3-0.3.1.tar.gz) = 6a854480058683d60bdc7f0456105092dae17bef1f300642856d74bd4201da93
+SIZE (nh3-0.3.1.tar.gz) = 18590
SHA256 (rust/crates/aliasable-0.1.3.crate) = 250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd
SIZE (rust/crates/aliasable-0.1.3.crate) = 6169
-SHA256 (rust/crates/ammonia-4.1.1.crate) = d6b346764dd0814805de8abf899fe03065bcee69bb1a4771c785817e39f3978f
-SIZE (rust/crates/ammonia-4.1.1.crate) = 56029
+SHA256 (rust/crates/ammonia-4.1.2.crate) = 17e913097e1a2124b46746c980134e8c954bc17a6a59bb3fde96f088d126dde6
+SIZE (rust/crates/ammonia-4.1.2.crate) = 57453
SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
SIZE (rust/crates/autocfg-1.5.0.crate) = 18729
-SHA256 (rust/crates/bitflags-2.9.1.crate) = 1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967
-SIZE (rust/crates/bitflags-2.9.1.crate) = 47913
-SHA256 (rust/crates/cc-1.2.29.crate) = 5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362
-SIZE (rust/crates/cc-1.2.29.crate) = 108072
-SHA256 (rust/crates/cfg-if-1.0.1.crate) = 9555578bc9e57714c812a1f84e4fc5b4d21fcb063490c624de019f7464c91268
-SIZE (rust/crates/cfg-if-1.0.1.crate) = 8683
+SHA256 (rust/crates/bitflags-2.9.4.crate) = 2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394
+SIZE (rust/crates/bitflags-2.9.4.crate) = 47950
+SHA256 (rust/crates/cc-1.2.40.crate) = e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb
+SIZE (rust/crates/cc-1.2.40.crate) = 91094
+SHA256 (rust/crates/cfg-if-1.0.3.crate) = 2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9
+SIZE (rust/crates/cfg-if-1.0.3.crate) = 8719
SHA256 (rust/crates/cssparser-0.35.0.crate) = 4e901edd733a1472f944a45116df3f846f54d37e67e68640ac8bb69689aca2aa
SIZE (rust/crates/cssparser-0.35.0.crate) = 54145
SHA256 (rust/crates/cssparser-macros-0.6.1.crate) = 13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331
@@ -23,8 +23,10 @@ SHA256 (rust/crates/dtoa-1.0.10.crate) = d6add3b8cff394282be81f3fc1a0605db594ed6
SIZE (rust/crates/dtoa-1.0.10.crate) = 17584
SHA256 (rust/crates/dtoa-short-0.3.5.crate) = cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87
SIZE (rust/crates/dtoa-short-0.3.5.crate) = 8287
-SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
-SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/find-msvc-tools-0.1.3.crate) = 0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3
+SIZE (rust/crates/find-msvc-tools-0.1.3.crate) = 30486
+SHA256 (rust/crates/form_urlencoded-1.2.2.crate) = cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf
+SIZE (rust/crates/form_urlencoded-1.2.2.crate) = 9347
SHA256 (rust/crates/futf-0.1.5.crate) = df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843
SIZE (rust/crates/futf-0.1.5.crate) = 11344
SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
@@ -47,22 +49,22 @@ SHA256 (rust/crates/icu_properties_data-2.0.1.crate) = 298459143998310acd25ffe68
SIZE (rust/crates/icu_properties_data-2.0.1.crate) = 159735
SHA256 (rust/crates/icu_provider-2.0.0.crate) = 03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af
SIZE (rust/crates/icu_provider-2.0.0.crate) = 50966
-SHA256 (rust/crates/idna-1.0.3.crate) = 686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e
-SIZE (rust/crates/idna-1.0.3.crate) = 142515
+SHA256 (rust/crates/idna-1.1.0.crate) = 3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de
+SIZE (rust/crates/idna-1.1.0.crate) = 148747
SHA256 (rust/crates/idna_adapter-1.2.1.crate) = 3acae9609540aa318d1bc588455225fb2085b9ed0c4f6bd0d9d5bcd86f1a0344
SIZE (rust/crates/idna_adapter-1.2.1.crate) = 10389
SHA256 (rust/crates/indoc-2.0.6.crate) = f4c7245a08504955605670dbf141fceab975f15ca21570696aebe9d2e71576bd
SIZE (rust/crates/indoc-2.0.6.crate) = 17164
SHA256 (rust/crates/itoa-1.0.15.crate) = 4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c
SIZE (rust/crates/itoa-1.0.15.crate) = 11231
-SHA256 (rust/crates/libc-0.2.174.crate) = 1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776
-SIZE (rust/crates/libc-0.2.174.crate) = 779933
+SHA256 (rust/crates/libc-0.2.176.crate) = 58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174
+SIZE (rust/crates/libc-0.2.176.crate) = 790040
SHA256 (rust/crates/litemap-0.8.0.crate) = 241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956
SIZE (rust/crates/litemap-0.8.0.crate) = 34344
-SHA256 (rust/crates/lock_api-0.4.13.crate) = 96936507f153605bddfcda068dd804796c84324ed2510809e5b2a624c81da765
-SIZE (rust/crates/lock_api-0.4.13.crate) = 28565
-SHA256 (rust/crates/log-0.4.27.crate) = 13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94
-SIZE (rust/crates/log-0.4.27.crate) = 48120
+SHA256 (rust/crates/lock_api-0.4.14.crate) = 224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965
+SIZE (rust/crates/lock_api-0.4.14.crate) = 29249
+SHA256 (rust/crates/log-0.4.28.crate) = 34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432
+SIZE (rust/crates/log-0.4.28.crate) = 51131
SHA256 (rust/crates/mac-0.1.1.crate) = c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4
SIZE (rust/crates/mac-0.1.1.crate) = 4838
SHA256 (rust/crates/maplit-1.0.2.crate) = 3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d
@@ -81,12 +83,12 @@ SHA256 (rust/crates/ouroboros-0.18.5.crate) = 1e0f050db9c44b97a94723127e6be766ac
SIZE (rust/crates/ouroboros-0.18.5.crate) = 11678
SHA256 (rust/crates/ouroboros_macro-0.18.5.crate) = 3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0
SIZE (rust/crates/ouroboros_macro-0.18.5.crate) = 22021
-SHA256 (rust/crates/parking_lot-0.12.4.crate) = 70d58bf43669b5795d1576d0641cfb6fbb2057bf629506267a92807158584a13
-SIZE (rust/crates/parking_lot-0.12.4.crate) = 46779
-SHA256 (rust/crates/parking_lot_core-0.9.11.crate) = bc838d2a56b5b1a6c25f55575dfc605fabb63bb2365f6c2353ef9159aa69e4a5
-SIZE (rust/crates/parking_lot_core-0.9.11.crate) = 34773
-SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
-SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/parking_lot-0.12.5.crate) = 93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a
+SIZE (rust/crates/parking_lot-0.12.5.crate) = 46735
+SHA256 (rust/crates/parking_lot_core-0.9.12.crate) = 2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1
+SIZE (rust/crates/parking_lot_core-0.9.12.crate) = 34110
+SHA256 (rust/crates/percent-encoding-2.3.2.crate) = 9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220
+SIZE (rust/crates/percent-encoding-2.3.2.crate) = 11583
SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078
SIZE (rust/crates/phf-0.11.3.crate) = 23231
SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a
@@ -99,40 +101,42 @@ SHA256 (rust/crates/phf_shared-0.11.3.crate) = 67eabc2ef2a60eb7faa00097bd1ffdb5b
SIZE (rust/crates/phf_shared-0.11.3.crate) = 15199
SHA256 (rust/crates/portable-atomic-1.11.1.crate) = f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483
SIZE (rust/crates/portable-atomic-1.11.1.crate) = 185506
-SHA256 (rust/crates/potential_utf-0.1.2.crate) = e5a7c30837279ca13e7c867e9e40053bc68740f988cb07f7ca6df43cc734b585
-SIZE (rust/crates/potential_utf-0.1.2.crate) = 9613
+SHA256 (rust/crates/potential_utf-0.1.3.crate) = 84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a
+SIZE (rust/crates/potential_utf-0.1.3.crate) = 9698
SHA256 (rust/crates/precomputed-hash-0.1.1.crate) = 925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c
SIZE (rust/crates/precomputed-hash-0.1.1.crate) = 1640
-SHA256 (rust/crates/proc-macro2-1.0.95.crate) = 02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778
-SIZE (rust/crates/proc-macro2-1.0.95.crate) = 51820
+SHA256 (rust/crates/proc-macro2-1.0.101.crate) = 89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de
+SIZE (rust/crates/proc-macro2-1.0.101.crate) = 53886
SHA256 (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8
SIZE (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = 12219
-SHA256 (rust/crates/pyo3-0.25.1.crate) = 8970a78afe0628a3e3430376fc5fd76b6b45c4d43360ffd6cdd40bdde72b682a
-SIZE (rust/crates/pyo3-0.25.1.crate) = 1121993
-SHA256 (rust/crates/pyo3-build-config-0.25.1.crate) = 458eb0c55e7ece017adeba38f2248ff3ac615e53660d7c71a238d7d2a01c7598
-SIZE (rust/crates/pyo3-build-config-0.25.1.crate) = 34126
-SHA256 (rust/crates/pyo3-ffi-0.25.1.crate) = 7114fe5457c61b276ab77c5055f206295b812608083644a5c5b2640c3102565c
-SIZE (rust/crates/pyo3-ffi-0.25.1.crate) = 78058
-SHA256 (rust/crates/pyo3-macros-0.25.1.crate) = a8725c0a622b374d6cb051d11a0983786448f7785336139c3c94f5aa6bef7e50
-SIZE (rust/crates/pyo3-macros-0.25.1.crate) = 8886
-SHA256 (rust/crates/pyo3-macros-backend-0.25.1.crate) = 4109984c22491085343c05b0dbc54ddc405c3cf7b4374fc533f5c3313a572ccc
-SIZE (rust/crates/pyo3-macros-backend-0.25.1.crate) = 76006
+SHA256 (rust/crates/pyo3-0.26.0.crate) = 7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383
+SIZE (rust/crates/pyo3-0.26.0.crate) = 1151579
+SHA256 (rust/crates/pyo3-build-config-0.26.0.crate) = 4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f
+SIZE (rust/crates/pyo3-build-config-0.26.0.crate) = 34309
+SHA256 (rust/crates/pyo3-ffi-0.26.0.crate) = 025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105
+SIZE (rust/crates/pyo3-ffi-0.26.0.crate) = 78247
+SHA256 (rust/crates/pyo3-macros-0.26.0.crate) = 2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded
+SIZE (rust/crates/pyo3-macros-0.26.0.crate) = 8906
+SHA256 (rust/crates/pyo3-macros-backend-0.26.0.crate) = 100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf
+SIZE (rust/crates/pyo3-macros-backend-0.26.0.crate) = 81809
SHA256 (rust/crates/python3-dll-a-0.2.14.crate) = d381ef313ae70b4da5f95f8a4de773c6aa5cd28f73adec4b4a31df70b66780d8
SIZE (rust/crates/python3-dll-a-0.2.14.crate) = 103489
-SHA256 (rust/crates/quote-1.0.40.crate) = 1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d
-SIZE (rust/crates/quote-1.0.40.crate) = 31063
+SHA256 (rust/crates/quote-1.0.41.crate) = ce25767e7b499d1b604768e7cde645d14cc8584231ea6b295e9c9eb22c02e1d1
+SIZE (rust/crates/quote-1.0.41.crate) = 31408
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
-SHA256 (rust/crates/redox_syscall-0.5.13.crate) = 0d04b7d0ee6b4a0207a0a7adb104d23ecb0b47d6beae7152d0fa34b692b29fd6
-SIZE (rust/crates/redox_syscall-0.5.13.crate) = 29489
+SHA256 (rust/crates/redox_syscall-0.5.18.crate) = ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d
+SIZE (rust/crates/redox_syscall-0.5.18.crate) = 30747
SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
-SHA256 (rust/crates/serde-1.0.219.crate) = 5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6
-SIZE (rust/crates/serde-1.0.219.crate) = 78983
-SHA256 (rust/crates/serde_derive-1.0.219.crate) = 5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00
-SIZE (rust/crates/serde_derive-1.0.219.crate) = 57798
+SHA256 (rust/crates/serde-1.0.228.crate) = 9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e
+SIZE (rust/crates/serde-1.0.228.crate) = 83652
+SHA256 (rust/crates/serde_core-1.0.228.crate) = 41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad
+SIZE (rust/crates/serde_core-1.0.228.crate) = 63111
+SHA256 (rust/crates/serde_derive-1.0.228.crate) = d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79
+SIZE (rust/crates/serde_derive-1.0.228.crate) = 59605
SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
SIZE (rust/crates/shlex-1.3.0.crate) = 18713
SHA256 (rust/crates/siphasher-1.0.1.crate) = 56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d
@@ -147,22 +151,22 @@ SHA256 (rust/crates/string_cache-0.8.9.crate) = bf776ba3fa74f83bf4b63c3dcbbf8217
SIZE (rust/crates/string_cache-0.8.9.crate) = 17408
SHA256 (rust/crates/string_cache_codegen-0.5.4.crate) = c711928715f1fe0fe509c53b43e993a9a557babc2d0a3567d0a3006f1ac931a0
SIZE (rust/crates/string_cache_codegen-0.5.4.crate) = 9406
-SHA256 (rust/crates/syn-2.0.104.crate) = 17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40
-SIZE (rust/crates/syn-2.0.104.crate) = 299699
+SHA256 (rust/crates/syn-2.0.106.crate) = ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6
+SIZE (rust/crates/syn-2.0.106.crate) = 301514
SHA256 (rust/crates/synstructure-0.13.2.crate) = 728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2
SIZE (rust/crates/synstructure-0.13.2.crate) = 18950
-SHA256 (rust/crates/target-lexicon-0.13.2.crate) = e502f78cdbb8ba4718f566c418c52bc729126ffd16baee5baa718cf25dd5a69a
-SIZE (rust/crates/target-lexicon-0.13.2.crate) = 27923
+SHA256 (rust/crates/target-lexicon-0.13.3.crate) = df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c
+SIZE (rust/crates/target-lexicon-0.13.3.crate) = 28498
SHA256 (rust/crates/tendril-0.4.3.crate) = d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0
SIZE (rust/crates/tendril-0.4.3.crate) = 37210
SHA256 (rust/crates/tinystr-0.8.1.crate) = 5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b
SIZE (rust/crates/tinystr-0.8.1.crate) = 23333
-SHA256 (rust/crates/unicode-ident-1.0.18.crate) = 5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512
-SIZE (rust/crates/unicode-ident-1.0.18.crate) = 47743
+SHA256 (rust/crates/unicode-ident-1.0.19.crate) = f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d
+SIZE (rust/crates/unicode-ident-1.0.19.crate) = 47480
SHA256 (rust/crates/unindent-0.2.4.crate) = 7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3
SIZE (rust/crates/unindent-0.2.4.crate) = 7422
-SHA256 (rust/crates/url-2.5.4.crate) = 32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60
-SIZE (rust/crates/url-2.5.4.crate) = 81097
+SHA256 (rust/crates/url-2.5.7.crate) = 08bc136a29a3d1758e07a9cca267be308aeebf5cfd5a10f3f67ab2097683ef5b
+SIZE (rust/crates/url-2.5.7.crate) = 87907
SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
SHA256 (rust/crates/utf8_iter-1.0.4.crate) = b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be
@@ -171,24 +175,8 @@ SHA256 (rust/crates/version_check-0.9.5.crate) = 0b928f33d975fc6ad9f86c8f283853a
SIZE (rust/crates/version_check-0.9.5.crate) = 15554
SHA256 (rust/crates/web_atoms-0.1.3.crate) = 57ffde1dc01240bdf9992e3205668b235e59421fd085e8a317ed98da0178d414
SIZE (rust/crates/web_atoms-0.1.3.crate) = 27392
-SHA256 (rust/crates/windows-targets-0.52.6.crate) = 9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973
-SIZE (rust/crates/windows-targets-0.52.6.crate) = 6403
-SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3
-SIZE (rust/crates/windows_aarch64_gnullvm-0.52.6.crate) = 435718
-SHA256 (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469
-SIZE (rust/crates/windows_aarch64_msvc-0.52.6.crate) = 832615
-SHA256 (rust/crates/windows_i686_gnu-0.52.6.crate) = 8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b
-SIZE (rust/crates/windows_i686_gnu-0.52.6.crate) = 880402
-SHA256 (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66
-SIZE (rust/crates/windows_i686_gnullvm-0.52.6.crate) = 475940
-SHA256 (rust/crates/windows_i686_msvc-0.52.6.crate) = 240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66
-SIZE (rust/crates/windows_i686_msvc-0.52.6.crate) = 901163
-SHA256 (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78
-SIZE (rust/crates/windows_x86_64_gnu-0.52.6.crate) = 836363
-SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d
-SIZE (rust/crates/windows_x86_64_gnullvm-0.52.6.crate) = 435707
-SHA256 (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec
-SIZE (rust/crates/windows_x86_64_msvc-0.52.6.crate) = 832564
+SHA256 (rust/crates/windows-link-0.2.1.crate) = f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5
+SIZE (rust/crates/windows-link-0.2.1.crate) = 6133
SHA256 (rust/crates/writeable-0.6.1.crate) = ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb
SIZE (rust/crates/writeable-0.6.1.crate) = 24068
SHA256 (rust/crates/yansi-1.0.1.crate) = cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049
@@ -203,7 +191,7 @@ SHA256 (rust/crates/zerofrom-derive-0.1.6.crate) = d71e5d6e06ab090c67b5e44993ec1
SIZE (rust/crates/zerofrom-derive-0.1.6.crate) = 8305
SHA256 (rust/crates/zerotrie-0.2.2.crate) = 36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595
SIZE (rust/crates/zerotrie-0.2.2.crate) = 74423
-SHA256 (rust/crates/zerovec-0.11.2.crate) = 4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428
-SIZE (rust/crates/zerovec-0.11.2.crate) = 124500
+SHA256 (rust/crates/zerovec-0.11.4.crate) = e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b
+SIZE (rust/crates/zerovec-0.11.4.crate) = 125080
SHA256 (rust/crates/zerovec-derive-0.11.1.crate) = 5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f
SIZE (rust/crates/zerovec-derive-0.11.1.crate) = 21294
diff --git a/x11-toolkits/kddockwidgets/Makefile b/x11-toolkits/kddockwidgets/Makefile
index 6803f6796bcd..f6af4be9a738 100644
--- a/x11-toolkits/kddockwidgets/Makefile
+++ b/x11-toolkits/kddockwidgets/Makefile
@@ -1,7 +1,6 @@
PORTNAME= kddockwidgets
DISTVERSIONPREFIX= v
-DISTVERSION= 2.2.5
-PORTREVISION= 2
+DISTVERSION= 2.3.0
CATEGORIES= x11-toolkits
MAINTAINER= kde@FreeBSD.org
diff --git a/x11-toolkits/kddockwidgets/distinfo b/x11-toolkits/kddockwidgets/distinfo
index 098805c840b6..0371eee8c28e 100644
--- a/x11-toolkits/kddockwidgets/distinfo
+++ b/x11-toolkits/kddockwidgets/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1748077624
-SHA256 (KDAB-KDDockWidgets-v2.2.5_GH0.tar.gz) = 1c202d03a0c7018aebcb249b09122d846b34298d88d0bc247a601f48c7513c89
-SIZE (KDAB-KDDockWidgets-v2.2.5_GH0.tar.gz) = 5651842
+TIMESTAMP = 1761326514
+SHA256 (KDAB-KDDockWidgets-v2.3.0_GH0.tar.gz) = 843baf9e1812c1ab82fd81d85b57cbc0d29bb43245efeb2539039780004b1056
+SIZE (KDAB-KDDockWidgets-v2.3.0_GH0.tar.gz) = 5667916
diff --git a/x11-toolkits/kddockwidgets/pkg-plist b/x11-toolkits/kddockwidgets/pkg-plist
index 22177aea4b27..840f94275c54 100644
--- a/x11-toolkits/kddockwidgets/pkg-plist
+++ b/x11-toolkits/kddockwidgets/pkg-plist
@@ -60,6 +60,7 @@ include/kddockwidgets-qt6/kddockwidgets/qtquick/MainWindowInstantiator.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/MainWindowMDI.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/MainWindowMDIInstantiator.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/Platform.h
+include/kddockwidgets-qt6/kddockwidgets/qtquick/QmlConfig.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/RubberBand.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/Separator.h
include/kddockwidgets-qt6/kddockwidgets/qtquick/SideBar.h
@@ -122,6 +123,6 @@ lib/cmake/KDDockWidgets-qt6/KDDockWidgets-qt6ConfigVersion.cmake
lib/cmake/KDDockWidgets-qt6/KDDockWidgets-qt6Targets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/KDDockWidgets-qt6/KDDockWidgets-qt6Targets.cmake
lib/libkddockwidgets-qt6.so
-lib/libkddockwidgets-qt6.so.2.2
-lib/libkddockwidgets-qt6.so.2.2.5
+lib/libkddockwidgets-qt6.so.2.3.0
+lib/libkddockwidgets-qt6.so.3
%%QT_MKSPECDIR%%/modules/qt_KDDockWidgets.pri
diff --git a/x11/sddm/Makefile b/x11/sddm/Makefile
index 8720870a8c15..5d6522bf1528 100644
--- a/x11/sddm/Makefile
+++ b/x11/sddm/Makefile
@@ -2,7 +2,7 @@ PORTNAME= sddm
DISTVERSIONPREFIX= v
DISTVERSION= 0.21.0-36
DISTVERSIONSUFFIX= -gc2b97dd
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= x11
MAINTAINER= kde@FreeBSD.org
diff --git a/x11/sddm/files/patch-src_common_VirtualTerminal.cpp b/x11/sddm/files/patch-src_common_VirtualTerminal.cpp
new file mode 100644
index 000000000000..89717f5bd0b9
--- /dev/null
+++ b/x11/sddm/files/patch-src_common_VirtualTerminal.cpp
@@ -0,0 +1,30 @@
+--- src/common/VirtualTerminal.cpp.orig 2025-01-31 09:57:01 UTC
++++ src/common/VirtualTerminal.cpp
+@@ -29,6 +29,7 @@
+ #include <signal.h>
+ #ifdef __FreeBSD__
+ #include <sys/consio.h>
++#include <termios.h>
+ #else
+ #include <linux/vt.h>
+ #include <linux/kd.h>
+@@ -217,6 +218,19 @@ out:
+ // set graphics mode to prevent flickering
+ if (ioctl(fd, KDSETMODE, KD_GRAPHICS) < 0)
+ qWarning("Failed to set graphics mode for VT %d: %s", vt, strerror(errno));
++
++#ifdef __FreeBSD__
++ struct termios tios;
++
++ if (tcgetattr(fd, &tios) != 0) {
++ qFatal("Failed to get term attrs for VT %d: %s", vt, strerror(errno));
++ } else {
++ cfmakeraw(&tios);
++ if (tcsetattr(fd, TCSAFLUSH, &tios) != 0) {
++ qWarning("Failed to set term attrs for VT %d: %s", vt, strerror(errno));
++ }
++ }
++#endif
+
+ // it's possible that the current VT was left in a broken
+ // combination of states (KD_GRAPHICS with VT_AUTO) that we
diff --git a/x11/walker/Makefile b/x11/walker/Makefile
index 4cd8daf9b3fd..e842ef9329d5 100644
--- a/x11/walker/Makefile
+++ b/x11/walker/Makefile
@@ -1,6 +1,6 @@
PORTNAME= walker
DISTVERSIONPREFIX= v
-DISTVERSION= 2.5.6
+DISTVERSION= 2.6.2
CATEGORIES= x11 wayland
PKGNAMESUFFIX= -launcher
diff --git a/x11/walker/distinfo b/x11/walker/distinfo
index 32fb12613342..f01d6b1a1d73 100644
--- a/x11/walker/distinfo
+++ b/x11/walker/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1761140558
+TIMESTAMP = 1761260093
SHA256 (rust/crates/addr2line-0.24.2.crate) = dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1
SIZE (rust/crates/addr2line-0.24.2.crate) = 39015
SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
@@ -501,5 +501,5 @@ SHA256 (rust/crates/xml-rs-0.8.27.crate) = 6fd8403733700263c6eb89f192880191f1b83
SIZE (rust/crates/xml-rs-0.8.27.crate) = 55258
SHA256 (rust/crates/yaml-rust2-0.10.3.crate) = 4ce2a4ff45552406d02501cea6c18d8a7e50228e7736a872951fe2fe75c91be7
SIZE (rust/crates/yaml-rust2-0.10.3.crate) = 76325
-SHA256 (abenz1267-walker-v2.5.6_GH0.tar.gz) = 91bb86c43becadf807ebe2bb36f653367f1d995332c8822d47d9ee773cca2a4e
-SIZE (abenz1267-walker-v2.5.6_GH0.tar.gz) = 116482
+SHA256 (abenz1267-walker-v2.6.2_GH0.tar.gz) = ad2030f669ec7ce0f306002de2176809e41ff93ae8ae1fa8e21d0d8f93ca0253
+SIZE (abenz1267-walker-v2.6.2_GH0.tar.gz) = 116610
diff --git a/x11/xpra-html5/Makefile b/x11/xpra-html5/Makefile
index 52c4d385fef2..9d53be362e0e 100644
--- a/x11/xpra-html5/Makefile
+++ b/x11/xpra-html5/Makefile
@@ -1,6 +1,6 @@
PORTNAME= xpra-html5
DISTVERSIONPREFIX= v
-DISTVERSION= 17.1
+DISTVERSION= 18
CATEGORIES= x11
MAINTAINER= arrowd@FreeBSD.org
diff --git a/x11/xpra-html5/distinfo b/x11/xpra-html5/distinfo
index efb8401f0589..e9d8f9b76f28 100644
--- a/x11/xpra-html5/distinfo
+++ b/x11/xpra-html5/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1743417363
-SHA256 (Xpra-org-xpra-html5-v17.1_GH0.tar.gz) = 959ae19404b7eb9690c72d2a267683987cb259c21ebc01f286a455fffa949964
-SIZE (Xpra-org-xpra-html5-v17.1_GH0.tar.gz) = 2392609
+TIMESTAMP = 1761325639
+SHA256 (Xpra-org-xpra-html5-v18_GH0.tar.gz) = 16cef9dfefea574ee46bebedbb4f4c33dbe797c23099355646f51221905062d8
+SIZE (Xpra-org-xpra-html5-v18_GH0.tar.gz) = 2393424
diff --git a/x11/xpra-html5/pkg-plist b/x11/xpra-html5/pkg-plist
index daf2cae76afa..4ea0927c69aa 100644
--- a/x11/xpra-html5/pkg-plist
+++ b/x11/xpra-html5/pkg-plist
@@ -100,9 +100,6 @@ share/xpra/www/js/OffscreenDecodeWorker.js.gz
share/xpra/www/js/OffscreenDecodeWorkerHelper.js
share/xpra/www/js/OffscreenDecodeWorkerHelper.js.br
share/xpra/www/js/OffscreenDecodeWorkerHelper.js.gz
-share/xpra/www/js/PaintWorker.js
-share/xpra/www/js/PaintWorker.js.br
-share/xpra/www/js/PaintWorker.js.gz
share/xpra/www/js/Protocol.js
share/xpra/www/js/Protocol.js.br
share/xpra/www/js/Protocol.js.gz