git: b385e71707e3 - main - emulators/virtualbox-ose{,-kmod,-nox11}-71: Add new ports VirtualBox 7.1.8

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Tue, 13 May 2025 20:34:30 UTC
The branch main has been updated by vvd:

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

commit b385e71707e3273c21289041488bae032c3ccbf6
Author:     Vladimir Druzenko <vvd@FreeBSD.org>
AuthorDate: 2025-05-13 19:47:12 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2025-05-13 20:33:40 +0000

    emulators/virtualbox-ose{,-kmod,-nox11}-71: Add new ports VirtualBox 7.1.8
    
    Port based on patch from devel@stasyan.com.
    The main work on porting was done by the author of the original patch.
    The rest is a dozen various improvements and bug fixes that have been
    made over the past few months in older versions: 7.0.x, 6.1.x, 5.2.x.
    
    The requirements for 7.1.x are the same as for 7.0.x, but for now we'll
    leave both versions in experimental/test mode.
    
    The following ports also need to be created (they are not available for
    version 7.0.x either):
     - emulators/virtualbox-ose-additions-71;
     - emulators/virtualbox-ose-additions-nox11-71.
    
    www/phpvirtualbox-71 already in ports.
    
    Changelog:
    https://www.virtualbox.org/wiki/Changelog-7.1
    
    PR:             284439 271146
    Tested by:      Mario Lobo <lobo@bsd.com.br>
    Relnotes:       yes
---
 emulators/Makefile                                 |   3 +
 emulators/virtualbox-ose-71/Makefile               |  60 ++++---
 emulators/virtualbox-ose-71/distinfo               |  14 +-
 .../virtualbox-ose-71/files/extrapatch-Config.kmk  |   2 +-
 emulators/virtualbox-ose-71/files/patch-Config.kmk |  80 ++++-----
 emulators/virtualbox-ose-71/files/patch-configure  |  38 ++---
 ...patch-doc_manual_en__US_dita_UserManual.ditamap |  11 ++
 ...-VBox-Additions-x11-Installer-98vboxadd-xclient |  38 +++--
 ...tch-src-VBox-Devices-Network-DrvNATlibslirp.cpp |  10 ++
 ...patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp |   4 +-
 ...VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp |   4 +-
 ...c_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp |   2 +-
 ...src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h |   2 +-
 ...src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp |   4 +-
 .../patch-src_VBox_Devices_PC_ipxe_Makefile.kmk    |   8 +-
 ...h-src_VBox_HostDrivers_Support_freebsd_Makefile |  14 +-
 ...VBox_HostDrivers_Support_freebsd_files__vboxdrv |  24 ++-
 ...ch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk |   4 +-
 .../files/patch-src_VBox_Runtime_Makefile.kmk      |  23 ++-
 ...ox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c |  76 +++++----
 ...VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h |   2 +-
 ...ibs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c |  19 +--
 emulators/virtualbox-ose-71/pkg-plist              | 185 ++-------------------
 emulators/virtualbox-ose-kmod-71/Makefile          |  12 +-
 emulators/virtualbox-ose-kmod-71/distinfo          |   6 +-
 emulators/virtualbox-ose-nox11-71/Makefile         |   8 +-
 26 files changed, 283 insertions(+), 370 deletions(-)

diff --git a/emulators/Makefile b/emulators/Makefile
index 8c5cb1a960c2..16651319508e 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -157,16 +157,19 @@
     SUBDIR += vice
     SUBDIR += virtualbox-ose
     SUBDIR += virtualbox-ose-70
+    SUBDIR += virtualbox-ose-71
     SUBDIR += virtualbox-ose-additions
     SUBDIR += virtualbox-ose-additions-legacy
     SUBDIR += virtualbox-ose-additions-nox11
     SUBDIR += virtualbox-ose-additions-nox11-legacy
     SUBDIR += virtualbox-ose-kmod
     SUBDIR += virtualbox-ose-kmod-70
+    SUBDIR += virtualbox-ose-kmod-71
     SUBDIR += virtualbox-ose-kmod-legacy
     SUBDIR += virtualbox-ose-legacy
     SUBDIR += virtualbox-ose-nox11
     SUBDIR += virtualbox-ose-nox11-70
+    SUBDIR += virtualbox-ose-nox11-71
     SUBDIR += virtualbox-ose-nox11-legacy
     SUBDIR += visualboyadvance-m
     SUBDIR += vmips
diff --git a/emulators/virtualbox-ose-71/Makefile b/emulators/virtualbox-ose-71/Makefile
index 482fc5725a82..b754e9555191 100644
--- a/emulators/virtualbox-ose-71/Makefile
+++ b/emulators/virtualbox-ose-71/Makefile
@@ -1,10 +1,10 @@
 PORTNAME=	virtualbox-ose
-DISTVERSION=	7.0.26
-PORTREVISION?=	2
+DISTVERSION=	7.1.8
+PORTREVISION?=	0
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
 		LOCAL/vvd:docs
-PKGNAMESUFFIX?=	-70
+PKGNAMESUFFIX?=	-71
 DISTFILES=	VirtualBox-${DISTVERSION}${EXTRACT_SUFX}:src \
 		VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}:docs
 EXTRACT_ONLY=	VirtualBox-${DISTVERSION}${EXTRACT_SUFX} \
@@ -26,14 +26,14 @@ BUILD_DEPENDS=	gtar:archivers/gtar \
 		xsltproc:textproc/libxslt
 LIB_DEPENDS=	libpng.so:graphics/png \
 		libcurl.so:ftp/curl
-RUN_DEPENDS=	${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-70
+RUN_DEPENDS=	${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-71
 
-USES=		compiler:c++14-lang cpe gnome iconv pkgconfig qt:5 ssl tar:bzip2
+USES=		compiler:c++17-lang cpe gnome iconv pkgconfig qt:6 ssl tar:bzip2
 CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
 USE_BINUTILS=	yes
 USE_GNOME=	libxml2
-USE_QT=		buildtools:build linguisttools:build
+USE_QT=		tools:build
 USE_RC_SUBR=	vboxheadless vboxwatchdog
 
 HAS_CONFIGURE=		yes
@@ -44,10 +44,10 @@ CONFLICTS_INSTALL=	virtualbox-ose-legacy \
 			virtualbox-ose-nox11-legacy \
 			virtualbox-ose \
 			virtualbox-ose-nox11 \
-			virtualbox-ose-71 \
-			virtualbox-ose-nox11-71
+			virtualbox-ose-70 \
+			virtualbox-ose-nox11-70
 
-PORTSCOUT=	limit:^7\.0\.
+PORTSCOUT=	limit:^7\.1\.
 SUB_FILES=	pkg-message
 SUB_LIST=	VBOXDIR=${VBOX_DIR} \
 		VBOX_ETC=${VBOX_ETC} \
@@ -69,7 +69,7 @@ VBOX_LINKS=	VBoxVRDP
 VBOX_PROGS=	VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxHeadless \
 		VBoxManage
 VBOX_UTILS=	VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \
-		VBoxSVC VBoxXPCOMIPCD
+		VBoxSVC
 
 PLIST_SUB=	GUEST_VER=${DISTVERSION} \
 		PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \
@@ -78,9 +78,9 @@ PLIST_SUB=	GUEST_VER=${DISTVERSION} \
 SLAVE_PORT?=	no
 
 OPTIONS_DEFINE=		AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG PULSEAUDIO \
-			PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \
+			PYTHON QT6 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \
 			WEBSERVICE X11
-OPTIONS_DEFAULT=	AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11
+OPTIONS_DEFAULT=	AIO DBUS QT6 UDPTUNNEL VNC WEBSERVICE X11
 .if ${SLAVE_PORT} == no
 OPTIONS_DEFAULT+=	PYTHON
 .endif
@@ -92,9 +92,9 @@ OPTIONS_SUB=		yes
 AIO_DESC=		Enable Asyncronous IO support (check pkg-message)
 DEBUG_DESC=		Debug symbols, additional logs and assertions
 GUESTADDITIONS_DESC=	Build with Guest Additions
-NLS_DESC=		Native language support (requires QT5)
+NLS_DESC=		Native language support (requires QT6)
 OGG_DESC=		Use libogg from audio/libogg instead of bundled one
-QT5_DESC=		Build with QT5 frontend (requires X11)
+QT6_DESC=		Build with QT6 frontend (requires X11)
 R0LOGGING_DESC=		Enable R0 logging (requires DEBUG)
 UDPTUNNEL_DESC=		Build with UDP tunnel support
 VBOXIMG_DESC=		Build vboximg-mount (requires fuse-libs)
@@ -109,7 +109,7 @@ ALSA_CONFIGURE_OFF=	--disable-alsa
 DBUS_LIB_DEPENDS=	libdbus-1.so:devel/dbus
 DBUS_CONFIGURE_OFF=	--disable-dbus
 DEBUG_CONFIGURE_ON=	--build-debug
-NLS_IMPLIES=		QT5
+NLS_IMPLIES=		QT6
 OGG_LIB_DEPENDS=	libogg.so:audio/libogg
 OGG_CONFIGURE_ON=	--enable-libogg
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
@@ -119,12 +119,11 @@ PYTHON_USES_OFF=	python:build
 PYTHON_USE=		PYTHON=distutils,noegginfo,noflavors
 PYTHON_CONFIGURE_OFF=	--disable-python
 PYTHON_VARS=		pydistutils_pkgname=vboxapi pydistutils_pkgversion=1.0
-QT5_IMPLIES=		X11
-QT5_USES=		gl qmake:no_env qt:5 xorg
-QT5_USE=		QT=buildtools:build,core,dbus,gui,linguisttools:build,opengl \
-			QT=printsupport,widgets,x11extras,xml XORG=xcb GL=gl
-QT5_CONFIGURE_ON=	--enable-qt5
-QT5_CONFIGURE_OFF=	--disable-qt
+QT6_IMPLIES=		X11
+QT6_USES=		gl qmake:no_env qt:6 xorg
+QT6_USE=		QT=base,scxml,tools,translations \
+			XORG=xcb GL=gl
+QT6_CONFIGURE_OFF=	--disable-qt
 R0LOGGING_IMPLIES=	DEBUG
 UDPTUNNEL_CONFIGURE_OFF=	--disable-udptunnel
 VBOXIMG_LIB_DEPENDS=	libfuse.so.2:filesystems/fusefs-libs
@@ -138,8 +137,8 @@ VORBIS_CONFIGURE_ON=	--enable-libvorbis
 VPX_LIB_DEPENDS=	libvpx.so:multimedia/libvpx
 VPX_CONFIGURE_OFF=	--disable-libvpx
 WEBSERVICE_BUILD_DEPENDS=	soapcpp2:devel/gsoap
-X11_USES=		gl sdl xorg
-X11_USE=		GL=gl SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt
+X11_USES=		sdl xorg
+X11_USE=		SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt
 X11_CONFIGURE_OFF=	--build-headless
 
 ENV=
@@ -148,9 +147,9 @@ ENV=
 .include <bsd.port.options.mk>
 
 .if ${SLAVE_PORT} == no
-CONFLICTS_INSTALL+=	virtualbox-ose-nox11-70
+CONFLICTS_INSTALL+=	virtualbox-ose-nox11-71
 .else
-CONFLICTS_INSTALL+=	virtualbox-ose-70
+CONFLICTS_INSTALL+=	virtualbox-ose-71
 .endif
 
 .if ${PORT_OPTIONS:MDEBUG}
@@ -170,10 +169,9 @@ LICENSE_PERMS_Additions=	auto-accept
 LICENSE_DISTFILES_Additions=	${GUESTADDITIONS}
 .endif
 
-.if ${PORT_OPTIONS:MQT5}
+.if ${PORT_OPTIONS:MQT6}
 PLIST_SUB+=	QT=""
 VBOX_PROGS+=	VirtualBox VirtualBoxVM
-VBOX_UTILS+=	VBoxTestOGL
 VBOX_WITH_QT=	1
 .else
 PLIST_SUB+=	QT="@comment "
@@ -207,7 +205,7 @@ KMK_ARCH=	freebsd.${ARCH}
 PLIST_SUB+=	ARCH="${KMK_ARCH}"
 
 KMK_BUILDDIR=	${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}
-KMK_CONFIG=	VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_CONFIG=	VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_WITHOUT_DOCS=1 VBOX_GCC_std=-std=c++17
 KMK_FLAGS+=	-j${MAKE_JOBS_NUMBER}
 
 .include <bsd.port.pre.mk>
@@ -295,7 +293,7 @@ post-patch:
 	@${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}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/units/qt6.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \
 	    ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
 	@${REINPLACE_CMD} \
 	    -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \
@@ -378,7 +376,7 @@ do-install:
 .endif
 
 .if ${PORT_OPTIONS:MPYTHON}
-	cd ${KMK_BUILDDIR}/bin/sdk/installer && \
+	cd ${KMK_BUILDDIR}/bin/sdk/installer/python && \
 	    ${SETENV} VBOX_INSTALL_PATH="${VBOX_DIR}" \
 	    ${PYTHON_CMD} vboxapisetup.py install --root=${STAGEDIR}
 
@@ -390,7 +388,7 @@ do-install:
 	    ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python
 .endif
 
-.if ${PORT_OPTIONS:MQT5}
+.if ${PORT_OPTIONS:MQT6}
 	${INSTALL_DATA} \
 	    ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png \
 	    ${STAGEDIR}${PREFIX}/share/pixmaps/VBox.png
diff --git a/emulators/virtualbox-ose-71/distinfo b/emulators/virtualbox-ose-71/distinfo
index d345a527d235..a824ff5859c4 100644
--- a/emulators/virtualbox-ose-71/distinfo
+++ b/emulators/virtualbox-ose-71/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1745631388
-SHA256 (VirtualBox-7.0.26.tar.bz2) = 8a6a83dd09e65a4aff85ba0df6bb1ba22c22f7f0923d86e4b130813d4a28c5db
-SIZE (VirtualBox-7.0.26.tar.bz2) = 174650718
-SHA256 (VirtualBox-docs-7.0.26.tar.bz2) = 81e7b97d5521951e17458eec1c3ee8b208ebbb60a70ba61140e094f5079b404d
-SIZE (VirtualBox-docs-7.0.26.tar.bz2) = 4529465
-SHA256 (VBoxGuestAdditions_7.0.26.iso) = 255baffe852b084f8c48dcdd43295028ddce2553e25ec7b670b0acf1173f5545
-SIZE (VBoxGuestAdditions_7.0.26.iso) = 54992896
+TIMESTAMP = 1746902441
+SHA256 (VirtualBox-7.1.8.tar.bz2) = 3f7132c55ac6c5f50585bfaa115d29e30b47ccf535cb0a12ff50214ddae2f63d
+SIZE (VirtualBox-7.1.8.tar.bz2) = 215541146
+SHA256 (VirtualBox-docs-7.1.8.tar.bz2) = b4c24e5deeb87e99d0cc8e60d24878d5ca50436b8c1069f777c711edca776173
+SIZE (VirtualBox-docs-7.1.8.tar.bz2) = 10110834
+SHA256 (VBoxGuestAdditions_7.1.8.iso) = 0001ed19cc389f04723c9b911338559b9b74bea0d24edf794d8d2ce5b5cb14e0
+SIZE (VBoxGuestAdditions_7.1.8.iso) = 61380608
diff --git a/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk
index 4a91ac89097b..775508d23b1b 100644
--- a/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk
+++ b/emulators/virtualbox-ose-71/files/extrapatch-Config.kmk
@@ -1,6 +1,6 @@
 --- Config.kmk.orig	2021-04-28 16:21:25 UTC
 +++ Config.kmk
-@@ -5958,7 +5942,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
+@@ -4931,7 +4931,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
  		| xargs -J% objcopy % $(out)
  
  ## Strip debug info (comment out if debugging or something).
diff --git a/emulators/virtualbox-ose-71/files/patch-Config.kmk b/emulators/virtualbox-ose-71/files/patch-Config.kmk
index 9fe5ecdc458d..7aaf90147847 100644
--- a/emulators/virtualbox-ose-71/files/patch-Config.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-Config.kmk
@@ -1,6 +1,6 @@
---- Config.kmk.orig	2024-10-10 20:19:24.000000000 +0200
-+++ Config.kmk	2024-12-27 17:28:48.466891000 +0100
-@@ -579,11 +579,11 @@
+--- Config.kmk.orig	2025-05-10 18:43:02 UTC
++++ Config.kmk
+@@ -610,11 +610,11 @@ endif
   # Enable OSS audio support.
   VBOX_WITH_AUDIO_OSS = 1
  endif
@@ -14,7 +14,7 @@
   # Enable PulseAudio audio support.
   VBOX_WITH_AUDIO_PULSE = 1
  endif
-@@ -596,11 +596,11 @@
+@@ -627,11 +627,11 @@ VBOX_WITH_PCI_PASSTHROUGH =
  # (disabled with 6.1, since it's not complete/useful enough)
  VBOX_WITH_PCI_PASSTHROUGH =
  # Enable statically linked dbus support.
@@ -28,7 +28,7 @@
   VBOX_WITH_PAM = 1
  endif
  # Enable internal networking.
-@@ -608,7 +608,7 @@
+@@ -639,7 +639,7 @@ VBOX_WITH_VMSVGA = 1
  # Enable vmsvga (svga2) graphics device variant, 2D part
  VBOX_WITH_VMSVGA = 1
  # Enable vmsvga (svga2) graphics device variant, 3D part
@@ -37,7 +37,7 @@
   VBOX_WITH_VMSVGA3D = 1
  endif
  # Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands
-@@ -787,7 +787,7 @@
+@@ -825,7 +825,7 @@ VBOX_WITH_VBOXMANAGE_NLS  = 1
  #endif
  # Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems
  # caused by our XPCOM library polluting the symbol namespace for system libs.
@@ -46,7 +46,7 @@
   VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1
  endif
  # The webservices api.
-@@ -1295,10 +1295,6 @@
+@@ -1357,10 +1357,6 @@ endif
   endif
  endif
  
@@ -57,7 +57,7 @@
  ifeq ($(KBUILD_TARGET),haiku)
   VBOX_WITH_VRDP_RDESKTOP =
   # Permanent (no working SDL).
-@@ -1457,7 +1453,7 @@
+@@ -1545,7 +1541,7 @@ ifdef VBOX_OSE
   # not yet
   VBOX_WITH_PLUGIN_CRYPT =
   VBOX_WITH_DRAG_AND_DROP_PROMISES =
@@ -66,7 +66,7 @@
    VBOX_WITH_DOCS =
    VBOX_WITH_DOCS_PACKING =
   endif
-@@ -3518,19 +3514,7 @@
+@@ -3680,19 +3676,7 @@ ifndef VBOX_GCC_std
  #
  ## @todo consider maxing this out.
  ifndef VBOX_GCC_std
@@ -86,7 +86,7 @@
  endif
  ifndef VBOX_VCC_std
   if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3
-@@ -5484,11 +5468,11 @@
+@@ -5682,11 +5666,11 @@ ifeq ($(VBOX_LDR_FMT),elf)
    # Solaris driver signing.
    TEMPLATE_VBoxR0_POST_CMDS         = $(VBOX_SIGN_DRIVER_CMDS)
   else
@@ -100,7 +100,7 @@
    VBOX_WITH_VBOXR0_AS_DLL = 1
    TEMPLATE_VBoxR0_DLLSUFF           = .r0
    TEMPLATE_VBoxR0_CFLAGS           += -fPIC
-@@ -5499,7 +5483,7 @@
+@@ -5697,7 +5681,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
   else
    TEMPLATE_VBoxR0_CFLAGS.amd64     += -mcmodel=kernel
    TEMPLATE_VBoxR0_CXXFLAGS.amd64   += -mcmodel=kernel
@@ -109,7 +109,7 @@
   ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1
    TEMPLATE_VBoxR0_DEFS             += VBOX_WITH_KMOD_WRAPPED_R0_MODS
    TEMPLATE_VBoxR0_LDFLAGS.linux    += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds
-@@ -5880,7 +5864,7 @@
+@@ -6081,7 +6065,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
   # x86 FreeBSD (6.2 or something):
   #  cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \
   #   -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \
@@ -118,7 +118,7 @@
   #   -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \
   #   -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \
   #   -std=c99 -c ../my.c
-@@ -5891,7 +5875,7 @@
+@@ -6092,7 +6076,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
   #
   # AMD64 FreeBSD (7.1):
   #  cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \
@@ -127,7 +127,7 @@
   #  -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \
   #  -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \
   #  -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \
-@@ -5973,7 +5957,7 @@
+@@ -6174,7 +6158,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
  		| xargs -J% objcopy % $(outbase).kld
  
     # Link the final .ko (a shared object).
@@ -136,7 +136,7 @@
    endef
   endif # x86
  
-@@ -6008,7 +5992,7 @@
+@@ -6209,7 +6193,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
   	$(VBOX_GCC_fdiagnostics-show-option) \
   	-Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
   	-Wimplicit-function-declaration -Werror-implicit-function-declaration \
@@ -145,7 +145,7 @@
   	$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
   	-nostdinc -std=c99 -msoft-float
   TEMPLATE_VBoxR0Drv_CFLAGS.x86         = -m32 -mno-mmx -mno-sse -mno-avx \
-@@ -6019,7 +6003,7 @@
+@@ -6220,7 +6204,7 @@ ifeq ($(KBUILD_TARGET),netbsd)
   	-fno-asynchronous-unwind-tables -mno-fp-ret-in-387
   TEMPLATE_VBoxR0Drv_CXXFLAGS           = -fno-exceptions -fno-rtti \
   	$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
@@ -154,7 +154,7 @@
   	$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
   	-nostdinc -msoft-float
   TEMPLATE_VBoxR0Drv_CXXFLAGS.x86       = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86)
-@@ -6318,11 +6302,11 @@
+@@ -6528,11 +6512,11 @@ else # the gcc guys
    TEMPLATE_VBoxR3Exe_LIBS              = pthread m rt dl
   else ifeq ($(KBUILD_TARGET),os2)
    TEMPLATE_VBoxR3Exe_TOOL              = GXX3OMF
@@ -168,7 +168,7 @@
    TEMPLATE_VBoxR3Exe_SDKS.darwin       = $(VBOX_DARWIN_DEF_SDK_SDKS)
    TEMPLATE_VBoxR3Exe_DEFS.darwin       = $(VBOX_DARWIN_DEF_SDK_DEFS)
    TEMPLATE_VBoxR3Exe_CFLAGS.darwin     = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common
-@@ -6339,17 +6323,26 @@
+@@ -6549,17 +6533,26 @@ else # the gcc guys
   else ifeq ($(KBUILD_TARGET),haiku)
    TEMPLATE_VBoxR3Exe_TOOL              = GXX3
    TEMPLATE_VBoxR3Exe_POST_CMDS        = $(VBOX_HAIKU_XRES_SETVER_CMDS)
@@ -197,7 +197,7 @@
    	/usr/include \
    	/usr/X11R6/include \
    	/usr/local/include
-@@ -6368,7 +6361,7 @@
+@@ -6578,7 +6571,7 @@ else # the gcc guys
    	/usr/X11R7/lib
   else ifeq ($(KBUILD_TARGET),solaris)
    TEMPLATE_VBoxR3Exe_TOOL              = GXX3PLAIN
@@ -206,7 +206,7 @@
    if $(VBOX_GCC_VERSION_CC) < 30500
     TEMPLATE_VBoxR3Exe_CFLAGS          += -std=gnu99
    endif
-@@ -6384,6 +6377,7 @@
+@@ -6594,6 +6587,7 @@ else # the gcc guys
    TEMPLATE_VBoxR3Exe_LDFLAGS          += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
   endif
   ifdef VBOX_WITH_ORIGIN
@@ -214,7 +214,7 @@
    TEMPLATE_VBoxR3Exe_LDFLAGS.linux    += $(VBOX_GCC_ORIGIN_OPT)
   endif
  endif
-@@ -6590,7 +6584,7 @@
+@@ -6808,7 +6802,7 @@ else
   ifdef VBOX_WITH_NOCRT_STATIC
    TEMPLATE_VBoxR3StaticBase_DEFS           += RT_WITH_NOCRT_WRAPPERS
   endif
@@ -223,16 +223,16 @@
    # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
    TEMPLATE_VBoxR3StaticBase_CFLAGS          = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static
    TEMPLATE_VBoxR3StaticBase_CXXFLAGS        = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static
-@@ -6656,7 +6650,7 @@
-  	$(SDK_VBoxLzf_LIBS) \
-  	$(SDK_VBoxZlib_LIBS)
+@@ -6876,7 +6870,7 @@ else
+  	$(SDK_VBoxZlib_LIBS) \
+  	$(SDK_VBoxLibLzma_LIBS)
   if1of ($(KBUILD_TARGET), darwin freebsd)
 -  TEMPLATE_VBoxR3Static_LIBS       += iconv
 +  TEMPLATE_VBoxR3Static_LIBS       += 
   else ifeq ($(KBUILD_TARGET),solaris)
    TEMPLATE_VBoxR3Static_LIBS       += kstat
   endif
-@@ -6830,6 +6824,7 @@
+@@ -7048,6 +7042,7 @@ else ifn1of ($(KBUILD_TARGET), os2)
  else ifn1of ($(KBUILD_TARGET), os2)
   ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y.
    TEMPLATE_VBoxR3HardenedExe_LDFLAGS       = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS))
@@ -240,7 +240,7 @@
    TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux))
   endif
  endif
-@@ -6861,6 +6856,7 @@
+@@ -7079,6 +7074,7 @@ ifn1of ($(KBUILD_TARGET), win os2)
  	$(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,)
  ifn1of ($(KBUILD_TARGET), win os2)
   TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS       = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS))
@@ -248,7 +248,7 @@
   TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux))
  endif
  
-@@ -6884,6 +6880,7 @@
+@@ -7102,6 +7098,7 @@ ifndef VBOX_WITH_HARDENING
    TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
   endif
   ifdef VBOX_WITH_ORIGIN
@@ -256,7 +256,7 @@
    TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
   endif
  endif
-@@ -7208,7 +7205,7 @@
+@@ -7454,7 +7451,7 @@ else # the GCC guys:
   endif
   TEMPLATE_VBoxMainExe_CXXFLAGS           = -g $(VBOX_GCC_pipe) \
   	$(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \
@@ -265,7 +265,7 @@
   	$(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \
   	$(VBOX_GCC_SANITIZER_FLAGS)
   if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor")
-@@ -7272,10 +7269,19 @@
+@@ -7518,10 +7515,19 @@ else # the GCC guys:
   else ifeq ($(KBUILD_TARGET),haiku)
    TEMPLATE_VBoxMainExe_TOOL              = GXX3
    TEMPLATE_VBoxMainExe_LIBS              = $(LIB_RUNTIME) network stdc++ supc++
@@ -286,7 +286,7 @@
    	/usr/include \
    	/usr/X11R6/include \
    	/usr/local/include
-@@ -7307,6 +7313,7 @@
+@@ -7553,6 +7559,7 @@ else # the GCC guys:
    TEMPLATE_VBoxMainExe_LDFLAGS          += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
   endif
   ifdef VBOX_WITH_ORIGIN
@@ -294,7 +294,7 @@
    TEMPLATE_VBoxMainExe_LDFLAGS.linux    += $(VBOX_GCC_ORIGIN_OPT)
   endif
  
-@@ -7943,13 +7950,11 @@
+@@ -8181,14 +8188,13 @@ ifdef VBOX_WITH_QTGUI
     TEMPLATE_VBoxQtGuiExe_LIBPATH += \
     	$(VBOX_LIBPATH_X11)
     ifeq ($(KBUILD_TARGET),freebsd)
@@ -308,9 +308,11 @@
 -    	/usr/lib \
 -    	/usr/X11R6/lib \
      	/usr/local/lib
++    TEMPLATE_VBoxQtGuiExe_LIBS += /usr/local/lib/qt6/libQt6PrintSupport.so
     endif
     ifeq ($(KBUILD_TARGET),solaris)
-@@ -8231,7 +8236,7 @@
+     TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed.
+@@ -8460,7 +8466,7 @@ else
    TEMPLATE_VBoxBldProg_LIBS              = pthread m rt dl
   else ifeq ($(KBUILD_HOST),os2)
    TEMPLATE_VBoxBldProg_TOOL              = GXX3OMF
@@ -319,7 +321,7 @@
   else ifeq ($(KBUILD_HOST),darwin)
    TEMPLATE_VBoxBldProg_TOOL              = $(VBOX_GCC_TOOL)
    if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7"
-@@ -8271,13 +8276,20 @@
+@@ -8500,13 +8506,20 @@ else
    TEMPLATE_VBoxBldProg_LIBS              =
   else ifeq ($(KBUILD_HOST),haiku)
    TEMPLATE_VBoxBldProg_TOOL              = GXX3
@@ -342,7 +344,7 @@
    	/usr/include \
    	/usr/X11R6/include \
    	/usr/local/include
-@@ -8324,11 +8336,11 @@
+@@ -8553,11 +8566,11 @@ TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
  	$(TEMPLATE_VBoxBldProg_LIBS)
  TEMPLATE_VBoxAdvBldProg_LIBS.darwin = \
  	$(TEMPLATE_VBoxAdvBldProg_LIBS) \
@@ -356,7 +358,7 @@
  	rt \
  	$(TEMPLATE_VBoxBldProg_LIBS.freebsd)
  TEMPLATE_VBoxAdvBldProg_LIBS.linux = \
-@@ -8419,6 +8431,7 @@
+@@ -8648,6 +8661,7 @@ else # the gcc guys
   # Do not inherit sanitizer flags from VBoxR3Exe in guest executables.  Deal with them separately.
   TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE)
   TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE)
@@ -364,7 +366,7 @@
   TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux))
   TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
   TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS  = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS))
-@@ -8442,7 +8455,7 @@
+@@ -8671,7 +8685,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
  ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux.
   TEMPLATE_VBoxGuestR3ExeBase_LIBS     = pthread rt m dl
  else if1of ($(KBUILD_TARGET), darwin freebsd openbsd)
@@ -373,7 +375,7 @@
  else ifeq ($(KBUILD_TARGET),solaris)
   TEMPLATE_VBoxGuestR3ExeBase_LIBS     = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LIBS) nsl
  endif
-@@ -8455,6 +8468,7 @@
+@@ -8684,6 +8698,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux      = $(TEMP
  	$(VBOX_GCC_fno-stack-protector)
  TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux      = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux)
  # The GNU_HASH ELF tag is not supported by older systems.
@@ -381,7 +383,7 @@
  TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux    += $(VBOX_LD_hash_style_sysv)
  
  
-@@ -8684,6 +8698,7 @@
+@@ -8929,6 +8944,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET
  TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux           = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h
  TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
  # The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
@@ -389,7 +391,7 @@
  TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux            = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
  TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE)   = $(NO_SUCH_VARIABLE)
  TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS                 := -r
-@@ -8725,7 +8740,7 @@
+@@ -8970,7 +8986,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET)   = 
  TEMPLATE_VBoxGuestR3XOrgMod_LIBS                    = $(VBOX_LIB_VBGL_R3_XORG)
  TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE)     = $(NO_SUCH_VARIABLE)
  TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET)   = $(NO_SUCH_VARIABLE)
diff --git a/emulators/virtualbox-ose-71/files/patch-configure b/emulators/virtualbox-ose-71/files/patch-configure
index 992770166b0f..3645d1236ea8 100644
--- a/emulators/virtualbox-ose-71/files/patch-configure
+++ b/emulators/virtualbox-ose-71/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig	2025-04-11 11:59:42 UTC
+--- configure.orig	2025-04-14 17:41:37 UTC
 +++ configure
-@@ -154,10 +154,14 @@ if [ "$OS" = "freebsd" ]; then
+@@ -158,10 +158,14 @@ if [ "$OS" = "freebsd" ]; then
  if [ "$OS" = "freebsd" ]; then
    INCCURL="-I/usr/local/include"
    LIBCURL="-L/usr/local/lib -lcurl"
@@ -15,7 +15,7 @@
  else
    INCCURL=""
    LIBCURL="-lcurl"
-@@ -1207,6 +1211,9 @@ extern "C" int main(int argc, char** argv)
+@@ -1211,6 +1215,9 @@ extern "C" int main(int argc, char** argv)
    printf("found version %d.%d.%d",
           SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
  #if SDL_VERSION_ATLEAST(1,2,7)
@@ -25,7 +25,7 @@
    printf(", OK.\n");
    return 0;
  #else
-@@ -1291,7 +1298,7 @@ EOF
+@@ -1295,7 +1302,7 @@ EOF
  #endif
  }
  EOF
@@ -34,15 +34,15 @@
      test_execute
    fi
  }
-@@ -1605,6 +1612,7 @@ EOF
-           FLGQT5=`pkg-config Qt5Core --cflags`
-           # gcc 4.8 is able to compile with C++11 (see also VBOX_GCC_std in Config.kmk)
-           [ $(($cc_maj * 100 + $cc_min)) -ge 408 ] && FLGQT5="$FLGQT5 -std=c++11"
-+          FLGQT5="$FLGQT5 -std=c++11"
-           INCQT5=`strip_I "$FLGQT5"`
-           LIBDIR5=`pkg-config Qt5Core --variable=libdir`
-           LIBQT5=`pkg-config Qt5Core Qt5Gui --libs`
-@@ -1861,9 +1869,9 @@ check_libvorbis()
+@@ -1599,6 +1606,7 @@ EOF
+         SDKQT6=$PATH_SDK_QT6
+       fi
+       FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`"
++      FLGQT6="$FLGQT6 -std=c++11"
+     else
+       log_failure "Qt6 framework not found (can be disabled using --disable-qt)"
+       fail
+@@ -1875,9 +1883,9 @@ check_libvorbis()
    if which_wrapper pkg-config > /dev/null; then
      libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
      if [ $? -eq 0 ]; then
@@ -54,7 +54,7 @@
      fi
      cat > $ODIR.tmp_src.cc << EOF
  #include <cstdio>
-@@ -1913,7 +1921,7 @@ EOF
+@@ -1927,7 +1935,7 @@ EOF
    return 0;
  }
  EOF
@@ -63,7 +63,7 @@
      if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
        if test_execute; then
          cnf_append "SDK_VBoxLibOgg_INCS" "$INCOGG"
-@@ -2180,8 +2188,8 @@ EOF
+@@ -2194,8 +2202,8 @@ EOF
          echo "compiling the following source file:" >> $LOG
          cat $ODIR.tmp_src.cc >> $LOG
          echo "using the following command line:" >> $LOG
@@ -74,7 +74,7 @@
          if [ $? -eq 0 ]; then
            found=1
            break
-@@ -2297,7 +2305,7 @@ check_gsoap()
+@@ -2311,7 +2319,7 @@ check_gsoap()
          else
            cnf_append "VBOX_GSOAP_CXX_SOURCES" ""
          fi
@@ -83,7 +83,7 @@
          gsoap_version=`pkg-config gsoapssl++ --modversion`
          log_success "found version $gsoap_version"
          return
-@@ -2661,7 +2669,7 @@ for option in "$@"; do
+@@ -2687,7 +2695,7 @@ for option in "$@"; do
      --with-openssl-dir=*)
        OPENSSLDIR=`echo $option | cut -d'=' -f2`
        INCCRYPTO="-I${OPENSSLDIR}/include"
@@ -92,7 +92,7 @@
        # On Darwin (at least for macports) static OpenSSL also needs zlib.
        [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a"
        # On Linux static OpenSSL typically needs a few additional libraries.
-@@ -3028,12 +3036,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
+@@ -3054,12 +3062,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
    [ $WITH_JAVA   -eq 1 ] && check_java
  
    # PulseAudio
@@ -121,7 +121,7 @@
    fi
  fi
  
-@@ -3049,14 +3067,6 @@ if [ "$OS" = "linux" ]; then
+@@ -3075,14 +3093,6 @@ if [ "$OS" = "linux" ]; then
      cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
    fi
    if [ $ONLY_ADDITIONS -eq 0 ]; then
diff --git a/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap
new file mode 100644
index 000000000000..93550ddbf766
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-doc_manual_en__US_dita_UserManual.ditamap
@@ -0,0 +1,11 @@
+--- doc/manual/en_US/dita/UserManual.ditamap.orig	2025-04-14 17:41:38 UTC
++++ doc/manual/en_US/dita/UserManual.ditamap
+@@ -613,7 +613,7 @@
+          <topicref href="topics/security-model.dita"/>
+          <topicref href="topics/secure-config-vms.dita">
+             <topicref href="topics/security-networking.dita"/>
+-        <topicref href="topics/security-of-remote-vms.dita"/>
++<!--        <topicref href="topics/security-of-remote-vms.dita"/> -->
+             <topicref href="topics/security-vrdp-auth.dita"/>
+             <topicref href="topics/security_clipboard.dita"/>
+             <topicref href="topics/security-shared-folders.dita"/>
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
index 74325b5a9279..56225943a922 100644
--- a/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
@@ -1,17 +1,25 @@
---- src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig	2021-01-07 15:34:29 UTC
-+++ src/VBox/Additions/x11/Installer/98vboxadd-xclient
-@@ -30,9 +30,9 @@ elif test -z "${SSH_CONNECTION}"; then
-    # This script can also be triggered by a connection over SSH, which is not
-    # what we had in mind, so we do not start VBoxClient in that case.  We do
+--- src/VBox/Additions/x11/Installer/98vboxadd-xclient.orig	2025-01-21 19:49:30.000000000 +0700
++++ src/VBox/Additions/x11/Installer/98vboxadd-xclient	2025-01-23 00:43:43.597269000 +0700
+@@ -42,15 +42,15 @@
     # not use "exit" here as this script is "source"d, not executed.
--  /usr/bin/VBoxClient --clipboard
--  /usr/bin/VBoxClient --checkhostversion
--  /usr/bin/VBoxClient --seamless
--  /usr/bin/VBoxClient --draganddrop
--  /usr/bin/VBoxClient --vmsvga  # In case VMSVGA emulation is enabled
-+  /usr/local/bin/VBoxClient --clipboard
-+  /usr/local/bin/VBoxClient --checkhostversion
-+  /usr/local/bin/VBoxClient --seamless
-+  /usr/local/bin/VBoxClient --draganddrop
-+  /usr/local/bin/VBoxClient --vmsvga  # In case VMSVGA emulation is enabled
+ 
+     # Check wheather X11 or Wayland version of VBoxClient should be started.
+-    vbox_wl_check=$(/usr/bin/vboxwl --check 2> /dev/null)
++    vbox_wl_check=$(/usr/local/bin/vboxwl --check 2> /dev/null)
+     if test "$vbox_wl_check" = "WL"; then
+-        /usr/bin/VBoxClient --wayland
++        /usr/local/bin/VBoxClient --wayland
+     else
+-        /usr/bin/VBoxClient --clipboard
+-        /usr/bin/VBoxClient --seamless
+-        /usr/bin/VBoxClient --draganddrop
++        /usr/local/bin/VBoxClient --clipboard
++        /usr/local/bin/VBoxClient --seamless
++        /usr/local/bin/VBoxClient --draganddrop
+     fi
+ 
+-    /usr/bin/VBoxClient --checkhostversion
+-    /usr/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
++    /usr/local/bin/VBoxClient --checkhostversion
++    /usr/local/bin/VBoxClient --vmsvga-session # In case VMSVGA emulation is enabled
  fi
diff --git a/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp
new file mode 100644
index 000000000000..11ee43504054
--- /dev/null
+++ b/emulators/virtualbox-ose-71/files/patch-src-VBox-Devices-Network-DrvNATlibslirp.cpp
@@ -0,0 +1,10 @@
+--- src/VBox/Devices/Network/DrvNATlibslirp.cpp.orig	2025-01-25 00:56:57.537046000 +0700
++++ src/VBox/Devices/Network/DrvNATlibslirp.cpp	2025-01-25 00:58:05.112538000 +0700
+@@ -57,6 +57,7 @@
+ 
+ #ifdef RT_OS_FREEBSD
+ # include <netinet/in.h>
++# include <sys/socket.h>
+ #endif
+ 
+ #include <iprt/asm.h>
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
index aa74b95e2303..5ce43e5ce2d0 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig	2025-04-11 12:09:20 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig	2025-04-14 17:55:41 UTC
 +++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
 @@ -178,7 +178,7 @@
  # ifdef RT_OS_DARWIN
@@ -9,7 +9,7 @@
  #  ifdef IN_RING3
  #   include "DevVGA-SVGA3d-glLdr.h"
  #  endif
-@@ -7153,7 +7153,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns, 
+@@ -7685,7 +7685,7 @@ static void vmsvgaR3PowerOnDevice(PPDMDEVINS pDevIns, 
      }
  # endif
  
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
index 8592bccdc8fc..3a0a22e2ef76 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-dx-dx11.cpp
@@ -1,6 +1,6 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig	2025-04-11 12:09:20 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp.orig	2025-05-12 17:49:35 UTC
 +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-dx-dx11.cpp
-@@ -3111,7 +3111,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p
+@@ -3363,7 +3363,7 @@ static DECLCALLBACK(int) vmsvga3dBackInit(PPDMDEVINS p
      RT_NOREF(pDevIns, pThis);
  
      int rc;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
index caa97030f41c..e9ae5d0b71f9 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig	2025-04-11 12:09:20 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig	2025-04-14 17:55:41 UTC
 +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp
 @@ -196,7 +196,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
      pfn_wglDeleteContext = 0;
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
index ea1c170e8f17..52d86f546033 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig	2025-04-11 12:09:20 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig	2025-04-14 17:55:41 UTC
 +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h
 @@ -346,7 +346,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
  GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
index caf9d72e8e19..74106db011ff 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig	2025-04-11 12:09:20 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig	2025-04-14 17:55:42 UTC
 +++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
 @@ -1198,7 +1198,7 @@ static DECLCALLBACK(int) vmsvga3dBackTerminate(PVGASTA
      RTSemEventDestroy(pState->WndRequestSem);
@@ -18,7 +18,7 @@
  /**
   * X11 event handling thread.
   *
-@@ -3246,7 +3246,7 @@ DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD hThrea
+@@ -3246,7 +3246,7 @@ static DECLCALLBACK(int) vmsvga3dXEventThread(RTTHREAD
      }
      return VINF_SUCCESS;
  }
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk
index df7052d7049a..d59d98da3b83 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk
@@ -1,11 +1,11 @@
---- src/VBox/Devices/PC/ipxe/Makefile.kmk.orig	2024-10-10 20:29:25.000000000 +0200
-+++ src/VBox/Devices/PC/ipxe/Makefile.kmk	2024-12-27 13:50:35.036241000 +0100
+--- src/VBox/Devices/PC/ipxe/Makefile.kmk.orig	2025-01-21 19:56:40.000000000 +0700
++++ src/VBox/Devices/PC/ipxe/Makefile.kmk	2025-01-23 00:47:50.818978000 +0700
 @@ -45,7 +45,7 @@
  iPxeBiosBin_CLEAN    = \
  	$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
  
--if1of ($(KBUILD_TARGET), darwin os2 solaris win)
-+if1of ($(KBUILD_TARGET), darwin os2 solaris win linux freebsd)
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 darwin.arm64 linux.arm64 os2.x86 solaris.amd64 win.amd64 win.arm64 linux.amd64 freebsd.amd64)
   $$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c: $(PATH_SUB_CURRENT)/iPxeBiosBin.rom $(VBOX_BIN2C) | $$(dir $$@)
  	$(call MSG_TOOL,bin2c,iPxeBiosBin,$<,$@)
  	$(QUIET)$(VBOX_BIN2C) -min 32 -max 56 -mask 0x1ff -export NetBiosBinary $< $@
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile
index 646c16a3617d..a3b6a032b529 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_Makefile
@@ -1,5 +1,5 @@
---- src/VBox/HostDrivers/Support/freebsd/Makefile.orig	2022-10-06 19:11:13.000000000 +0200
-+++ src/VBox/HostDrivers/Support/freebsd/Makefile	2024-12-26 16:15:26.678480000 +0100
+--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig	2025-01-21 19:58:52.000000000 +0700
++++ src/VBox/HostDrivers/Support/freebsd/Makefile	2025-03-22 22:28:21.276497000 +0700
 @@ -93,6 +93,7 @@
  	assert.c \
  	handletable.c \
@@ -18,3 +18,13 @@
  
  .PATH:	${.CURDIR}/common/rand
  SRCS += \
+@@ -163,7 +165,8 @@
+ 	rtStrFormatKernelAddress-generic.c \
+ 	errvars-generic.c \
+ 	mppresent-generic.c \
+-	timer-generic.c
++	timer-generic.c \
++	system-page-size-generic.c
+ 
+ .PATH:	${.CURDIR}/r0drv
+ SRCS += \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv
index ef7f483fa00d..c5abc9bfadd1 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_Support_freebsd_files__vboxdrv
@@ -1,6 +1,14 @@
---- src/VBox/HostDrivers/Support/freebsd/files_vboxdrv.orig	2022-10-06 19:11:13.000000000 +0200
-+++ src/VBox/HostDrivers/Support/freebsd/files_vboxdrv	2024-12-26 16:21:34.761238000 +0100
-@@ -132,6 +132,7 @@
+--- src/VBox/HostDrivers/Support/freebsd//files_vboxdrv.orig	2025-01-21 19:58:53.000000000 +0700
++++ src/VBox/HostDrivers/Support/freebsd//files_vboxdrv	2025-03-17 00:31:16.880317000 +0700
+@@ -71,6 +71,7 @@
+     ${PATH_ROOT}/include/iprt/stdarg.h=>include/iprt/stdarg.h \
+     ${PATH_ROOT}/include/iprt/stdint.h=>include/iprt/stdint.h \
+     ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \
++    ${PATH_ROOT}/include/iprt/system.h=>include/iprt/system.h \
+     ${PATH_ROOT}/include/iprt/thread.h=>include/iprt/thread.h \
+     ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \
+     ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \
+@@ -133,6 +134,7 @@
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.cpp=>common/misc/handletable.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \
@@ -8,7 +16,7 @@
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \
-@@ -153,6 +154,7 @@
+@@ -154,6 +156,7 @@
      ${PATH_ROOT}/src/VBox/Runtime/common/string/strprintf2-ellipsis.cpp=>common/string/strprintf2-ellipsis.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/string/strtonum.cpp=>common/string/strtonum.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/string/memchr.cpp=>common/string/memchr.c \
@@ -16,3 +24,11 @@
      ${PATH_ROOT}/src/VBox/Runtime/common/string/stringalloc.cpp=>common/string/stringalloc.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/rand/rand.cpp=>common/rand/rand.c \
      ${PATH_ROOT}/src/VBox/Runtime/common/rand/randadv.cpp=>common/rand/randadv.c \
+@@ -200,6 +203,7 @@
+     ${PATH_ROOT}/src/VBox/Runtime/generic/RTMpOnPair-generic.cpp=>generic/RTMpOnPair-generic.c \
+     ${PATH_ROOT}/src/VBox/Runtime/generic/errvars-generic.cpp=>generic/errvars-generic.c \
+     ${PATH_ROOT}/src/VBox/Runtime/generic/mppresent-generic.cpp=>generic/mppresent-generic.c \
++    ${PATH_ROOT}/src/VBox/Runtime/generic/system-page-size-generic.cpp=>generic/system-page-size-generic.c \
+     ${PATH_ROOT}/src/VBox/Runtime/generic/timer-generic.cpp=>generic/timer-generic.c \
+     ${PATH_ROOT}/src/VBox/Runtime/generic/uuid-generic.cpp=>generic/uuid-generic.c \
+     ${PATH_ROOT}/src/VBox/Runtime/r0drv/alloc-r0drv.cpp=>r0drv/alloc-r0drv.c \
diff --git a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk
index 690d27be2bfd..9c7ab624c52a 100644
--- a/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk
+++ b/emulators/virtualbox-ose-71/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk.orig	2025-01-21 14:06:16 UTC
+--- src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk.orig	2019-05-13 13:33:07 UTC
 +++ src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk
-@@ -543,7 +543,7 @@ ifeq ($(KBUILD_TARGET),freebsd)
+@@ -565,7 +565,7 @@ $(PATH_OUT)/opt_netgraph.h:
  	$(QUIET)$(RM) -f -- $@
  	$(QUIET)$(CP) -f $< $@
*** 850 LINES SKIPPED ***