Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 Mar 2021 18:27:36 +0000 (UTC)
From:      Guido Falsi <madpilot@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r567950 - in head: . emulators emulators/virtualbox-ose emulators/virtualbox-ose-additions emulators/virtualbox-ose-additions-legacy emulators/virtualbox-ose-additions-nox11-legacy emul...
Message-ID:  <202103091827.129IRadd076569@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: madpilot
Date: Tue Mar  9 18:27:36 2021
New Revision: 567950
URL: https://svnweb.freebsd.org/changeset/ports/567950

Log:
  - Update VirtualBox OSE to 6.1.18
  - Old VirtualBox OSE 5.2.44 preserved as "-legacy" versions of the
    ports (repocopied)
  - Add back extra patch removed in r528258, actually required to
    build DEBUG kmod
  - Correctly define WITH_DEBUG when enabling the DEBUG option, so
    binaries are not stripped
  
  Please note that this new version supports only amd64 CPUs. If you need
  to use older hardware please install the legacy ports.
  
  Note that moving VM snapshots across major updates is unsupported, it's
  strongly suggested to properly shutdown VMs before upgrading, please
  check UPDATING for further details.
  
  This update is the result of work from many people, and thanks to all
  who gave feedback and tested things.
  
  Patch based on work from: Mario Lobo <lobo@bsd.com.br> and jkim.
  
  PR:			234878
  Submitted by:		kunda <chitty_cloud@me.com>
  Approved by:		vbox (implicit)
  Reviewed by:		decke
  Tested by:		jwb,
  			martin ilavsky <ilavsky.martin@gmail.com>,
  			Mario Lobo <lobo@bsd.com.br>
  Relnotes:		https://www.virtualbox.org/wiki/Changelog-6.1
  Differential Revision:	https://reviews.freebsd.org/D28871

Added:
  head/emulators/virtualbox-ose-additions-legacy/
     - copied from r566234, head/emulators/virtualbox-ose-additions/
  head/emulators/virtualbox-ose-additions-nox11-legacy/
     - copied from r566234, head/emulators/virtualbox-ose-additions-nox11/
  head/emulators/virtualbox-ose-kmod-legacy/
     - copied from r566234, head/emulators/virtualbox-ose-kmod/
  head/emulators/virtualbox-ose-legacy/
     - copied from r566234, head/emulators/virtualbox-ose/
  head/emulators/virtualbox-ose-nox11-legacy/
     - copied from r566234, head/emulators/virtualbox-ose-nox11/
  head/emulators/virtualbox-ose/files/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_VBoxClient_logging.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_x11include_xproto-7.0.18_X11_Xfuncproto.h   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostOSSAudio.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_ipxe_Makefile.kmk   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageModifyVM.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_NetworkServices_Dhcpd_VBoxNetDhcpd.cpp   (contents, props changed)
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_posix_process-creation-posix.cpp   (contents, props changed)
Deleted:
  head/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-VBoxClient-Makefile.kmk
  head/emulators/virtualbox-ose/files/extrapatch-src_VBox_Frontends_VirtualBox_src_net_UIDownloaderAdditions.cpp
  head/emulators/virtualbox-ose/files/extrapatch-src_VBox_Frontends_VirtualBox_src_net_UIDownloaderExtensionPack.cpp
  head/emulators/virtualbox-ose/files/extrapatch-src_VBox_Frontends_VirtualBox_src_settings_global_UIGlobalSettingsNetworkDetailsHost.cpp
  head/emulators/virtualbox-ose/files/patch-include-VBox-vmm-cpumctx.h
  head/emulators/virtualbox-ose/files/patch-include_VBox_VBoxGL2D.h
  head/emulators/virtualbox-ose/files/patch-include_iprt_assertcompile.h
  head/emulators/virtualbox-ose/files/patch-include_iprt_cdefs.h
  head/emulators/virtualbox-ose/files/patch-include_iprt_types.h
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports.py
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_exports_dri.py
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-crOpenGL-FreeBSD_i386_glxapi_exports.py
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-crOpenGL-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-Devices-PC-ipxe-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Storage-DrvHostBase-freebsd.cpp
  head/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-VBoxNetAdp-freebsd-VBoxNetAdp-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp
  head/emulators/virtualbox-ose/files/patch-src-recompiler-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-recompiler-Sun-testmath.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_dri__glx.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_fakedri__drv.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_glx.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_glx__c__exports.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_glx__proto.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_crOpenGL_stub.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_vbox-cpuhotplug.dsl
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Storage_DrvHostBase-freebsd.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VirtualBox_src_globals_UIImageTools.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VirtualBox_src_widgets_UIMenuToolBar.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VirtualBox_src_widgets_UIMiniToolBar.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VirtualBox_src_widgets_UIPopupBox.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_GuestHost_OpenGL_include_chromium.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostServices_SharedOpenGL_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_include_USBProxyBackend.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-client_ConsoleImpl2.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_NetIf-freebsd.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_RDP-client-1.8.4-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_common_err_RTErrConvertFromErrno.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_VMM_VMMR0_GVMMR0.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_VMM_VMMR3_VMReq.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_VMM_include_IEMInternal.h
  head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_xpcom_reflect_xptcall_src_md_unix_xptcinvoke__x86__64__linux.cpp
  head/emulators/virtualbox-ose/files/patch-src_recompiler_Makefile.kmk
Modified:
  head/MOVED
  head/UPDATING
  head/emulators/Makefile
  head/emulators/virtualbox-ose-additions-legacy/Makefile
  head/emulators/virtualbox-ose-additions-nox11-legacy/Makefile
  head/emulators/virtualbox-ose-additions/Makefile
  head/emulators/virtualbox-ose-additions/distinfo
  head/emulators/virtualbox-ose-kmod-legacy/Makefile
  head/emulators/virtualbox-ose-kmod/Makefile
  head/emulators/virtualbox-ose-kmod/distinfo
  head/emulators/virtualbox-ose-legacy/Makefile
  head/emulators/virtualbox-ose-nox11-legacy/Makefile
  head/emulators/virtualbox-ose/Makefile
  head/emulators/virtualbox-ose/distinfo
  head/emulators/virtualbox-ose/files/patch-Config.kmk
  head/emulators/virtualbox-ose/files/patch-configure
  head/emulators/virtualbox-ose/files/patch-include-iprt-x86.h
  head/emulators/virtualbox-ose/files/patch-include_VBox_com_array.h
  head/emulators/virtualbox-ose/files/patch-include_iprt_string.h
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-files_vboxguest
  head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-Installer-98vboxadd-xclient
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-VBoxNetFlt-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt
  head/emulators/virtualbox-ose/files/patch-src-VBox-Installer-freebsd-VBox.sh
  head/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
  head/emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Debugger_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostALSAAudio.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VirtualBox_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_SUPDrv.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_SUPDrvInternal.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_include_HostPower.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_HostImpl.cpp
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_semfastmutex-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c
  head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_Makefile.kmk
  head/emulators/virtualbox-ose/files/patch-src_libs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c
  head/emulators/virtualbox-ose/pkg-plist

Modified: head/MOVED
==============================================================================
--- head/MOVED	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/MOVED	Tue Mar  9 18:27:36 2021	(r567950)
@@ -6868,8 +6868,6 @@ databases/p5-DBD-FrontBase||2014-09-07|Cascade removal
 databases/ruby-frontbase||2014-09-07|Cascade removal (databases/frontbase)
 devel/flex-sdk2||2014-09-07|Not staged
 devel/flex_compiler_shell||2014-09-07|Cascade removal (devel/flex-sdk2)
-emulators/virtualbox-ose-legacy||2014-09-09|Not staged
-emulators/virtualbox-ose-kmod-legacy||2014-09-09|No purpose after removal of virtualbox-ose-legacy
 devel/arm-eabi-gcc||2014-09-09|Not staged
 devel/cross-gcc||2014-09-09|Not staged
 devel/arm-eabi-binutils||2014-09-09|No purpose after removal of arm-eabi-gcc

Modified: head/UPDATING
==============================================================================
--- head/UPDATING	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/UPDATING	Tue Mar  9 18:27:36 2021	(r567950)
@@ -5,6 +5,34 @@ they are unavoidable.
 You should get into the habit of checking this file for changes each time
 you update your ports collection, before attempting any port upgrades.
 
+20210309:
+  AFFECTS: users of emulators/virtualbox-ose
+  AUTHOR: madpilot@FreeBSD.org
+
+  emulators/virtualbox-ose has been updated to 6.1.18. This new
+  version only works on amd64 hardware.
+
+  Previous version 5.x of the virtualbox ports have been preserved
+  as emulators/virtualbox-ose-legacy and similarly named ports for
+  the other parts.
+
+  If you can't run the latest version or wish to stay with the old
+  version, please install the legacy ports.
+
+  Also the additions at present build successfully only for amd64.
+  If you need i386 additions you can fallback to the old legacy
+  ones.
+
+  NOTE: There is no support for moving saved running machine states 
+  across major updates of virtualbox. It is recommended to properly 
+  shutdown all virtual machines before upgrading. Otherwise the saved 
+  state can simply be discarded after the upgrade, if it's not 
+  important to preserve it.
+
+  It should also be possible to downgrade to the legacy ports and
+  shutdown the machine properly from the saved state and then upgrade
+  back again.
+
 20210302:
   AFFECTS: users of editors/emacs-devel
   AUTHOR: jrm@FreeBSD.org

Modified: head/emulators/Makefile
==============================================================================
--- head/emulators/Makefile	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -153,9 +153,14 @@
     SUBDIR += vice
     SUBDIR += virtualbox-ose
     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-legacy
+    SUBDIR += virtualbox-ose-legacy
     SUBDIR += virtualbox-ose-nox11
+    SUBDIR += virtualbox-ose-nox11-legacy
     SUBDIR += visualboyadvance-m
     SUBDIR += vmips
     SUBDIR += vmsbackup

Modified: head/emulators/virtualbox-ose-additions-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-additions/Makefile	Sun Feb 21 17:49:05 2021	(r566234)
+++ head/emulators/virtualbox-ose-additions-legacy/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -6,7 +6,7 @@ PORTVERSION=	5.2.44
 PORTREVISION=	3
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
-PKGNAMESUFFIX?=	-additions
+PKGNAMESUFFIX?=	-additions-legacy
 DISTNAME=	VirtualBox-${PORTVERSION}
 
 MAINTAINER=	vbox@FreeBSD.org
@@ -26,7 +26,7 @@ BUILD_DEPENDS=	yasm:devel/yasm \
 CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
 
-PATCHDIR=	${.CURDIR}/../${PORTNAME}/files
+PATCHDIR=	${.CURDIR}/../${PORTNAME}-legacy/files
 WRKSRC=		${WRKDIR}/VirtualBox-${PORTVERSION}
 MAKE_JOBS_UNSAFE=	yes
 
@@ -44,7 +44,7 @@ CONFIGURE_ARGS+=	--nofatal --with-gcc="${CC}" --with-g
 CONFLICTS_INSTALL=	virtualbox-ose-[0-9]* \
 			virtualbox-ose-additions-devel-[0-9]* \
 			virtualbox-ose-devel-[0-9]* \
-			virtualbox-ose-legacy-[0-9]* \
+			virtualbox-ose-[0-9]* \
 			virtualbox-ose-lite-[0-9]* \
 			virtualbox-ose-nox11-[0-9]*
 

Modified: head/emulators/virtualbox-ose-additions-nox11-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-additions-nox11/Makefile	Sun Feb 21 17:49:05 2021	(r566234)
+++ head/emulators/virtualbox-ose-additions-nox11-legacy/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,9 +1,9 @@
 # $FreeBSD$
 
-PKGNAMESUFFIX=	-additions-nox11
+PKGNAMESUFFIX=	-additions-nox11-legacy
 
 OPTIONS_EXCLUDE=	DBUS DEBUG OPENGL X11
 
-MASTERDIR=	${.CURDIR}/../virtualbox-ose-additions
+MASTERDIR=	${.CURDIR}/../virtualbox-ose-additions-legacy
 
 .include "${MASTERDIR}/Makefile"

Modified: head/emulators/virtualbox-ose-additions/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-additions/Makefile	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose-additions/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -2,10 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	virtualbox-ose
-PORTVERSION=	5.2.44
-PORTREVISION=	3
+PORTVERSION=	6.1.18
 CATEGORIES=	emulators
-MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
+MASTER_SITES=	https://download.virtualbox.com/virtualbox/${PORTVERSION}/
 PKGNAMESUFFIX?=	-additions
 DISTNAME=	VirtualBox-${PORTVERSION}
 
@@ -15,7 +14,7 @@ COMMENT=	VirtualBox additions for FreeBSD guests
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-ONLY_FOR_ARCHS=	amd64 i386
+ONLY_FOR_ARCHS=	amd64
 USES=		compiler:c++11-lang cpe iconv kmod tar:bzip2
 USE_RC_SUBR=	vboxguest vboxservice
 
@@ -91,12 +90,6 @@ VBOX_WITH_X11=
 
 .include <bsd.port.pre.mk>
 
-.if ${COMPILER_TYPE} == clang
-.if ${COMPILER_FEATURES:Mlibc++}
-EXTRA_PATCHES+=	${PATCHDIR}/extrapatch-src-VBox-Additions-x11-VBoxClient-Makefile.kmk
-.endif
-.endif
-
 post-patch:
 	@${ECHO_CMD} 'VBOX_ONLY_ADDITIONS = 1' > ${WRKSRC}/LocalConfig.kmk
 	@${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \
@@ -111,13 +104,10 @@ post-patch:
 	    -e 's| -fno-merge-constants||' \
 	    -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
 .endif
-	@${REINPLACE_CMD} -e 's|/usr/X11|${LOCALBASE}|g' \
-	    ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/display.cpp
 	@${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/common/crOpenGL/load.c \
 	    ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \
 	    ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \
 	    ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \

Modified: head/emulators/virtualbox-ose-additions/distinfo
==============================================================================
--- head/emulators/virtualbox-ose-additions/distinfo	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose-additions/distinfo	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1594821235
-SHA256 (VirtualBox-5.2.44.tar.bz2) = ad83b11cfae2734f7d6f619dd2f8bdada7d33492cd7682fab98cb4053122295e
-SIZE (VirtualBox-5.2.44.tar.bz2) = 124016934
+TIMESTAMP = 1613903085
+SHA256 (VirtualBox-6.1.18.tar.bz2) = 108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40
+SIZE (VirtualBox-6.1.18.tar.bz2) = 165507486

Modified: head/emulators/virtualbox-ose-kmod-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-kmod/Makefile	Sun Feb 21 17:49:05 2021	(r566234)
+++ head/emulators/virtualbox-ose-kmod-legacy/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -6,7 +6,7 @@ PORTVERSION=	5.2.44
 PORTREVISION=	4
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
-PKGNAMESUFFIX=	-kmod
+PKGNAMESUFFIX=	-kmod-legacy
 DISTNAME=	VirtualBox-${PORTVERSION}
 
 MAINTAINER=	vbox@FreeBSD.org
@@ -21,7 +21,7 @@ CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
 
 USES=		cpe kmod tar:bzip2
-PATCHDIR=	${.CURDIR}/../${PORTNAME}/files
+PATCHDIR=	${.CURDIR}/../${PORTNAME}-legacy/files
 WRKSRC=		${WRKDIR}/VirtualBox-${PORTVERSION}
 USE_RC_SUBR=	vboxnet
 ONLY_FOR_ARCHS=	i386 amd64
@@ -39,7 +39,7 @@ CONFIGURE_ARGS+=	--disable-alsa \
 CONFIGURE_ARGS+=	--nofatal --with-gcc="${CC}" --with-g++="${CXX}"
 
 CONFLICTS_INSTALL=	virtualbox-ose-kmod-devel-* \
-			virtualbox-ose-kmod-legacy-*
+			virtualbox-ose-kmod-*
 
 OPTIONS_DEFINE=	DEBUG VIMAGE
 OPTIONS_DEFAULT=VIMAGE

Modified: head/emulators/virtualbox-ose-kmod/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-kmod/Makefile	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose-kmod/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -2,10 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	virtualbox-ose
-PORTVERSION=	5.2.44
-PORTREVISION=	4
+PORTVERSION=	6.1.18
 CATEGORIES=	emulators
-MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
+MASTER_SITES=	https://download.virtualbox.org/virtualbox/${PORTVERSION}/
 PKGNAMESUFFIX=	-kmod
 DISTNAME=	VirtualBox-${PORTVERSION}
 
@@ -20,11 +19,11 @@ BUILD_DEPENDS=	kmk:devel/kBuild
 CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
 
-USES=		cpe kmod tar:bzip2
+USES=		cpe compiler:c++14-lang kmod tar:bzip2
 PATCHDIR=	${.CURDIR}/../${PORTNAME}/files
 WRKSRC=		${WRKDIR}/VirtualBox-${PORTVERSION}
 USE_RC_SUBR=	vboxnet
-ONLY_FOR_ARCHS=	i386 amd64
+ONLY_FOR_ARCHS=	amd64
 
 HAS_CONFIGURE=	yes
 CONFIGURE_ARGS+=	--build-headless
@@ -63,7 +62,8 @@ KMK_FLAGS=	HostDrivers-scripts vboxdrv-src VBoxNetFlt-
 .if ${PORT_OPTIONS:MDEBUG}
 KMK_FLAGS+=	BUILD_TYPE=debug
 KMK_BUILDTYPE=	debug
-EXTRA_PATCHES+=	${PATCHDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile
+EXTRA_PATCHES+=	${PATCHDIR}/extrapatch-Config.kmk \
+		${PATCHDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile
 MAKE_ARGS+=	DEBUG_FLAGS="-O1 -g"
 .endif
 

Modified: head/emulators/virtualbox-ose-kmod/distinfo
==============================================================================
--- head/emulators/virtualbox-ose-kmod/distinfo	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose-kmod/distinfo	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1594821147
-SHA256 (VirtualBox-5.2.44.tar.bz2) = ad83b11cfae2734f7d6f619dd2f8bdada7d33492cd7682fab98cb4053122295e
-SIZE (VirtualBox-5.2.44.tar.bz2) = 124016934
+TIMESTAMP = 1613865409
+SHA256 (VirtualBox-6.1.18.tar.bz2) = 108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40
+SIZE (VirtualBox-6.1.18.tar.bz2) = 165507486

Modified: head/emulators/virtualbox-ose-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose/Makefile	Sun Feb 21 17:49:05 2021	(r566234)
+++ head/emulators/virtualbox-ose-legacy/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -6,6 +6,7 @@ PORTVERSION=	5.2.44
 PORTREVISION=	4
 CATEGORIES=	emulators
 MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
+PKGNAMESUFFIX?=	-legacy
 DISTFILES=	VirtualBox-${PORTVERSION}${EXTRACT_SUFX} ${GUESTADDITIONS}
 EXTRACT_ONLY=	VirtualBox-${PORTVERSION}${EXTRACT_SUFX}
 
@@ -23,7 +24,7 @@ BUILD_DEPENDS=	yasm:devel/yasm \
 LIB_DEPENDS=	libpng.so:graphics/png \
 		libxslt.so:textproc/libxslt \
 		libcurl.so:ftp/curl
-RUN_DEPENDS=	${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod
+RUN_DEPENDS=	${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-legacy
 
 CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
@@ -39,7 +40,7 @@ CONFIGURE_ARGS+=	--with-gcc="${CC}" --with-g++="${CXX}
 
 CONFLICTS_INSTALL=	virtualbox-ose-additions-* \
 			virtualbox-ose-devel-[0-9]* \
-			virtualbox-ose-legacy-[0-9]* \
+			virtualbox-ose-[0-9]* \
 			virtualbox-ose-lite-[0-9]*
 
 LDFLAGS=	-lpthread

Modified: head/emulators/virtualbox-ose-nox11-legacy/Makefile
==============================================================================
--- head/emulators/virtualbox-ose-nox11/Makefile	Sun Feb 21 17:49:05 2021	(r566234)
+++ head/emulators/virtualbox-ose-nox11-legacy/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,10 +1,10 @@
 # $FreeBSD$
 
-PKGNAMESUFFIX=	-nox11
+PKGNAMESUFFIX=	-nox11-legacy
 
 OPTIONS_EXCLUDE=	ALSA DBUS DEBUG GUESTADDITIONS MANUAL NLS PULSEAUDIO
 OPTIONS_EXCLUDE+=	QT5 VPX X11
 
-MASTERDIR=	${.CURDIR}/../virtualbox-ose
+MASTERDIR=	${.CURDIR}/../virtualbox-ose-legacy
 
 .include "${MASTERDIR}/Makefile"

Modified: head/emulators/virtualbox-ose/Makefile
==============================================================================
--- head/emulators/virtualbox-ose/Makefile	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/Makefile	Tue Mar  9 18:27:36 2021	(r567950)
@@ -2,10 +2,9 @@
 # $FreeBSD$
 
 PORTNAME=	virtualbox-ose
-PORTVERSION=	5.2.44
-PORTREVISION=	4
+PORTVERSION=	6.1.18
 CATEGORIES=	emulators
-MASTER_SITES=	https://download.oracle.com/virtualbox/${PORTVERSION}/
+MASTER_SITES=	https://download.virtualbox.org/virtualbox/${PORTVERSION}/
 DISTFILES=	VirtualBox-${PORTVERSION}${EXTRACT_SUFX} ${GUESTADDITIONS}
 EXTRACT_ONLY=	VirtualBox-${PORTVERSION}${EXTRACT_SUFX}
 
@@ -15,7 +14,6 @@ COMMENT=	General-purpose full virtualizer for x86 hard
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-PATCH_DEPENDS+=	${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild
 BUILD_DEPENDS=	yasm:devel/yasm \
 		xsltproc:textproc/libxslt \
 		kmk:devel/kBuild \
@@ -29,7 +27,7 @@ CPE_VENDOR=	oracle
 CPE_PRODUCT=	vm_virtualbox
 
 WRKSRC=		${WRKDIR}/VirtualBox-${PORTVERSION}
-ONLY_FOR_ARCHS=	i386 amd64
+ONLY_FOR_ARCHS=	amd64
 USES=		compiler:c++14-lang cpe gnome iconv pkgconfig ssl tar:bzip2
 USE_GNOME=	libidl libxml2
 
@@ -42,8 +40,6 @@ CONFLICTS_INSTALL=	virtualbox-ose-additions-* \
 			virtualbox-ose-legacy-[0-9]* \
 			virtualbox-ose-lite-[0-9]*
 
-LDFLAGS=	-lpthread
-
 VBOXUSER?=	vboxusers
 VBOXWSUSER?=	vboxusers
 VBOXGROUP?=	vboxusers
@@ -57,7 +53,7 @@ VBOX_PROGS=	VBoxAutostart VBoxBalloonCtrl VBoxBugRepor
 VBOX_UTILS=	VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \
 		VBoxSVC VBoxXPCOMIPCD
 
-OPTIONS_DEFINE=	ALSA DBUS DEBUG GUESTADDITIONS MANUAL NLS PULSEAUDIO \
+OPTIONS_DEFINE=	ALSA DBUS DEBUG GUESTADDITIONS MANUAL NLS OPUS PULSEAUDIO \
 		PYTHON QT5 R0LOGGING UDPTUNNEL VDE VNC WEBSERVICE VPX X11
 OPTIONS_DEFAULT=	DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11
 OPTIONS_SUB=	yes
@@ -66,6 +62,7 @@ DEBUG_DESC=	Debug symbols, additional logs and asserti
 GUESTADDITIONS_DESC=	Build with Guest Additions
 MANUAL_DESC=	Build with user manual
 NLS_DESC=	Native language support (requires QT5)
+OPUS_DESC=	Use libvpx for audio recording (requires VPX)
 QT5_DESC=	Build with QT5 frontend (requires X11)
 R0LOGGING_DESC=	Enable R0 logging (requires DEBUG)
 UDPTUNNEL_DESC=	Build with UDP tunnel support
@@ -82,6 +79,9 @@ DEBUG_CONFIGURE_ON=	--build-debug
 MANUAL_BUILD_DEPENDS=	${LOCALBASE}/share/xml/docbook/4.4/docbookx.dtd:textproc/docbook-xml
 MANUAL_CONFIGURE_OFF=	--disable-docs
 NLS_IMPLIES=		QT5
+OPUS_CONFIGURE_OFF=	--disable-libopus
+OPUS_LIB_DEPENDS=	libopus.so:audio/opus
+OPUS_IMPLIES=		VPX
 PULSEAUDIO_CONFIGURE_OFF=	--disable-pulse
 PULSEAUDIO_LIB_DEPENDS=	libpulse.so:audio/pulseaudio
 PYTHON_CONFIGURE_OFF=	--disable-python
@@ -124,6 +124,7 @@ _ELF32!=	kldstat -q -m elf32 && echo yes || echo no
 .if ${PORT_OPTIONS:MDEBUG}
 KMK_BUILDTYPE=	debug
 KMK_FLAGS+=	BUILD_TYPE=debug
+WITH_DEBUG=	yes
 .else
 KMK_BUILDTYPE=	release
 .endif
@@ -158,7 +159,7 @@ USE_QT=		buildtools_build core dbus gui linguisttools_
 USE_QT+=	printsupport widgets x11extras
 USE_XORG=	xcb
 INSTALLS_ICONS=	yes
-VBOX_PROGS+=	VirtualBox
+VBOX_PROGS+=	VirtualBox VirtualBoxVM
 VBOX_UTILS+=	VBoxTestOGL
 VBOX_WITH_QT=	1
 .else
@@ -174,7 +175,7 @@ VBOX_UTILS+=	vboxwebsrv webtest
 .endif
 
 .if ${PORT_OPTIONS:MX11}
-USES+=		sdl
+USES+=		sdl xorg
 USE_SDL=	sdl
 USE_XORG+=	xorgproto x11 xcursor xext xinerama xmu xt
 VBOX_PROGS+=	VBoxSDL
@@ -202,6 +203,19 @@ KMK_FLAGS+=	-j${MAKE_JOBS_NUMBER}
 
 .include <bsd.port.pre.mk>
 
+.if ${CHOSEN_COMPILER_TYPE} == clang
+# llvm10 in FreeBSD before r364284 miscompiles virtualbox 6.1 causing errors.
+# force llvm11 from ports
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1300109
+BUILD_DEPENDS+=	clang11:devel/llvm${VBOX_LLVM_VER}
+CC=		${LOCALBASE}/bin/clang${VBOX_LLVM_VER}
+CXX=		${LOCALBASE}/bin/clang++${VBOX_LLVM_VER}
+VBOX_LLVM_VER?=	11
+.endif
+PATCH_DEPENDS+=	${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild
+EXTRA_PATCHES+=	${PATCHDIR}/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk
+.endif
+
 .if ${PYTHON_MAJOR_VER} >= 3
 PLIST_SUB+=	PYTHON_PYCDIR=/__pycache__/ \
 		PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc
@@ -274,19 +288,20 @@ post-patch:
 	    ${WRKSRC}/LocalConfig.kmk
 	@${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \
 	    ${WRKSRC}/LocalConfig.kmk
-	@${REINPLACE_CMD} -E -e '/soap_socket_errno\(/s/(soap_socket_errno)(\([^)]+\))/\1/' \
-		${WRKSRC}/src/VBox/Main/webservice/vboxweb.cpp
 .endif
+.if empty(PORT_OPTIONS:MX11)
+	@${ECHO} 'VBOX_WITH_VMSVGA3D =' >> ${WRKSRC}/LocalConfig.kmk
+.endif
+.if ${CHOSEN_COMPILER_TYPE} == clang
 	@${REINPLACE_CMD} -e 's| -finline-limit=8000||' \
-	    -e 's| -mpreferred-stack-boundary=2||' \
-	    -e 's|%%PYTHON_VERSION%%|${PYTHON_VERSION}|' \
-		${WRKSRC}/Config.kmk
+	    -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk
 	@${REINPLACE_CMD} -e 's| -fpermissive||' ${WRKSRC}/Config.kmk \
 	    ${WRKSRC}/src/VBox/Main/webservice/Makefile.kmk
 	@${ECHO_CMD} 'TOOL_VBoxGccFreeBSD_LD = ${CXX}' >> ${WRKSRC}/LocalConfig.kmk
 	@${SED} -e 's|GXX3|VBoxGccFreeBSD|g' \
 	    ${LOCALBASE}/share/kBuild/tools/GXX3.kmk > \
 	    ${WRKSRC}/tools/kBuildTools/VBoxGccFreeBSD.kmk
+.endif
 	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
 	    ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
 	    ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
@@ -329,7 +344,7 @@ do-install:
 
 	${MKDIR} ${STAGEDIR}${VBOX_DIR}
 	cd ${KMK_BUILDDIR}/bin && ${COPYTREE_SHARE} \
-	    "*.fd *.r0 *.rc *.so components" ${STAGEDIR}${VBOX_DIR}
+	    "*.fd *.r0 *.so components" ${STAGEDIR}${VBOX_DIR}
 .if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE}
 	${RLN} ${STAGEDIR}${DATADIR}/sdk ${STAGEDIR}${VBOX_DIR}
 .endif

Modified: head/emulators/virtualbox-ose/distinfo
==============================================================================
--- head/emulators/virtualbox-ose/distinfo	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/distinfo	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,5 +1,5 @@
-TIMESTAMP = 1594897148
-SHA256 (VirtualBox-5.2.44.tar.bz2) = ad83b11cfae2734f7d6f619dd2f8bdada7d33492cd7682fab98cb4053122295e
-SIZE (VirtualBox-5.2.44.tar.bz2) = 124016934
-SHA256 (VBoxGuestAdditions_5.2.44.iso) = 9883ee443a309f4ffa1d5dee2833f9e35ced598686c36d159f410e5edbac1ca4
-SIZE (VBoxGuestAdditions_5.2.44.iso) = 49829888
+TIMESTAMP = 1613863264
+SHA256 (VirtualBox-6.1.18.tar.bz2) = 108d42b9b391b7a332a33df1662cf7b0e9d9a80f3079d16288d8b9487f427d40
+SIZE (VirtualBox-6.1.18.tar.bz2) = 165507486
+SHA256 (VBoxGuestAdditions_6.1.18.iso) = 904432eb331d7ae517afaa4e4304e6492b7947b46ecb8267de7ef792c4921b4c
+SIZE (VBoxGuestAdditions_6.1.18.iso) = 61157376

Added: head/emulators/virtualbox-ose/files/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/emulators/virtualbox-ose/files/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk	Tue Mar  9 18:27:36 2021	(r567950)
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/PC/ipxe/Makefile.kmk.orig	2013-11-29 14:23:32.000000000 -0500
++++ src/VBox/Devices/PC/ipxe/Makefile.kmk	2013-12-13 15:06:45.000000000 -0500
+@@ -35,7 +35,7 @@
+ iPxeBiosBin_CLEAN    = \
+ 	$(iPxeBiosBin_0_OUTDIR)/iPxeBiosBin.c \
+ 
+-if1of ($(KBUILD_TARGET), darwin os2 solaris win)
++if1of ($(KBUILD_TARGET), darwin freebsd os2 solaris win)
+  $$(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 $< $@

Modified: head/emulators/virtualbox-ose/files/patch-Config.kmk
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-Config.kmk	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-Config.kmk	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,6 @@
---- Config.kmk.orig	2020-07-09 16:49:46 UTC
+--- Config.kmk.orig	2021-01-07 15:31:21 UTC
 +++ Config.kmk
-@@ -445,11 +445,11 @@ ifn1of ($(KBUILD_TARGET), win darwin)
+@@ -469,11 +469,11 @@ ifn1of ($(KBUILD_TARGET), win darwin)
   # Enable OSS audio support.
   VBOX_WITH_AUDIO_OSS = 1
  endif
@@ -14,9 +14,9 @@
   # Enable PulseAudio audio support.
   VBOX_WITH_AUDIO_PULSE = 1
  endif
-@@ -464,11 +464,11 @@ VBOX_WITH_AUDIO_MMNOTIFICATION_CLIENT = 1
- # Enable PCI passthrough support.
- VBOX_WITH_PCI_PASSTHROUGH = 1
+@@ -489,11 +489,11 @@ VBOX_WITH_AUDIO_MMNOTIFICATION_CLIENT = 1
+ # (disabled with 6.1, since it's not complete/useful enough)
+ VBOX_WITH_PCI_PASSTHROUGH =
  # Enable statically linked dbus support.
 -if1of ($(KBUILD_TARGET), linux solaris)
 +if1of ($(KBUILD_TARGET), freebsd linux solaris)
@@ -28,16 +28,25 @@
   VBOX_WITH_PAM = 1
  endif
  # Enable internal networking.
-@@ -664,7 +664,7 @@ VBOX_WITH_TESTCASES = 1
- VBOX_WITH_VDITOOL =
- # Enable this to build vbox-img even if VBOX_WITH_TESTCASES is disabled
- VBOX_WITH_VBOX_IMG =
--if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.x86 darwin.amd64 linux.x86 linux.amd64 solaris.amd64 win.x86 win.amd64)
-+if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64 linux.x86 linux.amd64 solaris.amd64 win.x86 win.amd64)
-  # Enables the video capturing support.
-  VBOX_WITH_VIDEOREC = 1
-  # Enable VPX (VP8 / VP9 codec), used for video capturing.
-@@ -992,10 +992,6 @@ ifeq ($(KBUILD_TARGET),darwin)
+@@ -501,7 +501,7 @@ VBOX_WITH_INTERNAL_NETWORKING = 1
+ # Enable vmsvga (svga2) graphics device variant, 2D part
+ VBOX_WITH_VMSVGA = 1
+ # Enable vmsvga (svga2) graphics device variant, 3D part
+-if1of ($(KBUILD_TARGET), darwin linux win)
++if1of ($(KBUILD_TARGET), darwin freebsd linux win)
+  VBOX_WITH_VMSVGA3D = 1
+ endif
+ # Enable the generic 3D settings support if at least one 3D capable solution is enabled
+@@ -647,7 +647,7 @@ VBOX_WITH_MAIN_USB_ID_DATABASE = 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.
+-if1of ($(KBUILD_TARGET), linux solaris)
++if1of ($(KBUILD_TARGET), freebsd linux solaris)
+  VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1
+ endif
+ # The webservices api.
+@@ -1064,10 +1064,6 @@ ifeq ($(KBUILD_TARGET),darwin)
   VBOX_WITH_VBOXSDL=
  endif
  
@@ -48,7 +57,7 @@
  ifeq ($(KBUILD_TARGET),haiku)
   # Don't bother with SDL ttf for now.
   VBOX_WITH_SECURELABEL=
-@@ -1155,7 +1151,7 @@ ifdef VBOX_OSE
+@@ -1228,7 +1224,7 @@ ifdef VBOX_OSE
   VBOX_WITH_KCHMVIEWER=
   VBOX_WITH_PLUGIN_CRYPT=
   VBOX_WITH_DRAG_AND_DROP_PROMISES=
@@ -57,93 +66,24 @@
    VBOX_WITH_DOCS=
    VBOX_WITH_DOCS_PACKING=
   endif
-@@ -1176,14 +1172,14 @@ ifdef VBOX_OSE
-  ifn1of ($(KBUILD_TARGET), darwin linux solaris win)
-   VBOX_WITH_INSTALLER=
-  endif
-- if1of ($(KBUILD_TARGET), win)
-+ # if1of ($(KBUILD_TARGET), win)
-   # Undefine codec libraries which are not needed.
-   VBOX_WITH_LIBVPX=
-   VBOX_WITH_LIBOPUS=
-   # Disable video recording (with audio support).
-   VBOX_WITH_VIDEOREC=
-   VBOX_WITH_AUDIO_VIDEOREC=
-- endif
-+ # endif
-  # branding
-  VBOX_BRAND_LICENSE_HTML             := $(PATH_ROOT)/doc/License-gpl-2.0.html
-  VBOX_BRAND_LICENSE_RTF              := $(PATH_ROOT)/doc/License-gpl-2.0.rtf
-@@ -1810,6 +1806,7 @@ ifndef VBOX_BLD_PYTHON
-  else
-   VBOX_BLD_PYTHON := $(firstword $(which python2.7$(HOSTSUFF_EXE)) $(which python2.6$(HOSTSUFF_EXE)) \
-                                  $(which python$(HOSTSUFF_EXE)) $(which python3$(HOSTSUFF_EXE)) \
-+                                 $(which %%PYTHON_VERSION%%) \
- 				   python-not-found)
-  endif
- endif
-@@ -2550,6 +2547,10 @@ ifeq ($(KBUILD_HOST),win) ## @todo can drop this now, 
-  # This isn't important (yet) on windows, so cook the result until
-  # cygwin is feeling better.
-  VBOX_GCC_VERSION := $(int-add $(int-mul 10000, 3), $(int-mul 100, 3), 3)
-+else ifeq($(KBUILD_HOST,freebsd))
-+ # At a minimum, we'll be building with GCC 4.2 on FreeBSD. LLVM will always
-+ # pose as GCC 4.2 anyways, so this seems safe.
-+ VBOX_GCC_VERSION := $(int-add $(int-mul 10000, 4), $(int-mul 100, 2), 0)
- else
-  # This is kind of bad, the returned string needs to be re-evaluated before use.
-  # The reason for this hack is that the windows kmk_ash cannot deal with $((1+1)).
-@@ -4218,6 +4219,7 @@ ifdef VBOX_WITH_RAW_MODE
-  TEMPLATE_VBoxRc_TOOL                = $(VBOX_GCC32_TOOL)
-  TEMPLATE_VBoxRc_CXXFLAGS            = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
-  TEMPLATE_VBoxRc_CFLAGS              = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
-+ TEMPLATE_VBoxRc_CXXFLAGS.freebsd    = -fno-builtin
-   ifeq ($(KBUILD_TARGET),solaris)
-    TEMPLATE_VBoxRc_LDFLAGS           = -r
-   else
-@@ -4359,6 +4361,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
- TEMPLATE_VBoxR0_TOOL                = $(VBOX_GCC_TOOL)
- TEMPLATE_VBoxR0_CFLAGS              = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
- TEMPLATE_VBoxR0_CXXFLAGS            = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
-+TEMPLATE_VBoxR0_CXXFLAGS.freebsd    = -fno-builtin
- TEMPLATE_VBoxR0_CFLAGS.amd64        = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
- TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
- ifeq ($(KBUILD_TARGET),solaris)
-@@ -4683,13 +4686,13 @@ TEMPLATE_VBOXR0DRV_CFLAGS              =  \
- 	-O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
- 	$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
- 	-nostdinc -std=c99
--TEMPLATE_VBOXR0DRV_CFLAGS.x86          = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
-+TEMPLATE_VBOXR0DRV_CFLAGS.x86          = -m32 -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
- TEMPLATE_VBOXR0DRV_CFLAGS.amd64        = -m64 --param inline-unit-growth=100 --param large-function-growth=1000 \
- 	-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 -Wundef
- TEMPLATE_VBOXR0DRV_CXXFLAGS            = -fno-exceptions -fno-rtti \
- 	$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
--	-O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
-+	-O2 -fno-builtin -fno-strict-aliasing -fno-common -finline-limit=8000 \
- 	$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
- 	-nostdinc
- TEMPLATE_VBOXR0DRV_CXXFLAGS.x86        = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
-@@ -4716,7 +4719,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
- 		| xargs -J% objcopy % $(out)
- 
- ## Strip debug info (comment out if debugging or something).
--	objcopy --strip-debug $(out)
-+#	objcopy --strip-debug $(out)
- endef
-  else # x86
- TOOL_FREEBSDKMODLD_LINK_SYSMOD_OUTPUT = $(outbase).kld
-@@ -4730,7 +4733,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
+@@ -4928,7 +4924,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CMDS
  		| xargs -J% objcopy % $(outbase).kld
  
  # Link the final .ko (a shared object).
 -	ld $(flags) -Bshareable -o $(out) $(outbase).kld
-+	ld $(flags) -Bshareable -znotext -o $(out) $(outbase).kld
++    ld $(flags) -Bshareable -znotext -o $(out) $(outbase).kld
  endef
   endif # x86
  
-@@ -5016,10 +5019,18 @@ TEMPLATE_VBOXR3EXE_LIBPATH            += \
+@@ -5205,6 +5201,7 @@ TEMPLATE_VBOXR3EXE_LDFLAGS.x86         = -m32
+ TEMPLATE_VBOXR3EXE_LDFLAGS.amd64       = -m64
+ TEMPLATE_VBOXR3EXE_LDFLAGS.sparc32     = -m32
+ TEMPLATE_VBOXR3EXE_LDFLAGS.sparc64     = -m64
++TEMPLATE_VBOXR3EXE_LDFLAGS.freebsd     = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
+ TEMPLATE_VBOXR3EXE_LDFLAGS.linux       = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
+ TEMPLATE_VBOXR3EXE_LDFLAGS.solaris     = -Wl,-z,ignore # same as VBOX_LD_as_needed
+ TEMPLATE_VBOXR3EXE_LDFLAGS.debug       = $(VBOX_GCC_SANITIZER_FLAGS) $(VBOX_GCC_SANITIZER_LDFLAGS)
+@@ -5238,10 +5235,18 @@ TEMPLATE_VBOXR3EXE_LIBPATH            += \
  TEMPLATE_VBOXR3EXE_CFLAGS             += -fno-pic
  TEMPLATE_VBOXR3EXE_CXXFLAGS           += -fno-pic
  TEMPLATE_VBOXR3EXE_LDFLAGS            += -fno-pic
@@ -163,16 +103,48 @@
  	/usr/include \
  	/usr/X11R6/include \
  	/usr/local/include
-@@ -5310,7 +5321,7 @@ ifeq ($(KBUILD_TARGET),win) # No CRT!
-  TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.win.amd64 = $(TEMPLATE_VBOXR3EXE_LDFLAGS.win.amd64) /entry:suplibHardenedWindowsMain
-  TEMPLATE_VBOXR3HARDENEDEXE_LIBS.x86       = $(NOT_SUCH_VARIABLE)
-  TEMPLATE_VBOXR3HARDENEDEXE_LIBS.amd64     = $(NOT_SUCH_VARIABLE)
--else ifn1of ($(KBUILD_TARGET), os2 solaris)
-+else ifn1of ($(KBUILD_TARGET), freebsd os2 solaris)
+@@ -5273,6 +5278,7 @@ TEMPLATE_VBOXR3EXE_CXXFLAGS.kprofile   = $(TEMPLATE_VB
+   TEMPLATE_VBOXR3EXE_LDFLAGS          += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+  endif
+  ifdef VBOX_WITH_ORIGIN
++  TEMPLATE_VBOXR3EXE_LDFLAGS.freebsd  += $(VBOX_GCC_ORIGIN_OPT)
+   TEMPLATE_VBOXR3EXE_LDFLAGS.linux    += $(VBOX_GCC_ORIGIN_OPT)
+  endif
+ endif
+@@ -5412,7 +5418,7 @@ ifeq ($(KBUILD_TARGET),win)
+  	$(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcmt$(VBOX_VCC_CRT_TYPE).lib \
+  	$(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/libcpmt$(VBOX_VCC_CRT_TYPE).lib \
+  	$(PATH_TOOL_$(TEMPLATE_VBOXR3STATIC_TOOL.win.amd64)_LIB)/oldnames.lib
+-else ifn1of ($(KBUILD_TARGET), darwin linux solaris)
++else ifn1of ($(KBUILD_TARGET), darwin freebsd linux solaris)
+  # The gcc guys sans darwin, linux and solaris (don't depend on statically compiled system libs there)
+  TEMPLATE_VBOXR3STATIC_CFLAGS          = $(TEMPLATE_VBOXR3EXE_CFLAGS) -static
+  TEMPLATE_VBOXR3STATIC_CXXFLAGS        = $(TEMPLATE_VBOXR3EXE_CXXFLAGS) -static
+@@ -5557,6 +5563,7 @@ ifeq ($(KBUILD_TARGET),win) # No CRT!
+ else ifn1of ($(KBUILD_TARGET), os2 solaris)
   # We want to keep the RPATH on Solaris to be able to find libgcc_1/libstdc++ within $(VBOX_WITH_RUNPATH)
   TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS       = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
++ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.freebsd))
   TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux))
-@@ -5837,10 +5848,18 @@ TEMPLATE_VBOXMAINEXE_LIBS                = $(LIB_RUNTI
+ endif
+ 
+@@ -5584,6 +5591,7 @@ TEMPLATE_VBoxR3HardenedTstDll_INST = $(INST_TESTCASE)
+  TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.win = $(TEMPLATE_VBoxR3TstDll_LDFLAGS.win) -IntegrityCheck
+ ifn1of ($(KBUILD_TARGET), win os2)
+  TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS       = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS))
++ TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.freebsd))
+  TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3TstDll_LDFLAGS.linux))
+ endif
+ 
+@@ -5606,6 +5614,7 @@ ifndef VBOX_WITH_HARDENING
+   TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+  endif
+  ifdef VBOX_WITH_ORIGIN
++  TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.freebsd += $(VBOX_GCC_ORIGIN_OPT)
+   TEMPLATE_VBoxR3SetUidToRoot_LDFLAGS.linux += $(VBOX_GCC_ORIGIN_OPT)
+  endif
+ endif
+@@ -6132,10 +6141,19 @@ TEMPLATE_VBOXMAINEXE_LIBS                = $(LIB_RUNTI
   else ifeq ($(KBUILD_TARGET),haiku)
  TEMPLATE_VBOXMAINEXE_TOOL                = GXX3
  TEMPLATE_VBOXMAINEXE_LIBS                = $(LIB_RUNTIME) network stdc++ supc++
@@ -180,6 +152,7 @@
 + else ifeq ($(KBUILD_TARGET),freebsd)
  TEMPLATE_VBOXMAINEXE_TOOL                = GXX3
  TEMPLATE_VBOXMAINEXE_LIBS                = $(LIB_RUNTIME)
++TEMPLATE_VBOXMAINEXE_LDFLAGS.freebsd     = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
 +TEMPLATE_VBOXMAINEXE_LDFLAGS.freebsd.x86 = -Wl,-z,notext
  TEMPLATE_VBOXMAINEXE_INCS               += \
 +	/usr/local/include
@@ -192,10 +165,19 @@
  	/usr/include \
  	/usr/X11R6/include \
  	/usr/local/include
-@@ -6382,13 +6401,10 @@ ifdef VBOX_WITH_QTGUI
+@@ -6167,6 +6185,7 @@ TEMPLATE_VBOXMAINEXE_LDFLAGS            += '$(VBOX_GCC
+ TEMPLATE_VBOXMAINEXE_LDFLAGS            += '$(VBOX_GCC_RPATH_OPT)$(VBOX_WITH_RELATIVE_RUNPATH)'
+  endif
+  ifdef VBOX_WITH_ORIGIN
++TEMPLATE_VBOXMAINEXE_LDFLAGS.freebsd    += $(VBOX_GCC_ORIGIN_OPT)
+ TEMPLATE_VBOXMAINEXE_LDFLAGS.linux      += $(VBOX_GCC_ORIGIN_OPT)
+  endif
+ 
+@@ -6735,13 +6754,11 @@ ifdef VBOX_WITH_QTGUI
     TEMPLATE_VBOXQTGUIEXE_LIBPATH += \
  	$(VBOX_LIBPATH_X11)
     ifeq ($(KBUILD_TARGET),freebsd)
++    TEMPLATE_VBOXQTGUIEXE_LDFLAGS += -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed)
 +    TEMPLATE_VBOXQTGUIEXE_LDFLAGS.freebsd.x86 = -Wl,-z,notext
      TEMPLATE_VBOXQTGUIEXE_INCS += \
 -	/usr/include \
@@ -207,33 +189,46 @@
  	/usr/local/lib
     endif
     ifeq ($(KBUILD_TARGET),solaris)
-@@ -6617,12 +6633,8 @@ TEMPLATE_VBoxBldProg_LIBPATH            += \
+@@ -6988,10 +7005,17 @@ TEMPLATE_VBoxBldProg_TOOL                = GXX3
+ TEMPLATE_VBoxBldProg_LIBS                = network iconv
+ TEMPLATE_VBoxBldProg_LIBPATH            += \
+ 	/boot/common/lib
+- else if1of ($(KBUILD_HOST), freebsd openbsd)
++ else ifeq ($(KBUILD_HOST),freebsd)
  TEMPLATE_VBoxBldProg_TOOL                = GXX3
  TEMPLATE_VBoxBldProg_LIBS                = pthread
  TEMPLATE_VBoxBldProg_INCS               += \
--	/usr/include \
--	/usr/X11R6/include \
++	/usr/local/include
++TEMPLATE_VBoxBldProg_LIBPATH            += \
++	/usr/local/lib
++ else ifeq ($(KBUILD_HOST),openbsd)
++TEMPLATE_VBoxBldProg_TOOL                = GXX3
++TEMPLATE_VBoxBldProg_LIBS                = pthread
++TEMPLATE_VBoxBldProg_INCS               += \
+ 	/usr/include \
+ 	/usr/X11R6/include \
  	/usr/local/include
- TEMPLATE_VBoxBldProg_LIBPATH            += \
--	/usr/lib \
--	/usr/X11R6/lib \
- 	/usr/local/lib
-  else ifeq ($(KBUILD_HOST),netbsd)
- TEMPLATE_VBoxBldProg_TOOL                = GXX3
-@@ -7008,7 +7020,7 @@
+@@ -7115,6 +7139,7 @@ else # the gcc guys
+  # Do not inherit sanitizer flags from VBOXR3EXE in guest executables.  Deal with them separately.
+  TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.debug = $(NO_SUCH_VARIABLE)
+  TEMPLATE_VBOXGUESTR3EXE_CFLAGS.debug = $(NO_SUCH_VARIABLE)
++ TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.freebsd))
+  TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux))
+  TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.debug = $(NO_SUCH_VARIABLE)
+  TEMPLATE_VBOXGUESTR3EXE_LDFLAGS  = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
+@@ -7138,6 +7163,7 @@ TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux    = \
+ 	$(VBOX_GCC_fno-stack-protector)
+ TEMPLATE_VBOXGUESTR3EXE_CFLAGS.linux      = $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS.linux)
+ # The GNU_HASH ELF tag is not supported by older systems.
++TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.freebsd    += $(VBOX_LD_hash_style_sysv)
+ TEMPLATE_VBOXGUESTR3EXE_LDFLAGS.linux      += $(VBOX_LD_hash_style_sysv)
+ 
  #
- TEMPLATE_VBOXCROGLR3HOSTDLL                  = VBox OpenGL Host DLLs
- TEMPLATE_VBOXCROGLR3HOSTDLL_EXTENDS         := $(if-expr "$(KBUILD_TARGET)" == "win",VBOXR3,VBOXR3NP)
--TEMPLATE_VBOXCROGLR3HOSTDLL_EXTENDS_BY       = prepending
-+TEMPLATE_VBOXCROGLR3HOSTDLL_EXTENDS_BY       = appending
- TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS             = VBOX_WITH_HGCM UNPACKS
- TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.win         = _WIN32_WINNT=0x0500 WINDOWS=1
- TEMPLATE_VBOXCROGLR3HOSTDLL_DEFS.linux       = Linux=1 _GNU_SOURCE
-@@ -7023,6 +7035,7 @@ TEMPLATE_VBOXCROGLR3HOSTDLL_LDFLAGS.darwin  += \
- 	-current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
- 	-compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
- TEMPLATE_VBOXCROGLR3HOSTDLL_LDFLAGS.linux    = -Wl,--no-as-needed
-+TEMPLATE_VBOXCROGLR3HOSTDLL_LDFLAGS.freebsd  = -Wl,--no-as-needed
- TEMPLATE_VBOXCROGLR3HOSTDLL_BLDDIRS          = $(VBOX_PATH_CROGL_GENFILES)/
- ifeq ($(KBUILD_TARGET),darwin)
-  TEMPLATE_VBOXCROGLR3HOSTDLL_CFLAGS          = $(TEMPLATE_VBOXR3NP_CFLAGS) -Wno-deprecated-declarations
+@@ -7345,6 +7371,7 @@ TEMPLATE_VBOXGUESTR3XF86MOD_LIBS.$(KBUILD_TYPE)      =
+ TEMPLATE_VBOXGUESTR3XF86MOD_LIBS.$(KBUILD_TARGET)    = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE)
+ # The GNU_HASH ELF tag is not supported by older glibc dynamic linkers.
++TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.freebsd = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
+ TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv))
+ TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.$(KBUILD_TYPE)   = $(NO_SUCH_VARIABLE)
+ TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS          = -r

Modified: head/emulators/virtualbox-ose/files/patch-configure
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-configure	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-configure	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,6 @@
---- configure.orig	2020-05-13 19:36:41 UTC
+--- configure.orig	2021-01-07 15:31:21 UTC
 +++ configure
-@@ -138,10 +138,14 @@ CXX_FLAGS=""
+@@ -140,10 +140,14 @@ CXX_FLAGS=""
  if [ "$OS" = "freebsd" ]; then
    INCCURL="-I/usr/local/include"
    LIBCURL="-L/usr/local/lib -lcurl"
@@ -15,17 +15,7 @@
  else
    INCCURL=""
    LIBCURL="-lcurl"
-@@ -441,6 +445,9 @@ check_gcc()
-       elif [ $cc_maj -eq 4 -a $cc_min -eq 0 -a "$OS" = "darwin" ]; then
-         log_success "found version $cc_ver"
-       # gcc-4.0 is allowed for Darwin only
-+      elif [ $cc_maj -eq 4 -a $cc_min -eq 2 -a "$OS" = "freebsd" ]; then
-+        log_success "found version $cc_ver"
-+      # gcc-4.2 is allowed for FreeBSD only
-       elif [ $cc_maj -lt 4 \
-              -o \( $cc_maj -eq 4 -a $cc_min -lt 4 -a "$OS" != "darwin" \) \
-              -o \( $cc_maj -eq 4 -a $cc_min -lt 2 -a "$OS"  = "darwin" \) ]; then
-@@ -1208,7 +1215,7 @@ extern "C" int main(void)
+@@ -1258,7 +1262,7 @@ extern "C" int main(void)
  #endif
  }
  EOF
@@ -34,17 +24,18 @@
      test_execute
    fi
  }
-@@ -1508,8 +1515,7 @@ EOF
+@@ -1563,9 +1567,7 @@ EOF
          if [ $? -eq 0 ]; then
            echo "(Qt5 from pkg-config)" >> $LOG
            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 -eq 4 -a $cc_min -eq 8 ] && FLGQT5="$FLGQT5 -std=c++11"
-+          FLGQT5="$FLGQT5 -std=c++11"
-           INCQT5=`strip_I "$FLGQT5"`
+-          INCQT5=`strip_I "$FLGQT5"`
++          FLGQT5="$FLGQT5 -std=c++11"          INCQT5=`strip_I "$FLGQT5"`
            LIBDIR5=`pkg-config Qt5Core --variable=libdir`
            LIBQT5=`pkg-config Qt5Core --libs`
-@@ -1648,7 +1654,7 @@ check_libopus()
+           LIBQT5="-L$LIBDIR5 $LIBQT5"
+@@ -1703,7 +1705,7 @@ check_libopus()
        fi
        cat > $ODIR.tmp_src.cc << EOF
  #include <cstdio>
@@ -53,7 +44,7 @@
  extern "C" int main(void)
  {
    OpusEncoder *test;
-@@ -1980,8 +1986,8 @@ EOF
+@@ -2035,8 +2037,8 @@ EOF
          echo "compiling the following source file:" >> $LOG
          cat $ODIR.tmp_src.cc >> $LOG
          echo "using the following command line:" >> $LOG
@@ -64,7 +55,7 @@
          if [ $? -eq 0 ]; then
            found=1
            break
-@@ -2453,7 +2459,7 @@ for option in "$@"; do
+@@ -2512,7 +2514,7 @@ for option in "$@"; do
      --with-openssl-dir=*)
        OPENSSLDIR=`echo $option | cut -d'=' -f2`
        INCCRYPTO="-I${OPENSSLDIR}/include"
@@ -73,38 +64,39 @@
        ;;
      --with-ow-dir=*)
        WATCOM=`echo $option | cut -d'=' -f2`
-@@ -2767,7 +2773,7 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
-   check_ssl
-   check_curl
-   [ $WITH_LIBVPX -eq 1 ] && check_vpx
--  check_libopus
-+  [ $OSE -eq 0 -a "$OS" != "win" ] && check_libopus
-  [ "$OS" != "darwin"  ] && check_z
-   [ "$OS" != "darwin"  ] && check_png
-   [ $OSE -eq 0 -a "$OS" = "linux" ] && check_pam
-@@ -2788,13 +2794,20 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
+@@ -2856,14 +2858,23 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then
    [ $WITH_PYTHON -eq 1 ] && check_python
    [ $WITH_JAVA   -eq 1 ] && check_java
  
 -  # PulseAudio
-   if [ "$OS" = "linux" -o "$OS" = "freebsd" -o "$OS" = "netbsd" ]; then
+-  if [ $WITH_PULSE -eq 1 ]; then
+-    check_pulse
+-  elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio.
+-    cnf_append "VBOX_WITH_AUDIO_PULSE" ""
+-  elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio.
+-    cnf_append "VBOX_WITH_AUDIO_PULSE" "1"
+-  fi
++  if [ "$OS" = "linux" -o "$OS" = "freebsd" -o "$OS" = "netbsd" ]; then
 +    if [ $WITH_ALSA -eq 1 ]; then
 +      check_alsa
 +    else
 +      cnf_append "VBOX_WITH_AUDIO_ALSA" ""
 +    fi
-     if [ $WITH_PULSE -eq 1 ]; then
-       check_pulse
-     elif [ $WITH_PULSE -eq 0 ]; then
-       cnf_append "VBOX_WITH_AUDIO_PULSE" ""
-     fi
++    if [ $WITH_PULSE -eq 1 ]; then
++      check_pulse
++    elif [ $WITH_PULSE -eq 0 ]; then # Force disabling PulseAudio.
++      cnf_append "VBOX_WITH_AUDIO_PULSE" ""
++    elif [ $WITH_PULSE -eq 2 ]; then # --enable-pulse was passed, force PulseAudio.
++      cnf_append "VBOX_WITH_AUDIO_PULSE" "1"
++    fi
 +    if [ $WITH_DBUS -eq 0 ]; then
 +      cnf_append "VBOX_WITH_DBUS" ""
 +    fi
-  fi
++  fi  
  fi
  
-@@ -2810,14 +2823,6 @@ if [ "$OS" = "linux" ]; then
+ # Linux-specific
+@@ -2878,14 +2889,6 @@ if [ "$OS" = "linux" ]; then
      cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1"
    fi
    if [ $ONLY_ADDITIONS -eq 0 ]; then

Modified: head/emulators/virtualbox-ose/files/patch-include-iprt-x86.h
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-include-iprt-x86.h	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-include-iprt-x86.h	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,6 @@
---- include/iprt/x86.h.orig	2020-05-13 19:36:52 UTC
+--- include/iprt/x86.h.orig	2021-01-07 15:31:34 UTC
 +++ include/iprt/x86.h
-@@ -35,6 +35,16 @@
+@@ -38,6 +38,16 @@
  # pragma D depends_on library vbox-types.d
  #endif
  

Modified: head/emulators/virtualbox-ose/files/patch-include_VBox_com_array.h
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-include_VBox_com_array.h	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-include_VBox_com_array.h	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,6 @@
---- include/VBox/com/array.h.orig	2019-04-12 15:47:42 UTC
+--- include/VBox/com/array.h.orig	2021-01-07 15:31:25 UTC
 +++ include/VBox/com/array.h
-@@ -168,7 +168,7 @@
+@@ -171,7 +171,7 @@
  
  #include "VBox/com/defs.h"
  
@@ -9,28 +9,28 @@
  /** @def VBOX_WITH_TYPE_TRAITS
   * Type traits are a C++ 11 feature, so not available everywhere (yet).
   * Only GCC 4.6 or newer and MSVC++ 16.0 (Visual Studio 2010) or newer.
-@@ -940,12 +940,12 @@ class SafeArray : public Traits (public)
-      */
-     T &operator[] (size_t aIdx)
+@@ -960,12 +960,12 @@ class SafeArray : public Traits (public)
      {
--        AssertReturn(m.arr != NULL,  *((T *)NULL));
--        AssertReturn(aIdx < size(), *((T *)NULL));
+         /** @todo r=klaus should do this as a AssertCompile, but cannot find a way which works. */
+         Assert(sizeof(T) <= sizeof(Zeroes));
+-        AssertReturn(m.arr != NULL, *(T *)&Zeroes[0]);
+-        AssertReturn(aIdx < size(), *(T *)&Zeroes[0]);
 +        AssertReturn(m.arr != NULL,  *((T *)1));
 +        AssertReturn(aIdx < size(), *((T *)1));
  #ifdef VBOX_WITH_XPCOM
          return m.arr[aIdx];
  #else
--        AssertReturn(m.raw != NULL,  *((T *)NULL));
+-        AssertReturn(m.raw != NULL, *(T *)&Zeroes[0]);
 +        AssertReturn(m.raw != NULL,  *((T *)1));
          return m.raw[aIdx];
  #endif
      }
-@@ -960,7 +960,7 @@ class SafeArray : public Traits (public)
+@@ -980,7 +980,7 @@ class SafeArray : public Traits (public)
  #ifdef VBOX_WITH_XPCOM
          return m.arr[aIdx];
  #else
--        AssertReturn(m.raw != NULL,  *((T *)NULL));
-+        AssertReturn(m.raw != NULL,  *((T *)1));
+-        AssertReturn(m.raw != NULL, *(const T *)&Zeroes[0]);
++         AssertReturn(m.raw != NULL,  *((T *)1));
          return m.raw[aIdx];
  #endif
      }

Modified: head/emulators/virtualbox-ose/files/patch-include_iprt_string.h
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-include_iprt_string.h	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-include_iprt_string.h	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,6 @@
---- include/iprt/string.h.orig	2018-06-29 13:08:03 UTC
+--- include/iprt/string.h.orig	2021-01-07 15:31:33 UTC
 +++ include/iprt/string.h
-@@ -43,6 +43,11 @@
+@@ -46,6 +46,11 @@
  #elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
    RT_C_DECLS_BEGIN
  # include <sys/libkern.h>

Modified: head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c	Tue Mar  9 18:24:55 2021	(r567949)
+++ head/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c	Tue Mar  9 18:27:36 2021	(r567950)
@@ -1,6 +1,22 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig	2020-05-13 19:37:01 UTC
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig	2019-01-25 18:12:28 UTC

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202103091827.129IRadd076569>