diff --git a/repos/ports/ports/virtualbox.hash b/repos/ports/ports/virtualbox.hash index 1dbc9fae6c..c4109f8250 100644 --- a/repos/ports/ports/virtualbox.hash +++ b/repos/ports/ports/virtualbox.hash @@ -1 +1 @@ -91cce27022768a9213a803ed6530319cc1228fb0 +d2beb20e61ac2fa809c41a656e4b2c3c71ead4f6 diff --git a/repos/ports/ports/virtualbox.port b/repos/ports/ports/virtualbox.port index 1199d216cd..eb6d39344a 100644 --- a/repos/ports/ports/virtualbox.port +++ b/repos/ports/ports/virtualbox.port @@ -13,8 +13,10 @@ URL(virtualbox_sdk) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VI DIR(virtualbox_sdk) := src/app/virtualbox_sdk SHA(virtualbox_sdk) := 8f95a891a6cb5f712fcb0ed34f2b8bf6b1e59f4c -PATCHES_DIR := src/virtualbox/patches +PATCHES_DIR := src/virtualbox/patches +PATCHES_DIR_VBOX4 := src/virtualbox/patches PATCHES := $(addprefix $(PATCHES_DIR)/, $(shell cat $(REP_DIR)/$(PATCHES_DIR)/series)) +PATCHES += $(addprefix $(PATCHES_DIR_VBOX4)/, $(shell cat $(REP_DIR)/$(PATCHES_DIR_VBOX4)/series_common)) PATCH_OPT := -p1 $(call check_tool,xsltproc) diff --git a/repos/ports/src/virtualbox/include/VBox/com/defs.h b/repos/ports/src/virtualbox/include/VBox/com/defs.h index f969325433..8cce7b58e4 100644 --- a/repos/ports/src/virtualbox/include/VBox/com/defs.h +++ b/repos/ports/src/virtualbox/include/VBox/com/defs.h @@ -14,6 +14,7 @@ #define BEGIN_COM_MAP(X) #define COM_INTERFACE_ENTRY(X) #define COM_INTERFACE_ENTRY2(X,Y) +#define COM_INTERFACE_ENTRY_AGGREGATE(X, Y) #define END_COM_MAP() #define HRESULT nsresult diff --git a/repos/ports/src/virtualbox/include/VBox/com/ptr.h b/repos/ports/src/virtualbox/include/VBox/com/ptr.h index 939f434a0d..758ff8df1c 100644 --- a/repos/ports/src/virtualbox/include/VBox/com/ptr.h +++ b/repos/ports/src/virtualbox/include/VBox/com/ptr.h @@ -60,6 +60,7 @@ class ComPtr { } bool isNull () const { return _obj == nullptr; } + bool isNotNull() const { return _obj != nullptr; } T ** asOutParam() { return &_obj; } diff --git a/repos/ports/src/virtualbox/include/xpcom/nsISupportsImpl.h b/repos/ports/src/virtualbox/include/xpcom/nsISupportsImpl.h index 9a7fa09d1f..6c54a0dcf8 100644 --- a/repos/ports/src/virtualbox/include/xpcom/nsISupportsImpl.h +++ b/repos/ports/src/virtualbox/include/xpcom/nsISupportsImpl.h @@ -8,7 +8,15 @@ #define NS_DECL_CLASSINFO(x) #define NS_IMPL_THREADSAFE_ADDREF(x) #define NS_IMPL_THREADSAFE_RELEASE(x) -#define NS_IMPL_QUERY_INTERFACE1_CI(x, y) -#define NS_IMPL_CI_INTERFACE_GETTER1(x, y) +#define NS_IMPL_QUERY_INTERFACE1_CI(a, b) +#define NS_IMPL_QUERY_INTERFACE2_CI(a, b, c) +#define NS_IMPL_QUERY_INTERFACE3_CI(a, b, c, d) +#define NS_IMPL_QUERY_INTERFACE4_CI(a, b, c, d, e) +#define NS_IMPL_QUERY_INTERFACE5_CI(a, b, c, d, e, f) +#define NS_IMPL_CI_INTERFACE_GETTER1(a, b) +#define NS_IMPL_CI_INTERFACE_GETTER2(a, b, c) +#define NS_IMPL_CI_INTERFACE_GETTER3(a, b, c, d) +#define NS_IMPL_CI_INTERFACE_GETTER4(a, b, c, d, e) +#define NS_IMPL_CI_INTERFACE_GETTER5(a, b, c, d, e, f) #endif diff --git a/repos/ports/src/virtualbox/patches/series b/repos/ports/src/virtualbox/patches/series index 601556490d..f2ac146427 100644 --- a/repos/ports/src/virtualbox/patches/series +++ b/repos/ports/src/virtualbox/patches/series @@ -1,28 +1,11 @@ -acpi_drv.patch audio.patch -dev_e1000.patch -eminternal.patch -iconv.patch -mouse.patch -pdm_driver.patch -poke.patch -sharedfolder_pagelist.patch -time-log-deadlock.patch -tm_retries.patch +ide.patch vbox_inc.patch vbox_main.patch -network.patch vga_fb.patch vga_vbva.patch -vmdk.patch vmmdev.patch -avoid_yield.patch -serial.patch -rem_irq.patch usb.patch tm_smp.patch -posix.patch -hostservice.patch vbox_dd.patch -ide.patch force_ioapic.patch diff --git a/repos/ports/src/virtualbox/patches/series_common b/repos/ports/src/virtualbox/patches/series_common new file mode 100644 index 0000000000..8f4a7e108e --- /dev/null +++ b/repos/ports/src/virtualbox/patches/series_common @@ -0,0 +1,17 @@ +acpi_drv.patch +avoid_yield.patch +dev_e1000.patch +eminternal.patch +hostservice.patch +iconv.patch +mouse.patch +network.patch +pdm_driver.patch +poke.patch +posix.patch +rem_irq.patch +serial.patch +sharedfolder_pagelist.patch +time-log-deadlock.patch +tm_retries.patch +vmdk.patch diff --git a/repos/ports/src/virtualbox/rt.cc b/repos/ports/src/virtualbox/rt.cc index b62e3985bd..eacbccebd9 100644 --- a/repos/ports/src/virtualbox/rt.cc +++ b/repos/ports/src/virtualbox/rt.cc @@ -234,6 +234,10 @@ static void *alloc_mem(size_t cb, const char *pszTag, bool executable = false) } } +#ifndef RT_NO_THROW + /* not defined in vbox5, but this code is used by vbox4 and vbox5 */ + #define RT_NO_THROW +#endif /* * Called by the recompiler to allocate executable RAM