aboutsummaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose
diff options
context:
space:
mode:
authorVladimir Druzenko <vvd@FreeBSD.org>2023-06-01 14:44:38 +0000
committerVladimir Druzenko <vvd@FreeBSD.org>2023-06-01 14:53:00 +0000
commite6b21a9e3f0a605c06d54737a8ff4d6db82dabe5 (patch)
tree2db3a77bbe26ce27a959cd960de7b2d0ea6f1832 /emulators/virtualbox-ose
parent078b0e57e4cbf2f608d1b057ea358fb835626ced (diff)
downloadports-e6b21a9e3f0a605c06d54737a8ff4d6db82dabe5.tar.gz
ports-e6b21a9e3f0a605c06d54737a8ff4d6db82dabe5.zip
emulators/virtualbox-ose: on 14 "Failed to construct device 'VMMDev' instance #0 (VERR_INTERNAL_ERROR_3)"
Force llvm from ports from 11 to 14 - by default it'll pick 14. Use VBOX_LLVM_VER in make.conf to define different llvm. PR: 270189 Reviewed by: cy, grahamperrin Tested by: cy, grahamperrin, groenveld@acm.org, rkoberman@gmail.com Approved by: arrowd Differential Revision: https://reviews.freebsd.org/D40254
Diffstat (limited to 'emulators/virtualbox-ose')
-rw-r--r--emulators/virtualbox-ose/Makefile21
1 files changed, 16 insertions, 5 deletions
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index cda9d742e9eb..0e8237057799 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
PORTVERSION= 6.1.44
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${PORTVERSION}/
DISTFILES= VirtualBox-${PORTVERSION}${EXTRACT_SUFX} ${GUESTADDITIONS}
@@ -217,14 +217,25 @@ EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src_VBox_Devices_PC_DevFwCommon.cpp
.endif
.if ${CHOSEN_COMPILER_TYPE} == clang
-# llvm10 in FreeBSD before r364284 miscompiles virtualbox 6.1 causing errors.
-# force llvm11 from ports
+# 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 && \
- (${OSVERSION} < 1203502 || ${OSVERSION} >= 1300000 && ${OSVERSION} < 1300109)
+ (${OSVERSION} < 1203502 || ${OSVERSION} >= 1300000 && ${OSVERSION} < 1300109 || \
+ ${OSVERSION} >= 1302505 && ${OSVERSION} < 1400000 || ${OSVERSION} >= 1400079)
+# 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}
-VBOX_LLVM_VER?= 11
+.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
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Devices-PC-ipxe-Makefile.kmk