diff --git a/emulators/virtualbox-ose-72/Makefile b/emulators/virtualbox-ose-72/Makefile index fe41d449c234..8366e55ae779 100644 --- a/emulators/virtualbox-ose-72/Makefile +++ b/emulators/virtualbox-ose-72/Makefile @@ -1,429 +1,432 @@ PORTNAME= virtualbox-ose DISTVERSION= 7.2.2 -PORTREVISION?= 0 +PORTREVISION?= 1 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 RUN_DEPENDS= ${LOCALBASE}/etc/rc.d/vboxnet:emulators/virtualbox-ose-kmod-72 USES= compiler:c++17-lang cpe gnome iconv pkgconfig qt:6 ssl tar:bzip2 CPE_VENDOR= oracle CPE_PRODUCT= vm_virtualbox USE_BINUTILS= yes USE_GNOME= libxml2 USE_QT= 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}" 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 PULSEAUDIO \ - PYTHON QT6 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VORBIS VPX \ - WEBSERVICE X11 -OPTIONS_DEFAULT= AIO DBUS QT6 UDPTUNNEL VNC WEBSERVICE X11 +OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OGG \ + PULSEAUDIO PYTHON QT6 R0LOGGING TPM UDPTUNNEL VBOXIMG \ + VDE VNC VORBIS VPX 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_USES= gl qmake:no_env 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 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/files/patch-Config.kmk b/emulators/virtualbox-ose-72/files/patch-Config.kmk index c284262eb189..d0e23bd4f3df 100644 --- a/emulators/virtualbox-ose-72/files/patch-Config.kmk +++ b/emulators/virtualbox-ose-72/files/patch-Config.kmk @@ -1,421 +1,430 @@ ---- Config.kmk.orig 2025-08-28 22:09:24 UTC +--- Config.kmk.orig 2025-10-02 22:45:13 UTC +++ Config.kmk @@ -624,11 +624,11 @@ endif # 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 @@ -641,11 +641,11 @@ VBOX_WITH_PCI_PASSTHROUGH = # (disabled with 6.1, since it's not complete/useful enough) VBOX_WITH_PCI_PASSTHROUGH = # Enable statically linked dbus support. -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. @@ -653,7 +653,7 @@ VBOX_WITH_VMSVGA = 1 # Enable vmsvga (svga2) graphics device variant, 2D part VBOX_WITH_VMSVGA = 1 # Enable vmsvga (svga2) graphics device variant, 3D part -if1of ($(KBUILD_TARGET), darwin linux win) +if1of ($(KBUILD_TARGET), darwin freebsd linux win) VBOX_WITH_VMSVGA3D = 1 endif # Enable vmsvga (svga2) graphics device variant, 3D part, VGPU10 DX commands +@@ -788,7 +788,7 @@ VBOX_WITH_TPM = 1 + # Enable TPM device emulation support. + VBOX_WITH_TPM = 1 + # Enable libtpms, required for the in process TPM emulation. +-if1of ($(KBUILD_TARGET), linux darwin win solaris) ++if1of ($(KBUILD_TARGET), freebsd linux darwin win solaris) + VBOX_WITH_LIBTPMS = 1 + endif + # Disable keyboard HID Consumer/Desktop control keys passthrough @@ -847,7 +847,7 @@ VBOX_WITH_VBOXMANAGE_NLS = 1 #endif # Set this to prefix all C symbols in XPCOM, to avoid dynamic linking problems # caused by our XPCOM library polluting the symbol namespace for system libs. -if1of ($(KBUILD_TARGET), linux solaris) +if1of ($(KBUILD_TARGET), freebsd linux solaris) VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1 endif # The webservices api. @@ -1376,10 +1376,6 @@ endif endif endif -ifeq ($(KBUILD_TARGET),freebsd) - VBOX_WITH_DOCS = -endif - ifeq ($(KBUILD_TARGET),haiku) VBOX_WITH_VRDP_RDESKTOP = # Permanent (no working SDL). -@@ -1563,7 +1559,7 @@ ifdef VBOX_OSE +@@ -1562,7 +1558,7 @@ ifdef VBOX_OSE # not yet 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 -@@ -3637,19 +3633,19 @@ ifndef VBOX_GCC_std +@@ -3636,19 +3632,19 @@ ifndef VBOX_GCC_std # ## @todo consider maxing this out. ifndef VBOX_GCC_std - if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64 linux.arm64) # Go straight for c++17 here. +# if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.arm64 linux.arm64) # Go straight for c++17 here. VBOX_GCC_std := -std=c++17 - # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes. - #VBOX_GCC_std := -std=c++17 - else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is - VBOX_GCC_std := -std=c++11 - # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12. - #VBOX_GCC_std := -std=gnu++17 - else if "$(VBOX_GCC_VERSION_CXX)" vge 40800 - VBOX_GCC_std := -std=c++11 - else if "$(VBOX_GCC_VERSION_CXX)" vge 40600 - VBOX_GCC_std := -std=c++0x - endif +# # else if "$(VBOX_CLANG_VERSION_CXX)" vge 60000 # Most language features complete by v6. Lib stuff was less complete in v6, but hopefully acceptable for out purposes. +# #VBOX_GCC_std := -std=c++17 +# else if "$(VBOX_CLANG_VERSION_CXX)" vge 50000 # darwin Xcode 5 allegedly knows what C++11 is +# VBOX_GCC_std := -std=c++11 +# # else if "$(VBOX_GCC_VERSION_CXX)" vge 70000 # Language feature P0512R0 was v8, rest v7 or earlier. Most lib stuff present in 7, complete in v12. +# #VBOX_GCC_std := -std=gnu++17 +# else if "$(VBOX_GCC_VERSION_CXX)" vge 40800 +# VBOX_GCC_std := -std=c++11 +# else if "$(VBOX_GCC_VERSION_CXX)" vge 40600 +# VBOX_GCC_std := -std=c++0x +# endif endif ifndef VBOX_VCC_std if $(VBOX_VCC_TOOL_STEM) >= VCC141 # since 2017 15.3 -@@ -5688,11 +5684,11 @@ ifeq ($(VBOX_LDR_FMT),elf) +@@ -5687,11 +5683,11 @@ ifeq ($(VBOX_LDR_FMT),elf) # Solaris driver signing. TEMPLATE_VBoxR0_POST_CMDS = $(VBOX_SIGN_DRIVER_CMDS) else - TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g + TEMPLATE_VBoxR0_LDFLAGS = -nostdlib -Bsymbolic -g -fuse-ld=bfd ## @todo WTF doesn't the globals work? Debug info is supposed to be split everywhere. GRR TEMPLATE_VBoxR0_LD_DEBUG = split endif - if "$(KBUILD_TARGET)" == "linux" && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS) + if ( "$(KBUILD_TARGET)" == "linux" || "$(KBUILD_TARGET)" == "freebsd") && !defined(VBOX_WITH_KMOD_WRAPPED_R0_MODS) VBOX_WITH_VBOXR0_AS_DLL = 1 TEMPLATE_VBoxR0_DLLSUFF = .r0 TEMPLATE_VBoxR0_CFLAGS += -fPIC -@@ -5703,7 +5699,7 @@ ifeq ($(VBOX_LDR_FMT),elf) +@@ -5702,7 +5698,7 @@ ifeq ($(VBOX_LDR_FMT),elf) else TEMPLATE_VBoxR0_CFLAGS.amd64 += -mcmodel=kernel TEMPLATE_VBoxR0_CXXFLAGS.amd64 += -mcmodel=kernel - endif +endif ifdef VBOX_WITH_KMOD_WRAPPED_R0_MODS # For BTF/pahold issue we use -g1 TEMPLATE_VBoxR0_DEFS += VBOX_WITH_KMOD_WRAPPED_R0_MODS TEMPLATE_VBoxR0_LDFLAGS.linux += $(PATH_ROOT)/src/VBox/HostDrivers/Support/linux/VBoxR0-wrapped.lds -@@ -6100,7 +6096,7 @@ ifeq ($(KBUILD_TARGET),freebsd) +@@ -6099,7 +6095,7 @@ ifeq ($(KBUILD_TARGET),freebsd) # x86 FreeBSD (6.2 or something): # cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE \ # -nostdinc -I- -I. -I@ -I@/contrib/altq -I@/../include -I/usr/include \ - # -finline-limit=8000 -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 \ + # -fno-common -mno-align-long-strings \ # -mno-mmx -mno-3dnow -mno-sse -mno-sse2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs \ # -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions \ # -std=c99 -c ../my.c -@@ -6111,7 +6107,7 @@ ifeq ($(KBUILD_TARGET),freebsd) +@@ -6110,7 +6106,7 @@ ifeq ($(KBUILD_TARGET),freebsd) # # AMD64 FreeBSD (7.1): # cc -O2 -fno-strict-aliasing -pipe -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -I. -I@ -I@/contrib/altq \ - # -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \ + # --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common \ # -fno-omit-frame-pointer -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx \ # -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding \ # -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign \ -@@ -6193,7 +6189,7 @@ ifeq ($(KBUILD_TARGET),freebsd) +@@ -6192,7 +6188,7 @@ ifeq ($(KBUILD_TARGET),freebsd) | 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 -@@ -6228,7 +6224,7 @@ ifeq ($(KBUILD_TARGET),netbsd) +@@ -6227,7 +6223,7 @@ ifeq ($(KBUILD_TARGET),netbsd) $(VBOX_GCC_fdiagnostics-show-option) $(VBOX_GCC_fdiagnostics-color) \ -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \ -Wimplicit-function-declaration -Werror-implicit-function-declaration \ - -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \ + -O2 -ffreestanding -fno-strict-aliasing -fno-common \ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ -nostdinc -std=c99 -msoft-float TEMPLATE_VBoxR0Drv_CFLAGS.x86 = -m32 -mno-mmx -mno-sse -mno-avx \ -@@ -6239,7 +6235,7 @@ ifeq ($(KBUILD_TARGET),netbsd) +@@ -6238,7 +6234,7 @@ ifeq ($(KBUILD_TARGET),netbsd) -fno-asynchronous-unwind-tables -mno-fp-ret-in-387 TEMPLATE_VBoxR0Drv_CXXFLAGS = -fno-exceptions -fno-rtti \ $(VBOX_GCC_WARN) -Wpointer-arith -Winline \ - -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \ + -O2 -fno-strict-aliasing -fno-common \ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \ -nostdinc -msoft-float TEMPLATE_VBoxR0Drv_CXXFLAGS.x86 = $(TEMPLATE_VBoxR0Drv_CFLAGS.x86) -@@ -6565,11 +6561,11 @@ else # the gcc guys +@@ -6562,11 +6558,11 @@ else # the gcc guys TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread m rt dl else ifeq ($(KBUILD_TARGET),os2) TEMPLATE_VBoxR3Exe_TOOL = GXX3OMF - TEMPLATE_VBoxR3Exe_LATE_LIBS = socket iconv + TEMPLATE_VBoxR3Exe_LATE_LIBS = socket else ifeq ($(KBUILD_TARGET),darwin) TEMPLATE_VBoxR3Exe_TOOL = $(VBOX_GCC_TOOL) TEMPLATE_VBoxR3Exe_LATE_LIBS = - TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party libiconv (from macports). + TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG # Avoid 3rd party lib (from macports). TEMPLATE_VBoxR3Exe_SDKS.darwin = $(VBOX_DARWIN_DEF_SDK_SDKS) TEMPLATE_VBoxR3Exe_DEFS.darwin = $(VBOX_DARWIN_DEF_SDK_DEFS) TEMPLATE_VBoxR3Exe_CFLAGS.darwin = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -fno-common -@@ -6585,24 +6581,29 @@ else # the gcc guys +@@ -6582,24 +6578,29 @@ else # the gcc guys else ifeq ($(KBUILD_TARGET),haiku) TEMPLATE_VBoxR3Exe_TOOL = GXX3 TEMPLATE_VBoxR3Exe_POST_CMDS = $(VBOX_HAIKU_XRES_SETVER_CMDS) - TEMPLATE_VBoxR3Exe_LATE_LIBS = network iconv stdc++ supc++ + TEMPLATE_VBoxR3Exe_LATE_LIBS = network stdc++ supc++ TEMPLATE_VBoxR3Exe_LIBPATH += \ /boot/common/lib # Haiku uses PIC by default... TEMPLATE_VBoxR3Exe_CFLAGS += -fno-pic TEMPLATE_VBoxR3Exe_CXXFLAGS += -fno-pic TEMPLATE_VBoxR3Exe_LDFLAGS += -fno-pic - else if1of ($(KBUILD_TARGET), freebsd openbsd) + else if1of ($(KBUILD_TARGET), freebsd) TEMPLATE_VBoxR3Exe_TOOL = GXX3 TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread + TEMPLATE_VBoxR3Exe_LDFLAGS = -Wl,-z,noexecstack,-z,relro $(VBOX_LD_as_needed) + TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd.x86 = -Wl,-z,notext TEMPLATE_VBoxR3Exe_INCS += \ - /usr/include \ - /usr/X11R6/include \ /usr/local/include TEMPLATE_VBoxR3Exe_LIBPATH += \ - /usr/lib \ - /usr/X11R6/lib \ /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 else ifeq ($(KBUILD_TARGET),netbsd) TEMPLATE_VBoxR3Exe_TOOL = GXX3 TEMPLATE_VBoxR3Exe_LATE_LIBS = pthread -@@ -6614,7 +6615,7 @@ else # the gcc guys +@@ -6611,7 +6612,7 @@ else # the gcc guys /usr/X11R7/lib else ifeq ($(KBUILD_TARGET),solaris) TEMPLATE_VBoxR3Exe_TOOL = GXX3PLAIN - TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU libiconv, for now at least. + TEMPLATE_VBoxR3Exe_DEFS += LIBICONV_PLUG _REENTRANT # Avoid the GNU lib, for now at least. if $(VBOX_GCC_VERSION_CC) < 30500 TEMPLATE_VBoxR3Exe_CFLAGS += -std=gnu99 endif -@@ -6630,6 +6631,7 @@ else # the gcc guys +@@ -6627,6 +6628,7 @@ else # the gcc guys 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 -@@ -6868,7 +6870,7 @@ else +@@ -6865,7 +6867,7 @@ else ifdef VBOX_WITH_NOCRT_STATIC TEMPLATE_VBoxR3StaticBase_DEFS += RT_WITH_NOCRT_WRAPPERS endif - ifn1of ($(KBUILD_TARGET), darwin linux solaris) + 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_VBoxR3StaticBase_CFLAGS = $(TEMPLATE_VBoxR3Exe_CFLAGS) -static TEMPLATE_VBoxR3StaticBase_CXXFLAGS = $(TEMPLATE_VBoxR3Exe_CXXFLAGS) -static -@@ -6936,7 +6938,7 @@ else +@@ -6933,7 +6935,7 @@ else $(SDK_VBoxZlib_LATE_LIBS) \ $(SDK_VBoxLibLzma_LIBS) if1of ($(KBUILD_TARGET), darwin freebsd) - TEMPLATE_VBoxR3Static_LATE_LIBS += iconv + TEMPLATE_VBoxR3Static_LATE_LIBS += else ifeq ($(KBUILD_TARGET),solaris) TEMPLATE_VBoxR3Static_LATE_LIBS += kstat endif -@@ -7137,6 +7139,7 @@ else ifn1of ($(KBUILD_TARGET), os2) +@@ -7134,6 +7136,7 @@ else ifn1of ($(KBUILD_TARGET), os2) else ifn1of ($(KBUILD_TARGET), os2) ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y. TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS)) + TEMPLATE_VBoxR3HardenedExe_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.freebsd)) TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux)) endif endif -@@ -7168,6 +7171,7 @@ ifn1of ($(KBUILD_TARGET), win os2) +@@ -7166,6 +7169,7 @@ ifn1of ($(KBUILD_TARGET), win os2) $(if-expr !defined(VBOX_WITHOUT_WINDOWS_KERNEL_CODE_SIGNING_CERT),-IntegrityCheck,) ifn1of ($(KBUILD_TARGET), win os2) TEMPLATE_VBoxR3HardenedTstDll_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3TstDll_LDFLAGS)) + 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 -@@ -7192,6 +7196,7 @@ ifndef VBOX_WITH_HARDENING +@@ -7190,6 +7194,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 -@@ -7570,7 +7575,7 @@ else # the GCC guys: +@@ -7567,7 +7572,7 @@ else # the GCC guys: endif TEMPLATE_VBoxMainExe_CXXFLAGS = -g $(VBOX_GCC_pipe) \ $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_Wno-multistatement-macros) $(VBOX_GCC_Wno-class-memaccess) -Wshadow \ - -fshort-wchar -fpermissive -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \ + -fshort-wchar -fexceptions -frtti $(VBOX_GCC_OPT) $(VBOX_GCC_FP) -fno-strict-aliasing \ $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_std) $(VBOX_GCC_IPRT_FMT_CHECK) \ $(VBOX_GCC_SANITIZER_FLAGS) if !defined("VBOX_GCC_Wno-delete-non-virtual-dtor") && defined("VBOX_GCC_Wno-non-virtual-dtor") -@@ -7633,10 +7638,19 @@ else # the GCC guys: +@@ -7630,10 +7635,19 @@ else # the GCC guys: else ifeq ($(KBUILD_TARGET),haiku) TEMPLATE_VBoxMainExe_TOOL = GXX3 TEMPLATE_VBoxMainExe_LATE_LIBS = $(LIB_RUNTIME) network stdc++ supc++ - else if1of ($(KBUILD_TARGET), freebsd openbsd) + else if1of ($(KBUILD_TARGET), freebsd) TEMPLATE_VBoxMainExe_TOOL = GXX3 TEMPLATE_VBoxMainExe_LATE_LIBS = $(LIB_RUNTIME) + TEMPLATE_VBoxMainExe_LDFLAGS = -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 -@@ -7668,6 +7682,7 @@ else # the GCC guys: +@@ -7665,6 +7679,7 @@ else # the GCC guys: 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 -@@ -8352,14 +8367,13 @@ ifdef VBOX_WITH_QTGUI +@@ -8350,14 +8365,13 @@ 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 + TEMPLATE_VBoxQtGuiExe_LIBS += /usr/local/lib/qt6/libQt6PrintSupport.so endif ifeq ($(KBUILD_TARGET),solaris) TEMPLATE_VBoxQtGuiExe_LDFLAGS.solaris = -Wl,-z,ignore # Same as VBOX_LD_as_needed. -@@ -8623,7 +8637,7 @@ else +@@ -8621,7 +8635,7 @@ else TEMPLATE_VBoxBldProg_LATE_LIBS = pthread m rt dl else ifeq ($(KBUILD_HOST),os2) TEMPLATE_VBoxBldProg_TOOL = GXX3OMF - TEMPLATE_VBoxBldProg_LATE_LIBS = socket iconv + TEMPLATE_VBoxBldProg_LATE_LIBS = socket else ifeq ($(KBUILD_HOST),darwin) TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) if "$(VBOX_DEF_MACOSX_VERSION_MIN)" == "10.7" || "$(VBOX_DARWIN_HOST_VERSION_MAJOR)" == "7" -@@ -8663,13 +8677,20 @@ else +@@ -8661,13 +8675,20 @@ else TEMPLATE_VBoxBldProg_LATE_LIBS = else ifeq ($(KBUILD_HOST),haiku) TEMPLATE_VBoxBldProg_TOOL = GXX3 - TEMPLATE_VBoxBldProg_LATE_LIBS = network iconv + TEMPLATE_VBoxBldProg_LATE_LIBS = network TEMPLATE_VBoxBldProg_LIBPATH += \ /boot/common/lib - else if1of ($(KBUILD_HOST), freebsd openbsd) + else if1of ($(KBUILD_HOST), freebsd) TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) TEMPLATE_VBoxBldProg_LATE_LIBS = pthread TEMPLATE_VBoxBldProg_INCS += \ + /usr/local/include + TEMPLATE_VBoxBldProg_LIBPATH += \ + /usr/local/lib + else ifeq ($(KBUILD_HOST), openbsd) + TEMPLATE_VBoxBldProg_TOOL = $(VBOX_GCC_TOOL) + TEMPLATE_VBoxBldProg_LIBS = pthread + TEMPLATE_VBoxBldProg_INCS += \ /usr/include \ /usr/X11R6/include \ /usr/local/include -@@ -8716,11 +8737,11 @@ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.darwin = \ +@@ -8714,11 +8735,11 @@ TEMPLATE_VBoxAdvBldProg_LATE_LIBS.darwin = \ $(TEMPLATE_VBoxBldProg_LATE_LIBS) TEMPLATE_VBoxAdvBldProg_LATE_LIBS.darwin = \ $(TEMPLATE_VBoxAdvBldProg_LATE_LIBS) \ - iconv \ + \ $(TEMPLATE_VBoxBldProg_LATE_LIBS.darwin) TEMPLATE_VBoxAdvBldProg_LATE_LIBS.freebsd = \ $(TEMPLATE_VBoxAdvBldProg_LATE_LIBS) \ - iconv \ + \ rt \ $(TEMPLATE_VBoxBldProg_LATE_LIBS.freebsd) TEMPLATE_VBoxAdvBldProg_LATE_LIBS.linux = \ -@@ -8813,6 +8834,7 @@ else # the gcc guys +@@ -8811,6 +8832,7 @@ else # the gcc guys # Do not inherit sanitizer flags from VBoxR3Exe in guest executables. Deal with them separately. TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.debug = $(NO_SUCH_VARIABLE) TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.debug = $(NO_SUCH_VARIABLE) + TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.freebsd)) TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS.linux)) TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.debug = $(NO_SUCH_VARIABLE) TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LDFLAGS)) -@@ -8836,7 +8858,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) +@@ -8834,7 +8856,7 @@ else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) ifeq ($(KBUILD_TARGET),linux) # As few libs as possible on linux. TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = pthread rt m dl else if1of ($(KBUILD_TARGET), darwin freebsd openbsd) - TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS) iconv + TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS) else ifeq ($(KBUILD_TARGET),solaris) TEMPLATE_VBoxGuestR3ExeBase_LATE_LIBS = $(TEMPLATE_$(TEMPLATE_VBoxGuestR3ExeBase_EXTENDS)_LATE_LIBS) nsl endif -@@ -8849,6 +8871,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP +@@ -8847,6 +8869,7 @@ TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMP $(VBOX_GCC_fno-stack-protector) TEMPLATE_VBoxGuestR3ExeBase_CFLAGS.linux = $(TEMPLATE_VBoxGuestR3ExeBase_CXXFLAGS.linux) # The GNU_HASH ELF tag is not supported by older systems. +TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.freebsd += $(VBOX_LD_hash_style_sysv) TEMPLATE_VBoxGuestR3ExeBase_LDFLAGS.linux += $(VBOX_LD_hash_style_sysv) -@@ -9085,6 +9108,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET +@@ -9083,6 +9106,7 @@ TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET TEMPLATE_VBoxGuestR3XFree86Mod_CXXFLAGS.linux = $(VBOX_GCC_fno-stack-protector) # Remove symvers.h TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) # The GNU_HASH ELF tag is not supported by older glibc dynamic linkers. +TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.freebsd = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv)) TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.linux = $(subst -Wl$(COMMA),,$(VBOX_LD_hash_style_sysv)) TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) TEMPLATE_VBoxGuestR3XFree86Mod_LDFLAGS := -r -@@ -9128,7 +9152,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TARGET) +@@ -9126,7 +9150,7 @@ TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TARGET) TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS = $(VBOX_LIB_VBGL_R3_XORG) TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) -TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.freebsd = iconv +TEMPLATE_VBoxGuestR3XOrgMod_LATE_LIBS.freebsd = TEMPLATE_VBoxGuestR3XOrgMod_LIBS = $(NO_SUCH_VARIABLE) # These three aren't necessary, just being careful. TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TYPE) = $(NO_SUCH_VARIABLE) TEMPLATE_VBoxGuestR3XOrgMod_LIBS.$(KBUILD_TARGET) = $(NO_SUCH_VARIABLE) diff --git a/emulators/virtualbox-ose-nox11-72/Makefile b/emulators/virtualbox-ose-nox11-72/Makefile index d415932ea096..bd2cd188d048 100644 --- a/emulators/virtualbox-ose-nox11-72/Makefile +++ b/emulators/virtualbox-ose-nox11-72/Makefile @@ -1,11 +1,11 @@ -PORTREVISION= 0 +PORTREVISION= 1 PKGNAMESUFFIX= -nox11-72 MASTERDIR= ${.CURDIR}/../virtualbox-ose-72 OPTIONS_EXCLUDE= ALSA DBUS DEBUG GUESTADDITIONS DOCS NLS OGG PULSEAUDIO \ QT6 VORBIS VPX X11 SLAVE_PORT= yes .include "${MASTERDIR}/Makefile"