git: 9ef87f0830a3 - main - emulators/virtualbox-ose{,-kmod,-nox11}-70: Repocopy from emulators/virtualbox-ose{,-kmod,-nox11}
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Feb 2025 23:29:08 UTC
The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=9ef87f0830a3c0d08f51082592e84d2116726d6a commit 9ef87f0830a3c0d08f51082592e84d2116726d6a Author: Vladimir Druzenko <vvd@FreeBSD.org> AuthorDate: 2025-02-02 22:50:49 +0000 Commit: Vladimir Druzenko <vvd@FreeBSD.org> CommitDate: 2025-02-02 22:54:38 +0000 emulators/virtualbox-ose{,-kmod,-nox11}-70: Repocopy from emulators/virtualbox-ose{,-kmod,-nox11} PR: 271146 --- emulators/Makefile | 3 + emulators/virtualbox-ose-70/Makefile | 431 ++++++ emulators/virtualbox-ose-70/distinfo | 7 + .../virtualbox-ose-70/files/extrapatch-Config.kmk | 11 + ...h-src-VBox-HostDrivers-Support-freebsd-Makefile | 11 + .../files/extrapatch-vboximg-Config.kmk | 11 + emulators/virtualbox-ose-70/files/patch-Config.kmk | 234 +++ emulators/virtualbox-ose-70/files/patch-configure | 126 ++ .../files/patch-include-iprt-x86.h | 19 + .../files/patch-include_VBox_com_array.h | 36 + .../files/patch-include_iprt_string.h | 14 + ...-Additions-common-VBoxGuest-VBoxGuest-freebsd.c | 290 ++++ ...Box-Additions-common-VBoxGuest-freebsd-Makefile | 27 + ...itions-common-VBoxGuest-freebsd-files_vboxguest | 34 + ...-VBox-Additions-x11-Installer-98vboxadd-xclient | 17 + ...VBox-Additions-x11-Installer-vboxclient.desktop | 10 + ...h-src-VBox-Devices-Network-slirp-bsd-sys-mbuf.h | 12 + ...ch-src-VBox-HostDrivers-VBoxNetAdp-Makefile.kmk | 20 + ...HostDrivers-VBoxNetFlt-freebsd-files_vboxnetflt | 10 + .../files/patch-src-VBox-Installer-Makefile.kmk | 14 + .../files/patch-src-VBox-Installer-freebsd-VBox.sh | 77 + ...h-src-VBox-Installer-freebsd-virtualbox.desktop | 10 + ...tch-src-VBox-Main-src-server-VirtualBoxImpl.cpp | 11 + .../patch-src-VBox-Main-webservice-Makefile.kmk | 39 + .../files/patch-src-VBox-Runtime-Makefile.kmk | 14 + ...untime-r0drv-freebsd-sleepqueue-r0drv-freebsd.h | 39 + ...itions_common_VBoxService_VBoxServiceVMInfo.cpp | 71 + ...tch-src_VBox_Additions_common_pam_pam__vbox.cpp | 20 + .../patch-src_VBox_Additions_freebsd_Makefile | 38 + .../patch-src_VBox_Additions_freebsd_Makefile.kmk | 31 + ...src_VBox_Additions_freebsd_drm_vboxvideo__drm.c | 17 + ...x_Additions_freebsd_mount__vboxvfs_Makefile.kmk | 26 + ...ditions_freebsd_mount__vboxvfs_mount__vboxvfs.8 | 56 + ...ditions_freebsd_mount__vboxvfs_mount__vboxvfs.c | 171 +++ ...src_VBox_Additions_freebsd_vboxvfs_Makefile.kmk | 50 + ...patch-src_VBox_Additions_freebsd_vboxvfs_bcmp.c | 12 + ...ch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs.h | 428 ++++++ ..._VBox_Additions_freebsd_vboxvfs_vboxvfs__prov.c | 1015 +++++++++++++ ...Box_Additions_freebsd_vboxvfs_vboxvfs__vfsops.c | 645 ++++++++ ...VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c | 1543 ++++++++++++++++++++ ...h-src_VBox_Additions_x11_VBoxClient_logging.cpp | 10 + ...h-src_VBox_Additions_x11_vboxmouse_Makefile.kmk | 29 + ...h-src_VBox_Additions_x11_vboxvideo_Makefile.kmk | 15 + ...s_x11_x11include_xproto-7.0.18_X11_Xfuncproto.h | 230 +++ .../files/patch-src_VBox_Debugger_Makefile.kmk | 10 + ...c_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp | 29 + ...src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h | 11 + ...src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp | 38 + .../files/patch-src_VBox_Devices_Makefile.kmk | 44 + .../patch-src_VBox_Devices_PC_ipxe_Makefile.kmk | 29 + ...src_VBox_Devices_USB_USBProxyDevice-freebsd.cpp | 11 + .../files/patch-src_VBox_ExtPacks_VNC_VBoxVNC.cpp | 58 + ...rc_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp | 43 + ...Box_Frontends_VBoxManage_VBoxManageModifyVM.cpp | 29 + ...atch-src_VBox_Frontends_VirtualBox_Makefile.kmk | 18 + .../patch-src_VBox_HostDrivers_Support_SUPDrv.cpp | 11 + ...h-src_VBox_HostDrivers_Support_SUPDrvInternal.h | 11 + ...h-src_VBox_HostDrivers_Support_freebsd_Makefile | 30 + ...ox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c | 224 +++ ...VBox_HostDrivers_Support_freebsd_files__vboxdrv | 30 + ...rc_VBox_HostDrivers_VBoxNetAdp_freebsd_Makefile | 11 + ...Drivers_VBoxNetAdp_freebsd_VBoxNetAdp-freebsd.c | 147 ++ ...ch-src_VBox_HostDrivers_VBoxNetFlt_Makefile.kmk | 11 + ...rc_VBox_HostDrivers_VBoxNetFlt_freebsd_Makefile | 11 + ...Drivers_VBoxNetFlt_freebsd_VBoxNetFlt-freebsd.c | 471 ++++++ ...h-src_VBox_HostDrivers_adpctl_VBoxNetAdpCtl.cpp | 11 + .../files/patch-src_VBox_Main_Makefile.kmk | 10 + .../files/patch-src_VBox_Main_include_HostPower.h | 20 + .../patch-src_VBox_Main_src-server_HostImpl.cpp | 11 + ..._Main_src-server_freebsd_PerformanceFreeBSD.cpp | 24 + ...src_VBox_NetworkServices_Dhcpd_VBoxNetDhcpd.cpp | 11 + .../patch-src_VBox_RDP_client-1.8.4_Makefile.kmk | 13 + ...Box_Runtime_r0drv_freebsd_alloc-r0drv-freebsd.c | 73 + ...ox_Runtime_r0drv_freebsd_assert-r0drv-freebsd.c | 29 + ...ox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c | 412 ++++++ ...ime_r0drv_freebsd_memuserkernel-r0drv-freebsd.c | 22 + ...c_VBox_Runtime_r0drv_freebsd_mp-r0drv-freebsd.c | 92 ++ ..._Runtime_r0drv_freebsd_semevent-r0drv-freebsd.c | 53 + ...ime_r0drv_freebsd_semeventmulti-r0drv-freebsd.c | 73 + ...time_r0drv_freebsd_semfastmutex-r0drv-freebsd.c | 59 + ..._Runtime_r0drv_freebsd_semmutex-r0drv-freebsd.c | 80 + ..._Runtime_r0drv_freebsd_spinlock-r0drv-freebsd.c | 30 + ...VBox_Runtime_r0drv_freebsd_the-freebsd-kernel.h | 47 + ...ox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c | 91 ++ ...x_Runtime_r0drv_freebsd_thread2-r0drv-freebsd.c | 35 + ...VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c | 43 + ...Box_Runtime_r0drv_freebsd_timer-r0drv-freebsd.c | 68 + ...c_VBox_Runtime_r3_freebsd_systemmem-freebsd.cpp | 39 + ...Box_Runtime_r3_posix_process-creation-posix.cpp | 38 + ...VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp | 59 + .../files/patch-src_VBox_VMM_VMMR3_PGMPhys.cpp | 11 + .../files/patch-src_libs_xpcom18a4_Makefile.kmk | 11 + ...ibs_xpcom18a4_nsprpub_pr_src_pthreads_ptsynch.c | 20 + ...h-src_libs_xpcom18a4_xpcom_io_nsLocalFileUnix.h | 17 + emulators/virtualbox-ose-70/files/pkg-message.in | 120 ++ emulators/virtualbox-ose-70/files/vboxheadless.in | 140 ++ emulators/virtualbox-ose-70/files/vboxinit.in | 91 ++ emulators/virtualbox-ose-70/files/vboxwatchdog.in | 51 + emulators/virtualbox-ose-70/files/vboxwebsrv.in | 47 + emulators/virtualbox-ose-70/pkg-descr | 8 + emulators/virtualbox-ose-70/pkg-plist | 616 ++++++++ emulators/virtualbox-ose-kmod-70/Makefile | 112 ++ emulators/virtualbox-ose-kmod-70/distinfo | 3 + .../virtualbox-ose-kmod-70/files/pkg-message.in | 10 + emulators/virtualbox-ose-kmod-70/files/vboxnet.in | 67 + emulators/virtualbox-ose-kmod-70/pkg-descr | 5 + emulators/virtualbox-ose-kmod-70/pkg-plist | 6 + emulators/virtualbox-ose-nox11-70/Makefile | 11 + 108 files changed, 10000 insertions(+) diff --git a/emulators/Makefile b/emulators/Makefile index 6094d34a3f08..38474646ade9 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -156,14 +156,17 @@ SUBDIR += vgba-bin SUBDIR += vice SUBDIR += virtualbox-ose + SUBDIR += virtualbox-ose-70 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-legacy SUBDIR += virtualbox-ose-legacy SUBDIR += virtualbox-ose-nox11 + SUBDIR += virtualbox-ose-nox11-70 SUBDIR += virtualbox-ose-nox11-legacy SUBDIR += visualboyadvance-m SUBDIR += vmips diff --git a/emulators/virtualbox-ose-70/Makefile b/emulators/virtualbox-ose-70/Makefile new file mode 100644 index 000000000000..fdd678179189 --- /dev/null +++ b/emulators/virtualbox-ose-70/Makefile @@ -0,0 +1,431 @@ +PORTNAME= virtualbox-ose +DISTVERSION= 6.1.50 +PORTREVISION?= 8 +CATEGORIES= emulators +MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ + LOCAL/bofh/emulators/virtualbox-ose:docs +DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}:src \ + VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX}:docs +EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} \ + VirtualBox-docs-${DISTVERSION}${EXTRACT_SUFX} + +MAINTAINER= vbox@FreeBSD.org +COMMENT= General-purpose full virtualizer for x86 hardware +WWW= https://www.virtualbox.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +ONLY_FOR_ARCHS= amd64 + +BUILD_DEPENDS= gtar:archivers/gtar \ + kmk:devel/kBuild \ + libIDL-config-2:devel/libIDL \ + yasm:devel/yasm \ + xsltproc:textproc/libxslt +LIB_DEPENDS= libpng.so:graphics/png \ + libcurl.so:ftp/curl +RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod + +USES= compiler:c++14-lang cpe gnome iconv pkgconfig ssl tar:bzip2 +CPE_VENDOR= oracle +CPE_PRODUCT= vm_virtualbox +USE_GNOME= libxml2 +USE_RC_SUBR= vboxheadless vboxwatchdog + +HAS_CONFIGURE= yes +CONFIGURE_ARGS= --disable-java --passive-mesa --disable-docs +CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" + +CONFLICTS_INSTALL= virtualbox-ose-legacy \ + virtualbox-ose-nox11-legacy \ + virtualbox-ose-70 \ + virtualbox-ose-nox11-70 + +PORTSCOUT= limit:^6\. +SUB_FILES= pkg-message +SUB_LIST= VBOXDIR=${VBOX_DIR} \ + VBOX_ETC=${VBOX_ETC} \ + VBOXGROUP=${VBOXGROUP} \ + VBOXUSER=${VBOXUSER} \ + VBOXWSUSER=${VBOXWSUSER} + +WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} + +VBOXUSER?= vboxusers +VBOXWSUSER?= vboxusers +VBOXGROUP?= vboxusers +USERS= ${VBOXUSER} +GROUPS= ${VBOXGROUP} +VBOX_DIR= ${PREFIX}/${VBOX_DIR_REL} +VBOX_DIR_REL= lib/virtualbox +VBOX_ETC= ${PREFIX}/etc/vbox +VBOX_LINKS= VBoxVRDP +VBOX_PROGS= VBoxAutostart VBoxBalloonCtrl VBoxBugReport VBoxHeadless \ + VBoxManage +VBOX_UTILS= VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \ + VBoxSVC VBoxXPCOMIPCD + +PLIST_SUB= GUEST_VER=${DISTVERSION} \ + PYTHON_VERU=${PYTHON_VER:S/./_/}${PYTHON_ABIVER} \ + VBOXGROUP=${VBOXGROUP} + +SLAVE_PORT?= no + +OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OPUS PULSEAUDIO \ + PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC WEBSERVICE VPX X11 +OPTIONS_DEFAULT= AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11 +.if ${SLAVE_PORT} == no +OPTIONS_DEFAULT+= PYTHON +.endif +# Since version 6.1.24 pulseaudio is broken at runtime, preventing +# virtual machines from starting if configured to use it. +OPTIONS_EXCLUDE+= PULSEAUDIO +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) +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 +VBOXIMG_DESC= Build vboximg-mount (requires fuse-libs) +VDE_DESC= Build with VDE support +VNC_DESC= Build with VNC support +VPX_DESC= Use libvpx for video recording +WEBSERVICE_DESC= Build Webservice + +ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib +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 +OPUS_IMPLIES= VPX +OPUS_LIB_DEPENDS= libopus.so:audio/opus +OPUS_CONFIGURE_OFF= --disable-libopus +PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio +PULSEAUDIO_CONFIGURE_OFF= --disable-pulse +PYTHON_USES= python +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 XORG=xcb GL=gl +QT5_CONFIGURE_ON= --enable-qt5 +QT5_CONFIGURE_OFF= --disable-qt +R0LOGGING_IMPLIES= DEBUG +UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel +VBOXIMG_LIB_DEPENDS= libfuse.so.2:filesystems/fusefs-libs +VDE_RUN_DEPENDS= vde_switch:net/vde2 +VDE_CONFIGURE_ON= --enable-vde +VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver +VNC_CONFIGURE_ON= --enable-vnc +VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx +VPX_CONFIGURE_OFF= --disable-libvpx +WEBSERVICE_BUILD_DEPENDS= soapcpp2:devel/gsoap +X11_USES= sdl xorg +X11_USE= SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt +X11_CONFIGURE_OFF= --build-headless + +ENV= +.export ENV + +.include <bsd.port.options.mk> + +.if ${SLAVE_PORT} == no +CONFLICTS_INSTALL+= virtualbox-ose-nox11 +.else +CONFLICTS_INSTALL+= virtualbox-ose +.endif + +.if ${PORT_OPTIONS:MDEBUG} +KMK_BUILDTYPE= debug +KMK_FLAGS+= BUILD_TYPE=debug +.else +KMK_BUILDTYPE= release +.endif + +.if ${PORT_OPTIONS:MGUESTADDITIONS} +GUESTADDITIONS= VBoxGuestAdditions_${DISTVERSION}.iso +DISTFILES+= ${GUESTADDITIONS}:src +LICENSE+= Additions +LICENSE_COMB= multi +LICENSE_NAME_Additions= Guest Additions +LICENSE_PERMS_Additions= auto-accept +LICENSE_DISTFILES_Additions= ${GUESTADDITIONS} +.endif + +.if ${PORT_OPTIONS:MQT5} +PLIST_SUB+= QT="" +VBOX_PROGS+= VirtualBox VirtualBoxVM +VBOX_UTILS+= VBoxTestOGL +VBOX_WITH_QT= 1 +.else +PLIST_SUB+= QT="@comment " +.endif + +.if ${PORT_OPTIONS:MWEBSERVICE} +USE_RC_SUBR+= vboxinit vboxwebsrv +VBOX_LINKS+= vboxwebsrv +VBOX_UTILS+= vboxwebsrv webtest +.endif + +.if ${PORT_OPTIONS:MX11} +VBOX_PROGS+= VBoxSDL +.endif + +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} +PLIST_SUB+= SDK="" +.else +PLIST_SUB+= SDK="@comment " +.endif + +.if ${PORT_OPTIONS:MVBOXIMG} +EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-vboximg-Config.kmk +VBOX_UTILS+= vboximg-mount +PLIST_SUB+= VBOXIMG="" +.else +PLIST_SUB+= VBOXIMG="@comment " +.endif + +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_FLAGS+= -j${MAKE_JOBS_NUMBER} + +.include <bsd.port.pre.mk> + +.if ${CHOSEN_COMPILER_TYPE} == clang +# 1) llvm10 in FreeBSD before r364284 miscompiles virtualbox 6.1 causing errors. +# 2) llvm15 in FreeBSD miscompiles virtualbox 6.1 causing errors: PR#270189. +# Force llvm from ports. +.if ${OPSYS} == FreeBSD +# USES must be before .include <bsd.port.pre.mk>, but CHOSEN_COMPILER_TYPE must be after. +# This is a workaround with possibility to define different llvm via VBOX_LLVM_VER in make.conf. +#USES+= llvm:min=11,max=14 +#CC= clang${LLVM_VERSION} +#CXX= clang++${LLVM_VERSION} +BUILD_DEPENDS+= clang${VBOX_LLVM_VER}:devel/llvm${VBOX_LLVM_VER} +CC= clang${VBOX_LLVM_VER} +CXX= clang++${VBOX_LLVM_VER} +.if ${LLVM_DEFAULT} < 11 || ${LLVM_DEFAULT} > 14 +VBOX_LLVM_VER?= 14 +.else +VBOX_LLVM_VER?= ${LLVM_DEFAULT} +.endif +.endif +PATCH_DEPENDS+= ${LOCALBASE}/share/kBuild/tools/GXX3.kmk:devel/kBuild +.endif + +.if ${PYTHON_MAJOR_VER} >= 3 +PLIST_SUB+= PYTHON_PYCDIR=/__pycache__/ \ + PYTHON_PYCEXT=.cpython-${PYTHON_SUFFIX}.pyc +.else +PLIST_SUB+= PYTHON_PYCDIR=/ \ + PYTHON_PYCEXT=.pyc +.endif + +.if ${SSL_DEFAULT} != base +CONFIGURE_ARGS+= --with-openssl-dir="${OPENSSLBASE}" +.endif + +post-patch: + @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE_ARCH = ${VBOX_DIR}' > \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_DOCBOOK = ${DBKXSLDIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_DOCBOOK_DTD = ${DBKXMLDIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_SHARED_LIBS = ${VBOX_DIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + # Please keep this even if using Clang to avoid repeated regressions. + # PR 245048 + @${ECHO_CMD} "VBOX_WITH_RUNPATH = ${_GCC_RUNTIME:D${_GCC_RUNTIME}\:}${VBOX_DIR}" >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk +.if ${SSL_DEFAULT} != base + @${ECHO_CMD} 'VBOX_WITH_ALT_HASH_CODE = 1' >> ${WRKSRC}/LocalConfig.kmk +.endif + @${ECHO_CMD} 'VBOX_WITH_EXTPACK_VBOXDTRACE =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'SDK_VBOX_LIBPNG_INCS = ${PREFIX}/include/libpng' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_QT}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_QT}' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_VALIDATIONKIT =' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk +.if ${PORT_OPTIONS:MR0LOGGING} + @${ECHO_CMD} 'VBOX_WITH_R0_LOGGING = 1' >> ${WRKSRC}/LocalConfig.kmk +.endif +.if ${PORT_OPTIONS:MWEBSERVICE} + @${ECHO_CMD} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GSOAP_INSTALLED = 1' >> ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP = ${PREFIX}/lib/gsoap' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP_BIN = ${PREFIX}/bin' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_PATH_GSOAP_IMPORT = ${PREFIX}/share/gsoap/import' >> \ + ${WRKSRC}/LocalConfig.kmk + @${ECHO_CMD} 'VBOX_GCC_PEDANTIC_CXX = -Wshadow $$(VBOX_GCC_WARN) -Wno-long-long' >> \ + ${WRKSRC}/LocalConfig.kmk +.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||' ${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 + # Causes a "reinplace" QA warning with default LOCALBASE + @${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/libs/xpcom18a4/python/gen_python_deps.py + @${REINPLACE_CMD} \ + -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ + -e 's|SUPPYTHONLIBS=.*|SUPPYTHONLIBS="${PYTHON_VERSION}${PYTHON_ABIVER}"|' \ + ${WRKSRC}/configure +.if empty(ICONV_LIB) + @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk + @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk +.endif + @${REINPLACE_CMD} -e 's|%%VBOX_DIR%%|${VBOX_DIR}|g' \ + -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \ + -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh + @${REINPLACE_CMD} -e 's|%%VBOX_ETC%%|${VBOX_ETC}|g' \ + ${WRKSRC}/src/VBox/HostDrivers/adpctl/VBoxNetAdpCtl.cpp + @${REINPLACE_CMD} \ + -e 's|^versions =.*|versions = ["${PYTHON_VER}${PYTHON_ABIVER}"]|' \ + ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py + +post-patch-AIO-off: + @${REINPLACE_CMD} 's|r3/freebsd/fileaio-freebsd.cpp|r3/posix/fileaio-posix.cpp|' \ + ${WRKSRC}/src/VBox/Runtime/Makefile.kmk + +do-build: + cd ${WRKSRC} && ${SH} -c '. ${WRKSRC}/env.sh && \ + ${SETENV} ${MAKE_ENV} ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}' +.if ${PORT_OPTIONS:MPYTHON} + ${PYTHON_CMD} -mcompileall \ + ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom +.endif + +do-install: +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} + ${MKDIR} ${STAGEDIR}${DATADIR}/sdk +.endif + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom && \ + ${COPYTREE_SHARE} "idl samples" ${STAGEDIR}${DATADIR} + + ${MKDIR} ${STAGEDIR}${PREFIX}/include/virtualbox + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/include && \ + ${COPYTREE_SHARE} "*" ${STAGEDIR}${PREFIX}/include/virtualbox + + ${MKDIR} ${STAGEDIR}${VBOX_DIR} + cd ${KMK_BUILDDIR}/bin && ${COPYTREE_SHARE} \ + "*.fd *.r0 *.so components" ${STAGEDIR}${VBOX_DIR} +.if ${PORT_OPTIONS:MPYTHON} || ${PORT_OPTIONS:MWEBSERVICE} + ${RLN} ${STAGEDIR}${DATADIR}/sdk ${STAGEDIR}${VBOX_DIR} +.endif + + ${INSTALL_SCRIPT} ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh \ + ${STAGEDIR}${VBOX_DIR} +.for f in ${VBOX_PROGS} ${VBOX_UTILS} + ${INSTALL_PROGRAM} ${KMK_BUILDDIR}/bin/${f} ${STAGEDIR}${VBOX_DIR} +.endfor +.for f in ${VBOX_PROGS} ${VBOX_LINKS} + ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f} +.endfor +.for f in ${VBOX_PROGS} + ${LN} -fs ../${VBOX_DIR_REL}/VBox.sh ${STAGEDIR}${PREFIX}/bin/${f:tl} +.endfor + +.if ${PORT_OPTIONS:MGUESTADDITIONS} + ${MKDIR} ${STAGEDIR}${VBOX_DIR}/additions + ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} \ + ${STAGEDIR}${VBOX_DIR}/additions/ + ${RLN} ${STAGEDIR}${VBOX_DIR}/additions/${GUESTADDITIONS} \ + ${STAGEDIR}${VBOX_DIR}/additions/VBoxGuestAdditions.iso +.endif + +.if ${PORT_OPTIONS:MDOCS} + ${MKDIR} ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKDIR}/VirtualBox-docs-${DISTVERSION}/UserManual.pdf \ + ${STAGEDIR}${DOCSDIR} +.endif + +.if ${PORT_OPTIONS:MNLS} + cd ${KMK_BUILDDIR}/obj/VirtualBox/qtnls && \ + ${COPYTREE_SHARE} "*.qm" ${STAGEDIR}${DATADIR}/nls +.endif + +.if ${PORT_OPTIONS:MPYTHON} + cd ${KMK_BUILDDIR}/bin/sdk/installer && \ + ${SETENV} VBOX_INSTALL_PATH="${VBOX_DIR}" \ + ${PYTHON_CMD} vboxapisetup.py install --root=${STAGEDIR} + + @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom + cd ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom && \ + ${COPYTREE_SHARE} "*" ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom + @${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python + ${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/xpcom \ + ${STAGEDIR}${DATADIR}/sdk/bindings/xpcom/python +.endif + +.if ${PORT_OPTIONS:MQT5} + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png \ + ${STAGEDIR}${PREFIX}/share/pixmaps/VBox.png + ${INSTALL_DATA} \ + ${WRKSRC}/src/VBox/Installer/freebsd/virtualbox.desktop \ + ${STAGEDIR}${PREFIX}/share/applications/virtualbox.desktop +.endif + +.if ${PORT_OPTIONS:MVNC} + ${MKDIR} ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH} + ${INSTALL_DATA} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/ExtPack* \ + ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/ + ${INSTALL_LIB} ${KMK_BUILDDIR}/bin/ExtensionPacks/VNC/${KMK_ARCH}/* \ + ${STAGEDIR}${VBOX_DIR}/ExtensionPacks/VNC/${KMK_ARCH}/ +.endif + +.if ${PORT_OPTIONS:MVBOXIMG} + ${LN} -fs ../${VBOX_DIR_REL}/vboximg-mount ${STAGEDIR}${PREFIX}/bin/ +.endif + +.if ${PORT_OPTIONS:MWEBSERVICE} + ${MKDIR} ${STAGEDIR}${DATADIR}/sdk/bindings/webservice + ${INSTALL_DATA} ${KMK_BUILDDIR}/obj/webservice/vboxweb.wsdl \ + ${STAGEDIR}${DATADIR}/sdk/bindings/webservice/ +.endif + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/virtualbox/*.so \ + ${STAGEDIR}${PREFIX}/lib/virtualbox/components/*.so + +.include <bsd.port.post.mk> diff --git a/emulators/virtualbox-ose-70/distinfo b/emulators/virtualbox-ose-70/distinfo new file mode 100644 index 000000000000..08ac88176444 --- /dev/null +++ b/emulators/virtualbox-ose-70/distinfo @@ -0,0 +1,7 @@ +TIMESTAMP = 1716920210 +SHA256 (VirtualBox-6.1.50.tar.bz2) = 73ff603842896cb8d86ac5a817eb5037d7d225d3c46ea238e39d7ba5aaf61a57 +SIZE (VirtualBox-6.1.50.tar.bz2) = 165959648 +SHA256 (VBoxGuestAdditions_6.1.50.iso) = af53e34c5a5ec143f3418ac01d00ed5f33f6b31bfdc92eb4714c99d9bccb6602 +SIZE (VBoxGuestAdditions_6.1.50.iso) = 64051200 +SHA256 (VirtualBox-docs-6.1.50.tar.bz2) = e5dc118e8bb8352c06d5359e4f75ceb339a3917f0727fd74ad02ff07251e67db +SIZE (VirtualBox-docs-6.1.50.tar.bz2) = 4063302 diff --git a/emulators/virtualbox-ose-70/files/extrapatch-Config.kmk b/emulators/virtualbox-ose-70/files/extrapatch-Config.kmk new file mode 100644 index 000000000000..775508d23b1b --- /dev/null +++ b/emulators/virtualbox-ose-70/files/extrapatch-Config.kmk @@ -0,0 +1,11 @@ +--- Config.kmk.orig 2021-04-28 16:21:25 UTC ++++ Config.kmk +@@ -4931,7 +4931,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 diff --git a/emulators/virtualbox-ose-70/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile b/emulators/virtualbox-ose-70/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile new file mode 100644 index 000000000000..67361da543f7 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile @@ -0,0 +1,11 @@ +--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2012-10-18 16:23:16.000000000 +0200 ++++ src/VBox/HostDrivers/Support/freebsd/Makefile 2012-10-20 08:13:07.301179212 +0200 +@@ -27,7 +27,7 @@ + + KMOD = vboxdrv + +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DSUPDRV_WITH_RELEASE_LOGGER -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBOX_WITH_HARDENING -DVBOX_WITH_64_BITS_GUESTS -DDEBUG + + .if (${MACHINE_ARCH} == "i386") + CFLAGS += -DRT_ARCH_X86 diff --git a/emulators/virtualbox-ose-70/files/extrapatch-vboximg-Config.kmk b/emulators/virtualbox-ose-70/files/extrapatch-vboximg-Config.kmk new file mode 100644 index 000000000000..d84209faa8cd --- /dev/null +++ b/emulators/virtualbox-ose-70/files/extrapatch-vboximg-Config.kmk @@ -0,0 +1,11 @@ +--- Config.kmk.orig 2023-10-12 15:43:35.000000000 +0700 ++++ Config.kmk 2023-10-30 22:11:09.119922000 +0700 +@@ -869,7 +869,7 @@ + # windows versions (only define when buildling win.x86). + #VBOX_WITH_MORE_NT4_COMPAT_BINARIES = 1 + # Set this to enable building of the vboximg-mount FUSE mounting utility. +-if1of ($(KBUILD_TARGET), darwin linux) ++if1of ($(KBUILD_TARGET), darwin freebsd linux) + VBOX_WITH_VBOXIMGMOUNT = 1 + endif + # Set this to enable packaging the fuse related bits into our installer. diff --git a/emulators/virtualbox-ose-70/files/patch-Config.kmk b/emulators/virtualbox-ose-70/files/patch-Config.kmk new file mode 100644 index 000000000000..119926c9e025 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-Config.kmk @@ -0,0 +1,234 @@ +--- Config.kmk.orig 2021-01-07 15:31:21 UTC ++++ Config.kmk +@@ -469,11 +469,11 @@ ifn1of ($(KBUILD_TARGET), win darwin) + # Enable OSS audio support. + VBOX_WITH_AUDIO_OSS = 1 + endif +-if1of ($(KBUILD_TARGET), linux) ++if1of ($(KBUILD_TARGET), freebsd linux) + # Enable ALSA audio support. + VBOX_WITH_AUDIO_ALSA = 1 + endif +-if1of ($(KBUILD_TARGET), linux) ++if1of ($(KBUILD_TARGET), freebsd linux) + # Enable PulseAudio audio support. + VBOX_WITH_AUDIO_PULSE = 1 + endif +@@ -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) + VBOX_WITH_DBUS = 1 + endif + # Enable building PAM modules. +-if1of ($(KBUILD_TARGET), linux solaris) ++if1of ($(KBUILD_TARGET), freebsd linux solaris) + VBOX_WITH_PAM = 1 + endif + # Enable internal networking. +@@ -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 + +-ifeq ($(KBUILD_TARGET),freebsd) +- VBOX_WITH_DOCS= +-endif +- + ifeq ($(KBUILD_TARGET),haiku) + # Don't bother with SDL ttf for now. + VBOX_WITH_SECURELABEL= +@@ -1228,7 +1224,7 @@ ifdef VBOX_OSE + VBOX_WITH_KCHMVIEWER= + VBOX_WITH_PLUGIN_CRYPT= + VBOX_WITH_DRAG_AND_DROP_PROMISES= +- ifn1of ($(KBUILD_TARGET), linux) ++ ifn1of ($(KBUILD_TARGET), freebsd linux) + VBOX_WITH_DOCS= + VBOX_WITH_DOCS_PACKING= + endif +@@ -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 + endef + endif # x86 + +@@ -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 +- else if1of ($(KBUILD_TARGET), freebsd openbsd) ++ else ifeq ($(KBUILD_TARGET),freebsd) + TEMPLATE_VBOXR3EXE_TOOL = GXX3 + TEMPLATE_VBOXR3EXE_LIBS = pthread ++TEMPLATE_VBOXR3EXE_LDFLAGS.freebsd.x86 = -Wl,-z,notext + TEMPLATE_VBOXR3EXE_INCS += \ ++ /usr/local/include ++TEMPLATE_VBOXR3EXE_LIBPATH += \ ++ /usr/local/lib ++ else ifeq ($(KBUILD_TARGET),openbsd) ++TEMPLATE_VBOXR3EXE_TOOL = GXX3 ++TEMPLATE_VBOXR3EXE_LIBS = pthread ++TEMPLATE_VBOXR3EXE_INCS += \ + /usr/include \ + /usr/X11R6/include \ + /usr/local/include +@@ -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)) + 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++ +- else if1of ($(KBUILD_TARGET), freebsd openbsd) ++ 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 ++TEMPLATE_VBOXMAINEXE_LIBPATH += \ ++ /usr/local/lib ++ else ifeq ($(KBUILD_TARGET),openbsd) ++TEMPLATE_VBOXMAINEXE_TOOL = GXX3 ++TEMPLATE_VBOXMAINEXE_LIBS = $(LIB_RUNTIME) ++TEMPLATE_VBOXMAINEXE_INCS += \ + /usr/include \ + /usr/X11R6/include \ + /usr/local/include +@@ -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 \ +- /usr/X11R6/include \ + /usr/local/include + TEMPLATE_VBOXQTGUIEXE_LIBPATH += \ +- /usr/lib \ +- /usr/X11R6/lib \ + /usr/local/lib + endif + ifeq ($(KBUILD_TARGET),solaris) +@@ -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/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 +@@ -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) + + # +@@ -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 diff --git a/emulators/virtualbox-ose-70/files/patch-configure b/emulators/virtualbox-ose-70/files/patch-configure new file mode 100644 index 000000000000..25015e642bc1 --- /dev/null +++ b/emulators/virtualbox-ose-70/files/patch-configure @@ -0,0 +1,126 @@ +--- configure.orig 2021-10-18 17:47:25 UTC ++++ configure +@@ -139,10 +139,14 @@ CXX_FLAGS="" + if [ "$OS" = "freebsd" ]; then + INCCURL="-I/usr/local/include" + LIBCURL="-L/usr/local/lib -lcurl" ++ INCALSA="-I/usr/local/include" ++ LIBALSA="-L/usr/local/lib" + INCPULSE="-I/usr/local/include" + LIBPULSE="-L/usr/local/lib" + INCPNG="-I/usr/local/include" + LIBPNG="-L/usr/local/lib -lpng" ++ INCVNCSERVER="-I/usr/local/include" ++ LIBVNCSERVER="-L/usr/local/lib" + else + INCCURL="" + LIBCURL="-lcurl" +@@ -1173,6 +1177,9 @@ extern "C" int main(int argc, char** arg + printf("found version %d.%d.%d", + SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); + #if SDL_VERSION_ATLEAST(1,2,7) ++#if !defined(SDL_VIDEO_DRIVER_X11) ++#error SDL must be compiled with X11 support ++#endif + printf(", OK.\n"); + return 0; + #else +@@ -1257,7 +1264,7 @@ extern "C" int main(void) + #endif + } + EOF +- if test_compile "-lasound" asound asound; then ++ if test_compile "$INCALSA $LIBALSA -lasound" asound asound; then + test_execute + fi + } +@@ -1564,6 +1571,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` +@@ -1702,7 +1710,7 @@ check_libopus() + fi + cat > $ODIR.tmp_src.cc << EOF + #include <cstdio> +-#include <opus/opus.h> ++#include <opus.h> + extern "C" int main(void) + { + OpusEncoder *test; +@@ -2034,8 +2042,8 @@ EOF + echo "compiling the following source file:" >> $LOG + cat $ODIR.tmp_src.cc >> $LOG + echo "using the following command line:" >> $LOG +- echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG +- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1 ++ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread" >> $LOG ++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1 + if [ $? -eq 0 ]; then + found=1 + break +@@ -2151,7 +2159,7 @@ check_gsoap() + else + cnf_append "VBOX_GSOAP_CXX_SOURCES" "" + fi +- cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"`" ++ cnf_append "VBOX_GSOAP_CXX_LIBS" "`strip_l "$GSOAP_CXX_LIBS"` z" + gsoap_version=`pkg-config gsoapssl++ --modversion` + log_success "found version $gsoap_version" + return +@@ -2519,7 +2527,7 @@ for option in "$@"; do + --with-openssl-dir=*) + OPENSSLDIR=`echo $option | cut -d'=' -f2` + INCCRYPTO="-I${OPENSSLDIR}/include" +- LIBCRYPTO="${OPENSSLDIR}/lib/libssl.a ${OPENSSLDIR}/lib/libcrypto.a" ++ LIBCRYPTO="-L${OPENSSLDIR}/lib -lssl -lcrypto" + # On Linux static OpenSSL typically needs a few additional libraries. + [ "$OS" = "linux" ] && LIBCRYPTO="-ldl $LIBPTHREAD -lm" + ;; +@@ -2865,12 +2873,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then + [ $WITH_JAVA -eq 1 ] && check_java + + # PulseAudio +- 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" *** 9800 LINES SKIPPED ***