diff --git a/emulators/virtualbox-ose-72/Makefile b/emulators/virtualbox-ose-72/Makefile index ddd477c24c7d..67ede13f9803 100644 --- a/emulators/virtualbox-ose-72/Makefile +++ b/emulators/virtualbox-ose-72/Makefile @@ -1,438 +1,432 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.2.4 +DISTVERSION= 7.2.6 PORTREVISION?= 0 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \ LOCAL/vvd:docs PKGNAMESUFFIX?= -72 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 \ yasm:devel/yasm \ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \ xsltproc:textproc/libxslt LIB_DEPENDS= libpng.so:graphics/png \ - libcurl.so:ftp/curl + libcurl.so:ftp/curl \ + libogg.so:audio/libogg \ + libvorbis.so:audio/libvorbis \ + libvorbisenc.so:audio/libvorbis \ + libvpx.so:multimedia/libvpx RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-72 USES= compiler:c++17-lang cpe gnome iconv pkgconfig ssl tar:bzip2 CPE_VENDOR= oracle CPE_PRODUCT= vm_virtualbox USE_BINUTILS= yes USE_GNOME= libxml2 -#USE_QT= tools:build USE_RC_SUBR= vboxheadless vboxwatchdog HAS_CONFIGURE= yes -CONFIGURE_ARGS= --disable-java --passive-mesa --disable-docs -CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}" +CONFIGURE_ARGS+= --disable-docs --disable-java \ + --enable-libogg --enable-libvorbis --passive-mesa \ + --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-legacy \ virtualbox-ose-nox11-legacy \ virtualbox-ose \ virtualbox-ose-nox11 \ virtualbox-ose-70 \ virtualbox-ose-nox11-70 \ virtualbox-ose-71 \ virtualbox-ose-nox11-71 PORTSCOUT= limit:^7\.2\. 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 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 OGG \ +OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS \ PULSEAUDIO PYTHON QT6 R0LOGGING TPM UDPTUNNEL VBOXIMG \ - VDE VNC VORBIS VPX WEBSERVICE X11 + VDE VNC WEBSERVICE X11 OPTIONS_DEFAULT= AIO DBUS QT6 TPM 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 QT6) -OGG_DESC= Use libogg from audio/libogg instead of bundled one QT6_DESC= Build with Qt6 frontend (requires X11) R0LOGGING_DESC= Enable R0 logging (requires DEBUG) TPM_DESC= Enable TPM device emulation using sysutils/libtpms 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 -VORBIS_DESC= Use libvorbis from audio/libvorbis instead of bundled one -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= QT6 -OGG_LIB_DEPENDS= libogg.so:audio/libogg -OGG_CONFIGURE_ON= --enable-libogg 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 QT6_IMPLIES= X11 QT6_USES= gl qmake:no_env qt:6 xorg QT6_USE= QT=base,scxml,tools,translations \ XORG=xcb GL=gl QT6_CONFIGURE_OFF= --disable-qt R0LOGGING_IMPLIES= DEBUG TPM_LIB_DEPENDS= libtpms.so:sysutils/libtpms TPM_CONFIGURE_OFF= --disable-libtpms 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 -VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \ - libvorbisenc.so:audio/libvorbis -VORBIS_CONFIGURE_ON= --enable-libvorbis -VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx -VPX_CONFIGURE_OFF= --disable-libvpx WEBSERVICE_BUILD_DEPENDS= soapcpp2:devel/gsoap X11_USES= sdl xorg X11_USE= SDL=sdl XORG=x11,xcursor,xext,xinerama,xmu,xorgproto,xt X11_CONFIGURE_OFF= --build-headless ENV= .export ENV .include .if ${SLAVE_PORT} == no CONFLICTS_INSTALL+= virtualbox-ose-nox11-72 .else CONFLICTS_INSTALL+= virtualbox-ose-72 .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:MQT6} PLIST_SUB+= QT="" VBOX_PROGS+= VirtualBox VirtualBoxVM 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 VBOX_WITHOUT_DOCS=1 VBOX_GCC_std=-std=c++17 KMK_FLAGS+= -j${MAKE_JOBS_NUMBER} .include .if ${CHOSEN_COMPILER_TYPE} == clang 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 @${ECHO_CMD} 'VBOX_BLD_PYTHON = ${LOCALBASE}/bin/${PYTHON_VERSION}' >> \ ${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 .if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1500013 @${ECHO_CMD} 'VBoxSVC_LDFLAGS.freebsd = -lsys' >> ${WRKSRC}/LocalConfig.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/units/qt6.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ ${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ -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 @${REINPLACE_CMD} -e 's|curl_proxytype|long|g' \ ${WRKSRC}/src/VBox/Runtime/generic/http-curl.cpp post-patch-AIO-off: @${REINPLACE_CMD} 's|r3/freebsd/fileaio-freebsd.cpp|r3/posix/fileaio-posix.cpp|' \ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk post-patch-NLS-off: @${ECHO} 'VBOX_WITH_NLS =' >> ${WRKSRC}/LocalConfig.kmk @${ECHO} 'VBOX_WITH_MAIN_NLS =' >> ${WRKSRC}/LocalConfig.kmk @${ECHO} 'VBOX_WITH_PUEL_NLS =' >> ${WRKSRC}/LocalConfig.kmk @${ECHO} 'VBOX_WITH_VBOXMANAGE_NLS =' >> ${WRKSRC}/LocalConfig.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/python && \ ${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:MQT6} ${INSTALL_DATA} \ ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/VBox.png ${INSTALL_DATA} \ ${FILESDIR}/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 diff --git a/emulators/virtualbox-ose-72/distinfo b/emulators/virtualbox-ose-72/distinfo index e657c539342b..5ac40b201edd 100644 --- a/emulators/virtualbox-ose-72/distinfo +++ b/emulators/virtualbox-ose-72/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1761088888 -SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd -SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 -SHA256 (VirtualBox-docs-7.2.4.tar.bz2) = d9639bdee32d36c05436485b1dfd7d0c08736e53a6fcf8bda0c708681cf211e5 -SIZE (VirtualBox-docs-7.2.4.tar.bz2) = 9134788 -SHA256 (VBoxGuestAdditions_7.2.4.iso) = 66fa60b041fcda5d8b2ed22ba91bfafafaa3a5ff05c7d8ba01fbbe639669e153 -SIZE (VBoxGuestAdditions_7.2.4.iso) = 53153792 +TIMESTAMP = 1769696969 +SHA256 (VirtualBox-7.2.6.tar.bz2) = c58443a0e6fcc7fc7e84c1011a10823b3540c6a2b8f2e27c4d8971272baf09f7 +SIZE (VirtualBox-7.2.6.tar.bz2) = 211192590 +SHA256 (VirtualBox-docs-7.2.6.tar.bz2) = eab24e948dfdd5943a1fac924928f4b5bff0b24f3cdbd6ae9ffaaa914893dfc2 +SIZE (VirtualBox-docs-7.2.6.tar.bz2) = 9138179 +SHA256 (VBoxGuestAdditions_7.2.6.iso) = 740e9a729c944180a165188fd426f9a2e1a2581d654402a1b856f9755a1ffc97 +SIZE (VBoxGuestAdditions_7.2.6.iso) = 53391360 diff --git a/emulators/virtualbox-ose-72/files/patch-configure b/emulators/virtualbox-ose-72/files/patch-configure index 6e5b1f151854..37feb02e76cd 100644 --- a/emulators/virtualbox-ose-72/files/patch-configure +++ b/emulators/virtualbox-ose-72/files/patch-configure @@ -1,117 +1,117 @@ ---- configure.orig 2025-08-13 19:37:05 UTC +--- configure.orig 2026-01-27 12:44:16 UTC +++ configure -@@ -155,10 +155,14 @@ if [ "$OS" = "freebsd" ]; then +@@ -156,10 +156,14 @@ if [ "$OS" = "freebsd" ]; then 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" -@@ -1171,6 +1175,9 @@ extern "C" int main(int argc, char** argv) +@@ -1172,6 +1176,9 @@ extern "C" int main(int argc, char** argv) printf("found version %d.%d.%d", SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); - #if SDL_VERSION_ATLEAST(1,2,7) + #if SDL_VERSION_ATLEAST(1,2,15) +#if !defined(SDL_VIDEO_DRIVER_X11) +#error SDL must be compiled with X11 support +#endif printf(", OK.\n"); return 0; #else -@@ -1255,7 +1262,7 @@ EOF +@@ -1256,7 +1263,7 @@ EOF #endif } EOF - if test_compile "-lasound" asound asound; then + if test_compile "$INCALSA $LIBALSA -lasound" asound asound; then test_execute fi } -@@ -1559,6 +1566,7 @@ EOF +@@ -1560,6 +1567,7 @@ EOF SDKQT6=$PATH_SDK_QT6 fi FLGQT6="-framework QtCore -std=c++17 -Wl,-rpath,`L_to_PATH "$LIBQT6"`" + FLGQT6="$FLGQT6 -std=c++11" else log_failure "Qt6 framework not found (can be disabled using --disable-qt)" fail -@@ -2125,8 +2133,8 @@ EOF +@@ -2127,8 +2135,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 -@@ -2246,7 +2254,7 @@ check_gsoap() +@@ -2262,7 +2270,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 -@@ -2619,7 +2627,7 @@ for option in "$@"; do +@@ -2637,7 +2645,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 Darwin (at least for macports) static OpenSSL also needs zlib. [ "$OS" = "darwin" ] && LIBCRYPTO="$LIBCRYPTO ${OPENSSLDIR}/lib/libz.a" # On Linux static OpenSSL typically needs a few additional libraries. -@@ -2978,12 +2986,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then - [ $WITH_JAVA -eq 1 ] && check_java +@@ -3000,12 +3008,22 @@ if [ $ONLY_ADDITIONS -eq 0 ]; then + [ $WITH_DXVK -eq 1 ] && check_dxvk # 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" + 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 # 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 -@@ -2999,14 +3017,6 @@ if [ "$OS" = "linux" ]; then +@@ -3021,14 +3039,6 @@ if [ "$OS" = "linux" ]; then cnf_append "VBOX_WITHOUT_LINUX_TEST_BUILDS" "1" fi if [ $ONLY_ADDITIONS -eq 0 ]; then - if [ $WITH_ALSA -eq 1 ]; then - check_alsa - else - cnf_append "VBOX_WITH_AUDIO_ALSA" "" - fi - if [ $WITH_DBUS -eq 0 ]; then - cnf_append "VBOX_WITH_DBUS" "" - fi - if [ $WITH_DEVMAPPER -eq 1 ]; then - check_libdevmapper - else + if [ $WITH_DXVK -eq 0 ]; then + cnf_append "VBOX_WITH_DXVK" "" + fi diff --git a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile index 37c1596cfe87..70ee8d7b5d10 100644 --- a/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile +++ b/emulators/virtualbox-ose-72/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile @@ -1,38 +1,38 @@ ---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2025-10-16 14:25:29 UTC +--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2026-01-27 12:48:10 UTC +++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile @@ -34,9 +34,8 @@ KMOD = vboxguest # SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0 # KMOD = vboxguest -+CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS ++CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_GUEST -DIN_GUEST_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM --CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM -DVBOX_WITH_64_BITS_GUESTS +-CFLAGS += -DRT_OS_FREEBSD -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -Iinclude -I. -Ir0drv -w -DVBGL_VBOXGUEST -DVBOX_WITH_HGCM - .if (${MACHINE_ARCH} == "i386") CFLAGS += -DRT_ARCH_X86 .elif (${MACHINE_ARCH} == "amd64") @@ -91,6 +90,7 @@ SRCS += \ handletable.c \ handletablectx.c \ once.c \ + term.c \ thread.c .PATH: ${.CURDIR}/common/string @@ -163,6 +163,7 @@ SRCS += \ .PATH: ${.CURDIR}/r0drv SRCS += \ + alloc-ef-r0drv.c \ alloc-r0drv.c \ initterm-r0drv.c \ memobj-r0drv.c \ @@ -196,7 +197,7 @@ SRCS += \ SRCS += \ log-vbox.c \ logbackdoor.c \ - RTLogWriteVmm-amd64-x86. + RTLogWriteVmm-amd64-x86.c .include diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp index a6b7c5d6285c..673af173c5ad 100644 --- a/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_Additions_common_VBoxService_VBoxServiceVMInfo.cpp @@ -1,87 +1,77 @@ ---- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig 2025-10-17 08:52:40 UTC +--- src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp.orig 2026-01-27 12:48:12 UTC +++ src/VBox/Additions/common/VBoxService/VBoxServiceVMInfo.cpp -@@ -77,8 +77,8 @@ +@@ -116,8 +116,8 @@ # include # include /* getpwuid */ # include -# if !defined(RT_OS_OS2) && !defined(RT_OS_FREEBSD) && !defined(RT_OS_HAIKU) -# include /** @todo FreeBSD 9 should have this. */ +# if !defined(RT_OS_OS2) && !defined(RT_OS_HAIKU) +# include # endif # ifdef RT_OS_OS2 # include -@@ -573,7 +573,7 @@ static void vgsvcVMInfoWriteFixedProperties(void) +@@ -795,7 +795,7 @@ void VGSvcVMInfoAddUserToList(PVBOXSERVICEVMINFOUSERLI } --#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */ +-#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_OS2) && !defined(RT_OS_HAIKU) && !defined(RT_OS_FREEBSD) ++#if !defined(RT_OS_WINDOWS) && !defined(RT_OS_OS2) && !defined(RT_OS_HAIKU) + /** + * Worker for vgsvcVMInfoWriteUsers that uses the utmpx.h interface to gather + * users that are logged in. +@@ -806,7 +806,7 @@ static void vgsvcVMInfoAddUsersFromUTmpX(PVBOXSERVICEV + utmpx *ut_user; + while ((ut_user = getutxent()) != NULL) + { +-# ifdef RT_OS_DARWIN /* No ut_user->ut_session on Darwin */ ++# if defined(RT_OS_DARWIN) || defined(RT_OS_FREEBSD) /* No ut_user->ut_session on Darwin/FreeBSD */ + VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid); + # else + VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n", +@@ -822,7 +822,7 @@ static void vgsvcVMInfoAddUsersFromUTmpX(PVBOXSERVICEV + } + #endif + +-#if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris or FreeBSD. */ +#if defined(VBOX_WITH_DBUS) && (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) /* Not yet for Solaris. */ - /* - * Simple wrappers to work around compiler-specific va_list madness. - */ -@@ -702,12 +702,6 @@ static int vgsvcVMInfoWriteUsers(void) - #ifdef RT_OS_WINDOWS - rc = VGSvcVMInfoWinWriteUsers(&g_VMInfoPropCache, &pszUserList, &cUsersInList); + + /** @name Simple wrappers to work around compiler-specific va_list madness. + * @{ +@@ -1274,12 +1274,6 @@ static int vgsvcVMInfoWriteUsers(void) + doesn't technically need them). */ + int rc = VGSvcVMInfoWinQueryUserListAndUpdateInfo(&UserGatherer, &g_VMInfoPropCache); -#elif defined(RT_OS_FREEBSD) - /** @todo FreeBSD: Port logged on user info retrieval. - * However, FreeBSD 9 supports utmpx, so we could use the code - * block below (?). */ -- rc = VERR_NOT_IMPLEMENTED; +- int rc = VERR_NOT_IMPLEMENTED; - #elif defined(RT_OS_HAIKU) /** @todo Haiku: Port logged on user info retrieval. */ - rc = VERR_NOT_IMPLEMENTED; -@@ -733,7 +727,7 @@ static int vgsvcVMInfoWriteUsers(void) - while ( (ut_user = getutxent()) - && RT_SUCCESS(rc)) - { --# ifdef RT_OS_DARWIN /* No ut_user->ut_session on Darwin */ -+# if defined(RT_OS_DARWIN) || defined(RT_OS_FREEBSD) /* No ut_user->ut_session on Darwin/FreeBSD */ - VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32)\n", ut_user->ut_user, ut_user->ut_type, ut_user->ut_pid); - # else - VGSvcVerbose(4, "Found entry '%s' (type: %d, PID: %RU32, session: %RU32)\n", -@@ -749,7 +743,7 @@ static int vgsvcVMInfoWriteUsers(void) - } - - # ifdef VBOX_WITH_DBUS --# if defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSB. */ -+# if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD) /* Not yet for Solaris. */ - DBusError dbErr; - DBusConnection *pConnection = NULL; - int rc2 = RTDBusLoadLib(); -@@ -1074,7 +1068,7 @@ static int vgsvcVMInfoWriteUsers(void) - if ( fHaveLibDbus - && dbus_error_is_set(&dbErr)) - dbus_error_free(&dbErr); --# endif /* RT_OS_LINUX */ -+# endif /* RT_OS_LINUX || RT_OS_FREEBSD */ - # endif /* VBOX_WITH_DBUS */ + int rc = VERR_NOT_IMPLEMENTED; +@@ -1294,12 +1288,12 @@ static int vgsvcVMInfoWriteUsers(void) + /* Gather using setutxent & getutxent to source the utmp file. */ + vgsvcVMInfoAddUsersFromUTmpX(&UserGatherer); - /* Calc the string length. */ -@@ -1109,7 +1103,7 @@ static int vgsvcVMInfoWriteUsers(void) - RTMemFree(papszUsers); +-# if defined(VBOX_WITH_DBUS) && defined(RT_OS_LINUX) /* Not yet for Solaris/FreeBSD. */ ++# if defined(VBOX_WITH_DBUS) && (defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)) /* Not yet for Solaris. */ + /* Gather using various DBus interface. */ + vgsvcVMInfoDBusAddToUserList(&UserGatherer); + # endif - endutxent(); /* Close utmpx file. */ -#endif /* !RT_OS_WINDOWS && !RT_OS_FREEBSD && !RT_OS_HAIKU && !RT_OS_OS2 */ +#endif /* !RT_OS_WINDOWS && !RT_OS_HAIKU && !RT_OS_OS2 */ - Assert(RT_FAILURE(rc) || cUsersInList == 0 || (pszUserList && *pszUserList)); - -@@ -1403,6 +1397,15 @@ static int vgsvcVMInfoWriteNetwork(void) - - RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Status", cIfsReported); - VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, pIfCurr->ifa_flags & IFF_UP ? "Up" : "Down"); -+ -+# ifdef RT_OS_FREEBSD /** @todo Check the other guests. */ -+ RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported); -+ int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name); -+ if (RT_SUCCESS(rc2)) -+ VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name); -+ else -+ VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL); -+# endif - - cIfsReported++; - } + if (RT_SUCCESS(rc)) + g_cVMInfoLoggedInUsers = UserGatherer.cUsersInList; +@@ -1583,7 +1577,7 @@ static int vgsvcVMInfoWriteNetwork(void) + RTStrPrintf(szPropPath, sizeof(szPropPath), "/VirtualBox/GuestInfo/Net/%RU32/Name", cIfsReported); + int rc2 = RTStrValidateEncoding(pIfCurr->ifa_name); + if (RT_SUCCESS(rc2)) +- VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name); ++ VGSvcPropCacheUpdateF(&g_VMInfoPropCache, szPropPath, "%s", pIfCurr->ifa_name); + else + VGSvcPropCacheUpdate(&g_VMInfoPropCache, szPropPath, NULL); + # endif diff --git a/emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp b/emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMR3AsyncCompletionFileNormal.cpp similarity index 95% rename from emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp rename to emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMR3AsyncCompletionFileNormal.cpp index b460847d13f0..2fcd8317d9b3 100644 --- a/emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMAsyncCompletionFileNormal.cpp +++ b/emulators/virtualbox-ose-72/files/patch-src_VBox_VMM_VMMR3_PDMR3AsyncCompletionFileNormal.cpp @@ -1,59 +1,59 @@ ---- src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp.orig 2025-08-13 19:52:13 UTC -+++ src/VBox/VMM/VMMR3/PDMAsyncCompletionFileNormal.cpp +--- src/VBox/VMM/VMMR3/PDMR3AsyncCompletionFileNormal.cpp.orig 2026-01-27 12:58:32 UTC ++++ src/VBox/VMM/VMMR3/PDMR3AsyncCompletionFileNormal.cpp @@ -37,6 +37,13 @@ #include #include #include +/* TBR: we need a complicated crawl through the data structure to get the AIO system limits + to check when considering growing the number of active AIO requests.... */ +/* We need the PDMInternal *before* the UVM, or it isn't visible afterwards. (src/VBox/VMM/include/PDMInternal.h) */ +#include +#include +#include +/* TBR: end of extra includes. */ #include "PDMAsyncCompletionFileInternal.h" @@ -1119,8 +1126,40 @@ static int pdmacFileAioMgrNormalProcessTaskList(PPDMAC */ pdmacFileAioMgrNormalBalanceLoad(pAioMgr); #else - /* Grow the I/O manager */ - pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING; + /* TBR: Check the global AIO system limit before growing. + This is the complicateds crawl through the data structure mentioned + near the start of this file. + There HAS to be a better way and better time to get this limit! */ + PPDMASYNCCOMPLETIONEPCLASS pEpClass = NULL; + PCPDMASYNCCOMPLETIONEPCLASSOPS pEndpointOps = NULL; + PDMASYNCCOMPLETIONEPCLASSTYPE enmClassType; + PPDMASYNCCOMPLETIONEPCLASSFILE pEpClassFile = NULL; + PVM pVM = NULL; + PUVM pUVM = NULL; + unsigned int aio_system_reqests_max = RTFILEAIO_UNLIMITED_REQS; + pEpClass = pEndpoint->Core.pEpClass; + AssertMsg((NULL != pEpClass),("ep->class is NULL")); + pEndpointOps = pEpClass->pEndpointOps; + AssertMsg((NULL != pEndpointOps),("ep->class->ops is NULL")); + enmClassType = pEndpointOps->enmClassType; + AssertMsg((PDMASYNCCOMPLETIONEPCLASSTYPE_FILE == enmClassType), + ("ep->class->ops->type != PDMASYNCCOMPLETIONEPCLASSTYPE_FILE")); + pVM = pEpClass->pVM; + AssertMsg((NULL != pVM),("ep->class->VM is NULL")); + pUVM = pVM->pUVM; + AssertMsg((NULL != pUVM),("ep->class->VM->UVM is NULL")); + pEpClassFile = (PPDMASYNCCOMPLETIONEPCLASSFILE) (pUVM->pdm.s.apAsyncCompletionEndpointClass[enmClassType]); + AssertMsg((NULL != pEpClassFile),("ep->class->VM->UVM->pdn[globals] is NULL")); + aio_system_reqests_max = pEpClassFile->cReqsOutstandingMax; +#if 0 + /* A one time check during development to verify getting the right number. */ + AssertMsg((256 != aio_system_reqests_max), + ("aio_system_reqests_max != 256 (val=%u)",aio_system_reqests_max)); +#endif + if (RT_UNLIKELY( aio_system_reqests_max == RTFILEAIO_UNLIMITED_REQS + || (pAioMgr->cRequestsActiveMax+PDMACEPFILEMGR_REQS_STEP) <= aio_system_reqests_max)) + /* Grow the I/O manager */ + pAioMgr->enmState = PDMACEPFILEMGRSTATE_GROWING; #endif } } diff --git a/emulators/virtualbox-ose-72/files/pkg-message.in b/emulators/virtualbox-ose-72/files/pkg-message.in index 27c14e0a2e2a..c685c2e82f18 100644 --- a/emulators/virtualbox-ose-72/files/pkg-message.in +++ b/emulators/virtualbox-ose-72/files/pkg-message.in @@ -1,120 +1,102 @@ [ { type: install message: < 15GB 32: ( 32-max(1, 32/32)*1024*1024*1024/4096 = 8126464 => 31GB 48: ( 48-max(1, 48/32)*1024*1024*1024/4096 = 12189696 => 46.5GB 64: ( 64-max(1, 64/32)*1024*1024*1024/4096 = 16252928 => 62GB 128: (128-max(1,128/32)*1024*1024*1024/4096 = 32505856 => 124GB 256: (256-max(1,256/32)*1024*1024*1024/4096 = 65011712 => 248GB When assigning IP addresses in host-only mode from ranges outside of VirtualBox's defaults, the respective ranges need to be listed in %%VBOX_ETC%%/networks.conf (https://bugs.freebsd.org/259399). Check the wiki page for known issues and troubleshooting: https://wiki.freebsd.org/VirtualBox -Please report any problems to emulation@. Thanks! +Please report any problems to vbox@ and emulation@. Thanks! EOM } { type: upgrade maximum_version: 6.1.22 message: < .if ${SLAVE_PORT} == no CONFLICTS_INSTALL+= virtualbox-ose-additions-nox11-72 .else CONFLICTS_INSTALL+= virtualbox-ose-additions-72 .endif VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers INPUTDIR= ${PREFIX}/lib/xorg/modules/input VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/additions VBOX_SBINS= VBoxControl \ VBoxService \ mount_vboxvfs BUILD_WRKSRC= ${VBOX_BIN}/src KMK_ARCH= freebsd.${ARCH:S/i386/x86/} KMK_CONFIG+= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys VBOX_ONLY_ADDITIONS=1 .if ${PORT_OPTIONS:MX11} .else VBOX_WITH_X11= .endif .include post-patch: @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> \ ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> \ ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> \ ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'CXXDEFS += _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR' >> \ ${WRKSRC}/LocalConfig.kmk .if ${COMPILER_TYPE} == clang @${REINPLACE_CMD} -e 's| -finline-limit=8000||' \ -e 's| -fno-merge-constants||' \ -e 's| -mpreferred-stack-boundary=2||' ${WRKSRC}/Config.kmk .endif @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \ ${WRKSRC}/kBuild/header.kmk ${WRKSRC}/kBuild/units/qt4.kmk \ ${WRKSRC}/kBuild/units/qt5.kmk ${WRKSRC}/kBuild/sdks/LIBSDL.kmk \ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ ${WRKSRC}/src/VBox/Additions/x11/vboxmouse/Makefile.kmk \ ${WRKSRC}/src/VBox/Additions/x11/vboxvideo/Makefile.kmk @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ ${WRKSRC}/configure .if empty(ICONV_LIB) @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk \ ${WRKSRC}/src/VBox/Additions/x11/VBoxClient/Makefile.kmk @${ECHO_CMD} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk .endif .if ${OSVERSION} >= 1500038 @${ECHO_CMD} 'HAVE_MNTOPTS_IN_LIBUTIL = 1' >> \ ${WRKSRC}/LocalConfig.kmk .endif post-patch-X11-on: @${ECHO_CMD} 'VBOX_USE_SYSTEM_XORG_HEADERS = 1' >> \ ${WRKSRC}/LocalConfig.kmk pre-build: cd ${WRKSRC} && ${SH} -c \ ". env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk" do-install: ${MKDIR} ${STAGEDIR}${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/src/vboxguest/vboxguest.ko \ ${STAGEDIR}${KMODDIR} ${INSTALL_KLD} ${VBOX_BIN}/vboxvfs.ko ${STAGEDIR}${KMODDIR} ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib ${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \ ${STAGEDIR}${PREFIX}/sbin/ do-install-X11-on: ${INSTALL_PROGRAM} ${VBOX_BIN}/VBoxClient ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_SCRIPT} \ ${WRKSRC}/src/VBox/Additions/x11/Installer/98vboxadd-xclient \ ${STAGEDIR}${PREFIX}/bin/VBoxClient-all # X11 autostart ${MKDIR} ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ ${INSTALL_DATA} \ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ ${STAGEDIR}${PREFIX}/etc/xdg/autostart/ # KDE autostart ${MKDIR} ${STAGEDIR}${PREFIX}/share/autostart/ ${INSTALL_DATA} \ ${WRKSRC}/src/VBox/Additions/x11/Installer/vboxclient.desktop \ ${STAGEDIR}${PREFIX}/share/autostart/ ${MKDIR} ${STAGEDIR}${VIDEODIR} ${INSTALL_LIB} ${VBOX_BIN}/vboxvideo_drv_system.so \ ${STAGEDIR}${VIDEODIR}/vboxvideo_drv.so ${MKDIR} ${STAGEDIR}${INPUTDIR} ${INSTALL_LIB} ${VBOX_BIN}/vboxmouse_drv_system.so \ ${STAGEDIR}${INPUTDIR}/vboxmouse_drv.so .include diff --git a/emulators/virtualbox-ose-additions-72/distinfo b/emulators/virtualbox-ose-additions-72/distinfo index 729b45a32abd..7eec869a6fba 100644 --- a/emulators/virtualbox-ose-additions-72/distinfo +++ b/emulators/virtualbox-ose-additions-72/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1761088888 -SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd -SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 +TIMESTAMP = 1769696969 +SHA256 (VirtualBox-7.2.6.tar.bz2) = c58443a0e6fcc7fc7e84c1011a10823b3540c6a2b8f2e27c4d8971272baf09f7 +SIZE (VirtualBox-7.2.6.tar.bz2) = 211192590 diff --git a/emulators/virtualbox-ose-additions-nox11-72/Makefile b/emulators/virtualbox-ose-additions-nox11-72/Makefile index 59e4e48e8416..ed7edcf49366 100644 --- a/emulators/virtualbox-ose-additions-nox11-72/Makefile +++ b/emulators/virtualbox-ose-additions-nox11-72/Makefile @@ -1,8 +1,8 @@ -PORTREVISION= 1 +PORTREVISION= 0 PKGNAMESUFFIX= -additions-nox11-72 MASTERDIR= ${.CURDIR}/../virtualbox-ose-additions-72 OPTIONS_EXCLUDE= DBUS DEBUG OPENGL X11 .include "${MASTERDIR}/Makefile" diff --git a/emulators/virtualbox-ose-kmod-72/Makefile b/emulators/virtualbox-ose-kmod-72/Makefile index 1fbfaa53f6df..0369e50dc7c3 100644 --- a/emulators/virtualbox-ose-kmod-72/Makefile +++ b/emulators/virtualbox-ose-kmod-72/Makefile @@ -1,114 +1,114 @@ PORTNAME= virtualbox-ose -DISTVERSION= 7.2.4 +DISTVERSION= 7.2.6 CATEGORIES= emulators MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/ PKGNAMESUFFIX= -kmod-72 DISTNAME= VirtualBox-${DISTVERSION} MAINTAINER= vbox@FreeBSD.org COMMENT= VirtualBox kernel module for FreeBSD WWW= https://www.virtualbox.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING ONLY_FOR_ARCHS= amd64 BUILD_DEPENDS= kmk:devel/kBuild USES= cpe compiler:c++17-lang kmod tar:bzip2 CPE_VENDOR= oracle CPE_PRODUCT= vm_virtualbox USE_RC_SUBR= vboxnet HAS_CONFIGURE= yes CONFIGURE_ARGS+= --build-headless CONFIGURE_ARGS+= --disable-alsa \ --disable-dbus \ --disable-docs \ --disable-libvpx \ --disable-pulse \ --disable-python \ --disable-sdl-ttf \ --disable-xpcom CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}" CONFLICTS_INSTALL= virtualbox-ose-kmod-legacy \ virtualbox-ose-kmod \ virtualbox-ose-kmod-70 PATCHDIR= ${.CURDIR}/../${PORTNAME}-72/files PORTSCOUT= limit:^7\.2\. SUB_FILES= pkg-message SUB_LIST= OPSYS=${OPSYS} OSREL=${OSREL} WRKSRC= ${WRKDIR}/VirtualBox-${DISTVERSION} OPTIONS_DEFINE= DEBUG INVARIANTS VIMAGE OPTIONS_DEFAULT= VIMAGE OPTIONS_SUB= yes DEBUG_DESC= Debug symbols, additional logs and assertions INVARIANTS_DESC= Use if kernel is compiled with INVARIANTS option VIMAGE_DESC= VIMAGE virtual networking support INVARIANTS_CFLAGS= -DINVARIANTS .include VBOX_BIN= ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/src VBOX_KMODS= vboxdrv \ vboxnetadp \ vboxnetflt BUILD_WRKSRC= ${VBOX_BIN} KMK_BUILDTYPE= release KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys KMK_FLAGS= HostDrivers-scripts vboxdrv-src VBoxNetFlt-src VBoxNetAdp-src .if ${PORT_OPTIONS:MDEBUG} KMK_FLAGS+= BUILD_TYPE=debug KMK_BUILDTYPE= debug EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-Config.kmk \ ${PATCHDIR}/extrapatch-src-VBox-HostDrivers-Support-freebsd-Makefile MAKE_ARGS+= DEBUG_FLAGS="-O1 -g" .endif .if ${ARCH} == i386 KMK_ARCH= freebsd.x86 .else KMK_ARCH= freebsd.${ARCH} .endif .include SYMBOLSUFFIX= debug PLIST_SUB+= SYMBOLSUFFIX=${SYMBOLSUFFIX} post-patch: @${ECHO_CMD} 'VBOX_WITH_VBOXDRV = 1' > ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_WITH_NETADP = 1' >> ${WRKSRC}/LocalConfig.kmk @${ECHO_CMD} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk .if ${PORT_OPTIONS:MVIMAGE} @${ECHO_CMD} 'VBOX_WITH_NETFLT_VIMAGE = 1' >> ${WRKSRC}/LocalConfig.kmk .endif @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g; s|which \$$\*|which \$$1|g' \ ${WRKSRC}/Config.kmk ${WRKSRC}/configure @${REINPLACE_CMD} \ -e 's|\$$KBUILDDIR_BIN/kmk_sed|${LOCALBASE}/bin/kmk_sed|g' \ ${WRKSRC}/configure pre-build: cd ${WRKSRC}/src/VBox/HostDrivers && ${SH} -c \ '. ${WRKSRC}/env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}' do-install: ${MKDIR} ${STAGEDIR}${KMODDIR} .for i in ${VBOX_KMODS} ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko ${STAGEDIR}${KMODDIR} .if ${PORT_OPTIONS:MDEBUG} ${INSTALL_KLD} ${VBOX_BIN}/${i}/${i}.ko.${SYMBOLSUFFIX} ${STAGEDIR}${KMODDIR} .endif .endfor .include diff --git a/emulators/virtualbox-ose-kmod-72/distinfo b/emulators/virtualbox-ose-kmod-72/distinfo index 729b45a32abd..7eec869a6fba 100644 --- a/emulators/virtualbox-ose-kmod-72/distinfo +++ b/emulators/virtualbox-ose-kmod-72/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1761088888 -SHA256 (VirtualBox-7.2.4.tar.bz2) = d281ec981b5f580211a0cedd1b75a1adcb0fbfcbb768d8c2bf4429f4763e8bbd -SIZE (VirtualBox-7.2.4.tar.bz2) = 207084201 +TIMESTAMP = 1769696969 +SHA256 (VirtualBox-7.2.6.tar.bz2) = c58443a0e6fcc7fc7e84c1011a10823b3540c6a2b8f2e27c4d8971272baf09f7 +SIZE (VirtualBox-7.2.6.tar.bz2) = 211192590 diff --git a/emulators/virtualbox-ose-nox11-72/Makefile b/emulators/virtualbox-ose-nox11-72/Makefile index d415932ea096..b3eb31d41f59 100644 --- a/emulators/virtualbox-ose-nox11-72/Makefile +++ b/emulators/virtualbox-ose-nox11-72/Makefile @@ -1,11 +1,11 @@ PORTREVISION= 0 PKGNAMESUFFIX= -nox11-72 MASTERDIR= ${.CURDIR}/../virtualbox-ose-72 -OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \ - QT6 VORBIS VPX X11 +OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS PULSEAUDIO \ + QT6 X11 SLAVE_PORT= yes .include "${MASTERDIR}/Makefile"