summaryrefslogtreecommitdiff
path: root/emulators/virtualbox-ose
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/virtualbox-ose')
-rw-r--r--emulators/virtualbox-ose/Makefile8
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk13
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp20
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp2
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h4
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h11
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp20
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c13
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp53
9 files changed, 131 insertions, 13 deletions
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index 8e6d0f8ba790..d868733954cb 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -1,6 +1,6 @@
PORTNAME= virtualbox-ose
DISTVERSION= 6.1.50
-PORTREVISION?= 12
+PORTREVISION?= 14
CATEGORIES= emulators
MASTER_SITES= https://download.virtualbox.org/virtualbox/${DISTVERSION}/:src \
LOCAL/bofh/emulators/virtualbox-ose:docs
@@ -40,7 +40,9 @@ CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}"
CONFLICTS_INSTALL= virtualbox-ose-legacy \
virtualbox-ose-nox11-legacy \
virtualbox-ose-70 \
- virtualbox-ose-nox11-70
+ virtualbox-ose-nox11-70 \
+ virtualbox-ose-71 \
+ virtualbox-ose-nox11-71
PORTSCOUT= limit:^6\.
SUB_FILES= pkg-message
@@ -73,7 +75,7 @@ PLIST_SUB= GUEST_VER=${DISTVERSION} \
SLAVE_PORT?= no
OPTIONS_DEFINE= AIO ALSA DBUS DEBUG DOCS GUESTADDITIONS NLS OPUS PULSEAUDIO \
- PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC WEBSERVICE VPX X11
+ PYTHON QT5 R0LOGGING UDPTUNNEL VBOXIMG VDE VNC VPX WEBSERVICE X11
OPTIONS_DEFAULT= AIO DBUS QT5 UDPTUNNEL VNC WEBSERVICE X11
.if ${SLAVE_PORT} == no
OPTIONS_DEFAULT+= PYTHON
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
index 4d327e1089b1..270472c045e3 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_mount__vboxvfs_Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2018-11-29 19:03:21 UTC
+--- src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk.orig 2025-05-11 03:54:13 UTC
+++ src/VBox/Additions/freebsd/mount_vboxvfs/Makefile.kmk
-@@ -0,0 +1,23 @@
+@@ -0,0 +1,28 @@
+# $Id: Makefile.kmk $
+## @file
+# Sub-Makefile for the FreeBSD Shared folder mount utility.
@@ -19,8 +19,13 @@
+
+PROGRAMS += mount_vboxvfs
+mount_vboxvfs_TEMPLATE = NewVBoxGuestR3Exe
-+mount_vboxvfs_SOURCES = $(MOUNT)/getmntopts.c \
-+ mount_vboxvfs.c
++mount_vboxvfs_SOURCES = mount_vboxvfs.c
++
++ifdef HAVE_MNTOPTS_IN_LIBUTIL
++mount_vboxvfs_LIBS = util
++else
++mount_vboxvfs_SOURCES += $(MOUNT)/getmntopts.c
++endif
+
+include $(FILE_KBUILD_SUB_FOOTER)
+
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
new file mode 100644
index 000000000000..949c413d4ba3
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA.cpp.orig 2024-01-11 12:18:20 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
+@@ -169,7 +169,7 @@
+ # ifdef RT_OS_DARWIN
+ # include "DevVGA-SVGA3d-cocoa.h"
+ # endif
+-# ifdef RT_OS_LINUX
++# if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ # ifdef IN_RING3
+ #include "DevVGA-SVGA3d-glLdr.h"
+ # endif
+@@ -3520,7 +3520,7 @@ static DECLCALLBACK(int) vmsvgaR3FifoLoop(PPDMDEVINS p
+ PVMSVGAR3STATE pSVGAState = pThisCC->svga.pSvgaR3State;
+ int rc;
+
+-# if defined(VBOX_WITH_VMSVGA3D) && defined(RT_OS_LINUX)
++# if defined(VBOX_WITH_VMSVGA3D) && (defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX))
+ if (pThis->svga.f3DEnabled)
+ {
+ /* The FIFO thread may use X API for accelerated screen output. */
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
index c9574654562d..4bee4df8ce47 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2021-01-07 15:39:16 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp.orig 2024-01-11 12:18:21 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.cpp
@@ -186,7 +186,7 @@ int glLdrInit(PPDMDEVINS pDevIns)
pfn_wglDeleteContext = 0;
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
index 3069950947cd..34edb2b49799 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-glLdr.h
@@ -1,6 +1,6 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2021-01-07 15:39:17 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h.orig 2024-01-11 12:18:21 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-glLdr.h
-@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglMakeCurrent)(HDC, HGLRC);
+@@ -338,7 +338,7 @@ GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
GLPFN BOOL (WINAPI *pfn_wglShareLists)(HGLRC, HGLRC);
#define wglShareLists pfn_wglShareLists
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h
new file mode 100644
index 000000000000..1378f39b6a59
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-internal.h
@@ -0,0 +1,11 @@
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h.orig 2024-01-11 12:18:21 UTC
++++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-internal.h
+@@ -1175,7 +1175,7 @@ typedef struct VMSVGAHWSCREEN
+ typedef struct VMSVGAHWSCREEN
+ {
+ uint32_t u32Reserved0;
+-#if defined(RT_OS_LINUX)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /* OpenGL context, which is used for the screen updates. */
+ GLXContext glxctx;
+
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
index 96058e78ff1f..b055a2606c79 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Graphics_DevVGA-SVGA3d-ogl.cpp
@@ -1,4 +1,4 @@
---- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2021-01-07 15:39:17 UTC
+--- src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp.orig 2024-01-11 12:18:21 UTC
+++ src/VBox/Devices/Graphics/DevVGA-SVGA3d-ogl.cpp
@@ -1189,7 +1189,7 @@ int vmsvga3dTerminate(PVGASTATECC pThisCC)
RTSemEventDestroy(pState->WndRequestSem);
@@ -27,6 +27,24 @@
/**
+@@ -3461,7 +3461,7 @@ int vmsvga3dContextDefineOgl(PVGASTATECC pThisCC, uint
+ return VINF_SUCCESS;
+ }
+
+-#if defined(RT_OS_LINUX)
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_LINUX)
+ /*
+ * HW accelerated graphics output.
+ */
+@@ -3932,7 +3932,7 @@ int vmsvga3dBackSurfaceBlitToScreen(PVGASTATECC pThisC
+ return VINF_SUCCESS;
+ }
+
+-#else /* !RT_OS_LINUX */
++#else /* !RT_OS_FREEBSD && !RT_OS_LINUX */
+
+ int vmsvga3dBackDefineScreen(PVGASTATE pThis, PVGASTATECC pThisCC, VMSVGASCREENOBJECT *pScreen)
+ {
@@ -4052,7 +4052,7 @@ static int vmsvga3dContextDestroyOgl(PVGASTATECC pThis
AssertRC(rc);
#elif defined(RT_OS_DARWIN)
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
index cc243baf7aed..058d66c29a37 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_memobj-r0drv-freebsd.c
@@ -46,9 +46,9 @@
+ struct pctrie_iter pages;
+ vm_page_t page;
+
-+ pctrie_iter_init(&pages, pMemFreeBSD->pObject);
++ vm_page_iter_init(&pages, pMemFreeBSD->pObject);
+ VM_RADIX_FORALL(page, &pages)
-+ vm_page_unwire(page, PQ_INACTIVE);
++ (void)vm_page_unwire_noq(page);
+#endif
VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
vm_object_deallocate(pMemFreeBSD->pObject);
@@ -174,6 +174,15 @@
if (PhysHighest != NIL_RTHCPHYS)
VmPhysAddrHigh = PhysHighest;
+@@ -453,7 +488,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
+ {
+ Assert(enmType == RTR0MEMOBJTYPE_PHYS);
+ VM_OBJECT_WLOCK(pMemFreeBSD->pObject);
+- pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_page_find_least(pMemFreeBSD->pObject, 0));
++ pMemFreeBSD->Core.u.Phys.PhysBase = VM_PAGE_TO_PHYS(vm_radix_lookup_ge(&pMemFreeBSD->pObject->rtree, 0));
+ VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
+ pMemFreeBSD->Core.u.Phys.fAllocated = true;
+ }
@@ -466,6 +501,7 @@ static int rtR0MemObjFreeBSDAllocPhysPages(PPRTR0MEMOB
rtR0MemObjDelete(&pMemFreeBSD->Core);
}
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp
new file mode 100644
index 000000000000..7be568f82f37
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r3_xml.cpp
@@ -0,0 +1,53 @@
+--- src/VBox/Runtime/r3/xml.cpp.orig 2024-01-11 12:26:05 UTC
++++ src/VBox/Runtime/r3/xml.cpp
+@@ -1837,12 +1837,20 @@ static void xmlParserBaseGenericError(void *pCtx, cons
+ va_end(args);
+ }
+
++#if LIBXML_VERSION >= 21206
++static void xmlStructuredErrorFunc(void *userData, const xmlError *error) RT_NOTHROW_DEF
++{
++ NOREF(userData);
++ NOREF(error);
++}
++#else
+ static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error)
+ {
+ NOREF(pCtx);
+ /* we expect that there is always a trailing NL */
+ LogRel(("XML error at '%s' line %d: %s", error->file, error->line, error->message));
+ }
++#endif
+
+ XmlParserBase::XmlParserBase()
+ {
+@@ -1851,7 +1859,11 @@ XmlParserBase::XmlParserBase()
+ throw std::bad_alloc();
+ /* per-thread so it must be here */
+ xmlSetGenericErrorFunc(NULL, xmlParserBaseGenericError);
++#if LIBXML_VERSION >= 21206
++ xmlSetStructuredErrorFunc(NULL, xmlStructuredErrorFunc);
++#else
+ xmlSetStructuredErrorFunc(NULL, xmlParserBaseStructuredError);
++#endif
+ }
+
+ XmlParserBase::~XmlParserBase()
+@@ -1912,7 +1924,7 @@ void XmlMemParser::read(const void *pvBuf, size_t cbSi
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }
+@@ -2172,7 +2184,7 @@ void XmlFileParser::read(const RTCString &strFilename,
+ pcszFilename,
+ NULL, // encoding = auto
+ options)))
+- throw XmlError(xmlCtxtGetLastError(m_ctxt));
++ throw XmlError((xmlErrorPtr)xmlCtxtGetLastError(m_ctxt));
+
+ doc.refreshInternals();
+ }