aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2016-07-22 20:28:01 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2016-07-22 20:28:01 +0000
commit3721902bc88f4e57b74481cad14d8dd4f4a8eb39 (patch)
treeb79e70df15d050dcaa30698ab080311b9fed35af
parentc148cbfcf72401261f731d5023e6e7761102321a (diff)
downloadports-3721902bc88f4e57b74481cad14d8dd4f4a8eb39.tar.gz
ports-3721902bc88f4e57b74481cad14d8dd4f4a8eb39.zip
Notes
-rw-r--r--emulators/virtualbox-ose-additions/Makefile46
-rw-r--r--emulators/virtualbox-ose-additions/distinfo5
-rw-r--r--emulators/virtualbox-ose-additions/files/vboxguest.in59
-rw-r--r--emulators/virtualbox-ose-additions/pkg-plist1
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile8
-rw-r--r--emulators/virtualbox-ose-kmod/distinfo5
-rw-r--r--emulators/virtualbox-ose-kmod/files/vboxnet.in56
-rw-r--r--emulators/virtualbox-ose/Makefile105
-rw-r--r--emulators/virtualbox-ose/distinfo9
-rw-r--r--emulators/virtualbox-ose/files/extrapatch-Config.kmk20
-rw-r--r--emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri179
-rw-r--r--emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri247
-rw-r--r--emulators/virtualbox-ose/files/extrapatch-src_VBox_Additions_freebsd_Makefile.kmk11
-rw-r--r--emulators/virtualbox-ose/files/patch-Config.kmk68
-rw-r--r--emulators/virtualbox-ose/files/patch-configure64
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c205
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile16
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxmouse-Makefile.kmk2
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxvideo-vboxvideo_dri.c14
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Audio-ossaudio.c19
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Input-PS2M.cpp11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-Network-slirp-resolv_conf_parser.c11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-DevOHCI.cpp11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-freebsd-USBProxyDevice-freebsd.cpp175
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VBoxManage-VBoxManageModifyVM.cpp11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk13
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-src-runtime-UIKeyboardHandler.cpp20
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_line.h11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_point.h19
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile33
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv29
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-Makefile.kmk12
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-ConsoleImpl2.cpp34
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-MachineImpl.cpp24
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp6
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp21
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk14
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk9
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-checksum-manifest3.cpp11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-dbg-dbgmodcodeview.cpp11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r0drv-freebsd-memobj-r0drv-freebsd.c45
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp83
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-posix-utf8-posix.cpp18
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp20
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_Makefile.kmk10
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_VBoxClient_display.cpp13
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostALSAAudio.cpp18
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk41
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_vbox-cpuhotplug.dsl64
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Devices_build_VBoxDD.cpp25
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp34
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c12
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_USBProxyServiceFreeBSD.cpp28
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c62
-rw-r--r--emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c43
-rw-r--r--emulators/virtualbox-ose/files/vboxheadless.in15
-rw-r--r--emulators/virtualbox-ose/pkg-plist178
57 files changed, 860 insertions, 1274 deletions
diff --git a/emulators/virtualbox-ose-additions/Makefile b/emulators/virtualbox-ose-additions/Makefile
index 7e5d81624263..54400d51e3e1 100644
--- a/emulators/virtualbox-ose-additions/Makefile
+++ b/emulators/virtualbox-ose-additions/Makefile
@@ -2,13 +2,11 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.3.38
+PORTVERSION= 5.0.26
CATEGORIES= emulators
-MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
- http://tmp.chruetertee.ch/ \
- http://disasterarea.chruetertee.ch/
+MASTER_SITES= http://download.virtualbox.org/virtualbox/${PORTVERSION}/
PKGNAMESUFFIX= -additions
-DISTNAME= VirtualBox-${DISTVERSION}
+DISTNAME= VirtualBox-${PORTVERSION}
MAINTAINER= vbox@FreeBSD.org
COMMENT= VirtualBox additions for FreeBSD guests
@@ -31,7 +29,6 @@ MAKE_JOBS_UNSAFE= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-alsa \
- --disable-dbus \
--disable-docs \
--disable-libvpx \
--disable-pulse \
@@ -40,19 +37,25 @@ CONFIGURE_ARGS+= --disable-alsa \
--disable-xpcom
CONFIGURE_ARGS+= --nofatal --with-gcc="${CC}" --with-g++="${CXX}"
-CONFLICTS_INSTALL= virtualbox-ose-[3,4]* \
+CONFLICTS_INSTALL= virtualbox-ose-[3-5]* \
virtualbox-ose-additions-devel-[3,4]* \
virtualbox-ose-devel-[3,4]* \
virtualbox-ose-legacy-[3,4]*
-OPTIONS_DEFINE= DEBUG OPENGL X11
-OPTIONS_DEFAULT= X11
+OPTIONS_DEFINE= DBUS DEBUG OPENGL X11
+OPTIONS_DEFAULT= DBUS X11
OPTIONS_SUB= yes
+DBUS_CONFIGURE_OFF= --disable-dbus
+DBUS_LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus
OPENGL_CONFIGURE_OFF= --disable-opengl
.include <bsd.port.options.mk>
+.if ${PORT_OPTIONS:MOPENGL} && empty(PORT_OPTIONS:MX11)
+BROKEN= OPENGL requires X11 support. Run 'make config' again!
+.endif
+
VIDEODIR= ${PREFIX}/lib/xorg/modules/drivers
INPUTDIR= ${PREFIX}/lib/xorg/modules/input
@@ -73,7 +76,7 @@ MAKE_ARGS+= DEBUG_FLAGS="-O1 -g"
.endif
.if ${PORT_OPTIONS:MOPENGL}
-USE_XORG+= xcomposite xdamage xext xfixes
+USE_XORG= xcomposite xdamage xfixes
USE_GL= gl
VBOX_LIBS= VBoxOGL.so \
VBoxOGLarrayspu.so \
@@ -82,11 +85,13 @@ VBOX_LIBS= VBoxOGL.so \
VBoxOGLfeedbackspu.so \
VBoxOGLpackspu.so \
VBoxOGLpassthroughspu.so
+.else
+EXTRA_PATCHES= ${PATCHDIR}/extrapatch-src_VBox_Additions_freebsd_Makefile.kmk
.endif
.if ${PORT_OPTIONS:MX11}
BUILD_DEPENDS+= ${LOCALBASE}/bin/X:x11-servers/xorg-server
-USE_XORG= xcursor xmu inputproto xorg-server xrandr
+USE_XORG+= inputproto x11 xcursor xext xmu xorg-server xrandr xt
USES+= pkgconfig
VBOX_WITH_X11= 1
XORG_DRV_ABI= pkgconf --modversion xorg-server | \
@@ -101,10 +106,12 @@ KMK_ARCH= freebsd.x86
KMK_ARCH= freebsd.${ARCH}
.endif
+SUB_LIST+= VBOX_KMODS="${VBOX_KMODS}"
+
.include <bsd.port.pre.mk>
.if ${COMPILER_TYPE} == clang
-EXTRA_PATCHES= ${PATCHDIR}/extrapatch-Config.kmk \
+EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-Config.kmk \
${PATCHDIR}/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk \
${PATCHDIR}/extrapatch-src-VBox-Additions-x11-x11include-xorg-server-1.17.1-compiler.h
.if ${COMPILER_FEATURES:Mlibc++}
@@ -112,15 +119,15 @@ EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Additions-x11-VBoxClient-Makefil
.endif
.endif
-.if ${OSVERSION} < 1001514
-EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri
-.else
+.if ${OSVERSION} >= 1001514
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Additions-freebsd-drm-Makefile
EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Additions-freebsd-drm-Makefile.kmk
-EXTRA_PATCHES+= ${PATCHDIR}/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri2
.endif
-SUB_LIST+= KMODDIR=${KMODDIR}
+VBOX_KMODS= vboxguest:pci/vboxguest
+.if ${PORT_OPTIONS:MOPENGL}
+VBOX_KMODS+= vboxvideo:vgapci/vboxvideo
+.endif
pre-everything::
.if ${ARCH} == "amd64"
@@ -134,11 +141,15 @@ pre-everything::
post-patch:
@${ECHO} 'VBOX_ONLY_ADDITIONS = 1' > ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_X11}' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_X11}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_X11_ADDITIONS = ${VBOX_WITH_X11}' >> ${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
+.if ${COMPILER_FEATURES:Mlibc++}
+ @${ECHO} 'VBOX_GCC_std = -std=c++11' >> ${WRKSRC}/LocalConfig.kmk
+.endif
@${ECHO} 'VBOX_GCC_Wno-unused-parameter = -Wno-unused-parameter' >> ${WRKSRC}/LocalConfig.kmk
.endif
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
@@ -173,6 +184,7 @@ do-install:
.endif
.endif
+ ${INSTALL_LIB} ${VBOX_BIN}/pam_vbox.so ${STAGEDIR}${PREFIX}/lib
${INSTALL_PROGRAM} ${VBOX_SBINS:S|^|${VBOX_BIN}/|} \
${STAGEDIR}${PREFIX}/sbin/
diff --git a/emulators/virtualbox-ose-additions/distinfo b/emulators/virtualbox-ose-additions/distinfo
index 2f476a19a379..e609407d346f 100644
--- a/emulators/virtualbox-ose-additions/distinfo
+++ b/emulators/virtualbox-ose-additions/distinfo
@@ -1,2 +1,3 @@
-SHA256 (VirtualBox-4.3.38.tar.bz2) = 36f16d435acf04c1dce81df08ba0b522b7c3b10fe48f6ab5b95e9c8404d1f2e5
-SIZE (VirtualBox-4.3.38.tar.bz2) = 98437150
+TIMESTAMP = 1468866791
+SHA256 (VirtualBox-5.0.26.tar.bz2) = 78dec1369d2c8feefea3c682d95e76c0e99414c56626388035cf4061d4dad62e
+SIZE (VirtualBox-5.0.26.tar.bz2) = 111244869
diff --git a/emulators/virtualbox-ose-additions/files/vboxguest.in b/emulators/virtualbox-ose-additions/files/vboxguest.in
index 7ea2bb47e2f4..5be9476c453e 100644
--- a/emulators/virtualbox-ose-additions/files/vboxguest.in
+++ b/emulators/virtualbox-ose-additions/files/vboxguest.in
@@ -22,45 +22,42 @@ rcvar=vboxguest_enable
start_cmd="vboxguest_start"
stop_cmd="vboxguest_stop"
+vboxguest_modules="%%VBOX_KMODS%%"
+
vboxguest_start()
{
- if ! kldstat -q -m pci/vboxguest;
- then
- if ! kldload vboxguest > /dev/null 2>&1;
- then
- warn "Can't load vboxguest module."
- return 1
- fi
- fi
- test -f "%%KMODDIR%%/vboxvideo.ko" || return 0
- if ! kldstat -q -m vgapci/vboxvideo;
- then
- if ! kldload vboxvideo > /dev/null 2>&1;
- then
- warn "Can't load vboxvideo module."
- return 1
+ local _k _m
+
+ for _m in ${vboxguest_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
fi
- fi
+ done
}
vboxguest_stop()
{
- if kldstat -q -m vgapci/vboxvideo;
- then
- if ! kldunload vboxvideo > /dev/null 2>&1;
- then
- warn "Can't unload vboxvideo module."
- return 1
+ local _k _m _r
+
+ _r=
+ for _m in ${vboxguest_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
fi
- fi
- if kldstat -q -m pci/vboxguest;
- then
- if ! kldunload vboxguest > /dev/null 2>&1;
- then
- warn "Can't unload vboxguest module."
- return 1
- fi
- fi
+ done
}
load_rc_config $name
diff --git a/emulators/virtualbox-ose-additions/pkg-plist b/emulators/virtualbox-ose-additions/pkg-plist
index 0166c5116172..c16fe857410a 100644
--- a/emulators/virtualbox-ose-additions/pkg-plist
+++ b/emulators/virtualbox-ose-additions/pkg-plist
@@ -8,6 +8,7 @@
%%OPENGL%%lib/VBoxOGLfeedbackspu.so
%%OPENGL%%lib/VBoxOGLpackspu.so
%%OPENGL%%lib/VBoxOGLpassthroughspu.so
+lib/pam_vbox.so
%%OPENGL%%lib/dri/vboxvideo_dri.so
%%X11%%lib/xorg/modules/drivers/vboxvideo_drv.so
%%X11%%lib/xorg/modules/input/vboxmouse_drv.so
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
index b442693110ee..ff10be2e8717 100644
--- a/emulators/virtualbox-ose-kmod/Makefile
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -2,13 +2,11 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.3.38
+PORTVERSION= 5.0.26
CATEGORIES= emulators
-MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
- http://tmp.chruetertee.ch/ \
- http://disasterarea.chruetertee.ch/
+MASTER_SITES= http://download.virtualbox.org/virtualbox/${PORTVERSION}/
PKGNAMESUFFIX= -kmod
-DISTNAME= VirtualBox-${DISTVERSION}
+DISTNAME= VirtualBox-${PORTVERSION}
MAINTAINER= vbox@FreeBSD.org
COMMENT= VirtualBox kernel module for FreeBSD
diff --git a/emulators/virtualbox-ose-kmod/distinfo b/emulators/virtualbox-ose-kmod/distinfo
index 2f476a19a379..89014f228175 100644
--- a/emulators/virtualbox-ose-kmod/distinfo
+++ b/emulators/virtualbox-ose-kmod/distinfo
@@ -1,2 +1,3 @@
-SHA256 (VirtualBox-4.3.38.tar.bz2) = 36f16d435acf04c1dce81df08ba0b522b7c3b10fe48f6ab5b95e9c8404d1f2e5
-SIZE (VirtualBox-4.3.38.tar.bz2) = 98437150
+TIMESTAMP = 1468866759
+SHA256 (VirtualBox-5.0.26.tar.bz2) = 78dec1369d2c8feefea3c682d95e76c0e99414c56626388035cf4061d4dad62e
+SIZE (VirtualBox-5.0.26.tar.bz2) = 111244869
diff --git a/emulators/virtualbox-ose-kmod/files/vboxnet.in b/emulators/virtualbox-ose-kmod/files/vboxnet.in
index 6145137295f9..8c69dcc0ebd6 100644
--- a/emulators/virtualbox-ose-kmod/files/vboxnet.in
+++ b/emulators/virtualbox-ose-kmod/files/vboxnet.in
@@ -22,25 +22,22 @@ rcvar=vboxnet_enable
start_cmd="vboxnet_start"
stop_cmd="vboxnet_stop"
+vboxnet_modules="vboxdrv vboxnetflt:ng_vboxnetflt vboxnetadp"
+
vboxnet_start()
{
- if ! kldstat -q -m ng_vboxnetflt;
- then
- if ! kldload vboxnetflt > /dev/null 2>&1;
- then
- warn "Can't load vboxnetflt module."
- return 1
- fi
- fi
+ local _k _m
- if ! kldstat -q -m vboxnetadp;
- then
- if ! kldload vboxnetadp > /dev/null 2>&1;
- then
- warn "Can't load vboxnetadp module."
- return 1
+ for _m in ${vboxnet_modules}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if ! kldstat -q -m ${_m}; then
+ if ! kldload ${_k} > /dev/null 2>&1; then
+ warn "Can't load ${_k} module."
+ return 1
+ fi
fi
- fi
+ done
# initialize configured host-only interfaces
LD_LIBRARY_PATH=%%PREFIX%%/lib %%PREFIX%%/bin/VBoxManage list hostonlyifs >/dev/null
@@ -48,23 +45,22 @@ vboxnet_start()
vboxnet_stop()
{
- if kldstat -q -m vboxnetadp;
- then
- if ! kldunload vboxnetadp > /dev/null 2>&1;
- then
- warn "Can't unload vboxnetadp module."
- return 1
- fi
- fi
+ local _k _m _r
- if kldstat -q -m ng_vboxnetflt;
- then
- if ! kldunload vboxnetflt > /dev/null 2>&1;
- then
- warn "Can't unload vboxnetflt module."
- return 1
+ _r=
+ for _m in ${vboxnet_modules}; do
+ _r="${_m} ${_r}"
+ done
+ for _m in ${_r}; do
+ _k=${_m%:*}
+ _m=${_m#*:}
+ if kldstat -q -m ${_m}; then
+ if ! kldunload ${_k} > /dev/null 2>&1; then
+ warn "Can't unload ${_k} module."
+ return 1
+ fi
fi
- fi
+ done
}
load_rc_config $name
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index efad4cbc6c18..f7173bc07033 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -2,15 +2,11 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.3.38
-PORTREVISION= 1
+PORTVERSION= 5.0.26
CATEGORIES= emulators
-MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
- http://tmp.chruetertee.ch/ \
- http://disasterarea.chruetertee.ch/ \
- http://download.virtualbox.org/virtualbox/${VBOX_GUEST_VER}/:guestadditions
-DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} ${GADISTFILES}
-EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}
+MASTER_SITES= http://download.virtualbox.org/virtualbox/${PORTVERSION}/
+DISTFILES= VirtualBox-${PORTVERSION}${EXTRACT_SUFX} ${GUESTADDITIONS}
+EXTRACT_ONLY= VirtualBox-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER?= vbox@FreeBSD.org
COMMENT= General-purpose full virtualizer for x86 hardware
@@ -34,26 +30,28 @@ CPE_PRODUCT= vm_virtualbox
WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION}
ONLY_FOR_ARCHS= i386 amd64
-USES= compiler cpe iconv pkgconfig tar:bzip2
-USE_GNOME= libidl
-USE_LDCONFIG= ${VBOX_DIR}
-USE_OPENSSL= yes
+USES= compiler cpe iconv pkgconfig ssl tar:bzip2
+USE_GNOME= libidl libxml2
HAS_CONFIGURE= yes
-CONFIGURE_ARGS+= --disable-java --passive-mesa
+CONFIGURE_ARGS= --disable-java --passive-mesa
CONFIGURE_ARGS+= --with-gcc="${CC}" --with-g++="${CXX}"
-CONFLICTS_INSTALL= virtualbox-ose-additions-4* \
+CONFLICTS_INSTALL= virtualbox-ose-additions-[4,5]* \
virtualbox-ose-additions-devel-4* \
virtualbox-ose-devel-4* \
virtualbox-ose-legacy-4*
.if defined(LITE)
-PKGNAMESUFFIX+= -lite
-CONFLICTS_INSTALL+= ${PORTNAME}-[0-9]*
-WITHOUT+= NLS
+CONFIGURE_ARGS+= --disable-alsa --disable-dbus --disable-docs \
+ --disable-pulse --disable-qt4 --disable-libvpx \
+ --build-headless
+CONFLICTS_INSTALL+= ${PORTNAME}-[4,5]*
+PKGNAMESUFFIX= -lite
+PLIST_SUB= GUESTADDITIONS="@comment " MANUAL="@comment " \
+ NLS="@comment " QT4="@comment " X11="@comment "
.else
-CONFLICTS_INSTALL+= ${PORTNAME}-lite-[0-9]*
+CONFLICTS_INSTALL+= ${PORTNAME}-lite-[4,5]*
.endif
VBOXUSER?= vboxusers
@@ -67,14 +65,12 @@ VBOX_PROGS= VBoxAutostart VBoxBalloonCtrl VBoxHeadless VBoxManage
VBOX_UTILS= VBoxExtPackHelperApp VBoxNetAdpCtl VBoxNetDHCP VBoxNetNAT \
VBoxSVC VBoxXPCOMIPCD
-VBOX_GUEST_VER= ${PORTVERSION}
-
-OPTIONS_DEFINE= DBUS DEBUG GUESTADDITIONS MANUAL NLS PULSEAUDIO PYTHON \
- QT4 R0LOGGING UDPTUNNEL VDE VNC VPX WEBSERVICE X11
-.if defined(LITE)
+OPTIONS_DEFINE= PYTHON R0LOGGING UDPTUNNEL VDE VNC WEBSERVICE
OPTIONS_DEFAULT= UDPTUNNEL VNC
-.else
-OPTIONS_DEFAULT= DBUS PYTHON QT4 UDPTUNNEL VNC WEBSERVICE X11
+.if !defined(LITE)
+OPTIONS_DEFINE+= ALSA DBUS DEBUG GUESTADDITIONS MANUAL NLS PULSEAUDIO
+OPTIONS_DEFINE+= QT4 VPX X11
+OPTIONS_DEFAULT+= DBUS PYTHON QT4 WEBSERVICE X11
.endif
OPTIONS_SUB= yes
@@ -89,24 +85,28 @@ VNC_DESC= Build with VNC support
VPX_DESC= Use vpx for video capturing
WEBSERVICE_DESC= Build Webservice
-DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
-VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
-
+MANUAL_BUILD_DEPENDS= ${LOCALBASE}/share/xml/docbook/4.4/docbookx.dtd:textproc/docbook-xml
+PYTHON_CONFIGURE_OFF= --disable-python
+UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel
+VDE_CONFIGURE_ON= --enable-vde
VDE_RUN_DEPENDS= vde_switch:net/vde2
+VNC_CONFIGURE_ON= --enable-vnc
+VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
+.if !defined(LITE)
+ALSA_CONFIGURE_OFF= --disable-alsa
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
DBUS_CONFIGURE_OFF= --disable-dbus
+DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DEBUG_CONFIGURE_ON= --build-debug
MANUAL_CONFIGURE_OFF= --disable-docs
PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
-PYTHON_CONFIGURE_OFF= --disable-python
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
QT4_CONFIGURE_OFF= --disable-qt4
-UDPTUNNEL_CONFIGURE_OFF= --disable-udptunnel
-VDE_CONFIGURE_ON= --enable-vde
-VNC_CONFIGURE_ON= --enable-vnc
VPX_CONFIGURE_OFF= --disable-libvpx
+VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
X11_CONFIGURE_OFF= --build-headless
+.endif
# bmake doesn't know about unsetenv=true
.if defined(.PARSEDIR)
@@ -116,7 +116,7 @@ ENV=
.SHELL: path="/bin/sh" unsetenv=true
.endif
-PLIST_SUB+= GUEST_VER=${VBOX_GUEST_VER} \
+PLIST_SUB+= GUEST_VER=${PORTVERSION} \
PYTHON_VER=${PYTHON_VER} \
PYTHON_VERU=${PYTHON_VER:S/./_/} \
VBOXGROUP=${VBOXGROUP}
@@ -128,11 +128,11 @@ USE_RC_SUBR+= vboxheadless vboxwatchdog
.include <bsd.port.options.mk>
-.if empty(PORT_OPTIONS:MQT4) && !empty(PORT_OPTIONS:MNLS)
+.if ${PORT_OPTIONS:MNLS} && empty(PORT_OPTIONS:MQT4) && !defined(LITE)
BROKEN= NLS support requires QT4 frontend. Run 'make config' again!
.endif
-.if empty(PORT_OPTIONS:MX11) && !empty(PORT_OPTIONS:MQT4)
+.if ${PORT_OPTIONS:MQT4} && empty(PORT_OPTIONS:MX11)
BROKEN= QT4 frontend requires X11 support. Run 'make config' again!
.endif
@@ -148,13 +148,14 @@ BROKEN= R0 logging requires debug build
.endif
.if ${PORT_OPTIONS:MGUESTADDITIONS}
-GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
-GADISTFILES= ${GUESTADDITIONS}:guestadditions
+GUESTADDITIONS= VBoxGuestAdditions_${PORTVERSION}.iso
RESTRICTED= for personal use only
RESTRICTED_FILES= ${GUESTADDITIONS}
.endif
.if ${PORT_OPTIONS:MMANUAL}
+DBKXMLDIR= ${LOCALBASE}/share/xml/docbook/4.4
+DBKXSLDIR= ${LOCALBASE}/share/xsl/docbook
USE_TEX= dvipsk:build formats:build
.endif
@@ -169,8 +170,9 @@ USES+= python:build
.if ${PORT_OPTIONS:MQT4}
QT_NONSTANDARD= yes
-USE_QT4= linguist_build moc_build rcc_build uic_build
-USE_QT4+= gui network opengl
+USE_GL= gl
+USE_QT4= corelib gui linguist_build moc_build network
+USE_QT4+= opengl rcc_build uic_build
INSTALLS_ICONS= yes
VBOX_PROGS+= VirtualBox
VBOX_UTILS+= VBoxTestOGL
@@ -188,7 +190,7 @@ VBOX_UTILS+= vboxwebsrv webtest
.if ${PORT_OPTIONS:MX11}
USE_SDL= sdl
-USE_XORG= xcursor xmu inputproto xinerama
+USE_XORG= inputproto x11 xcursor xext xinerama xmu xt
VBOX_PROGS+= VBoxSDL
.endif
@@ -235,7 +237,12 @@ pre-everything::
.endif
post-patch:
- @${ECHO} 'VBOX_PATH_APP_PRIVATE_ARCH = ${VBOX_DIR}' > \
+ @${ECHO} 'TOOL_QT4_BIN_SUFF = -qt4' > ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_PATH_APP_PRIVATE_ARCH = ${VBOX_DIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_PATH_DOCBOOK = ${DBKXSLDIR}' >> \
+ ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_PATH_DOCBOOK_DTD = ${DBKXMLDIR}' >> \
${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_SHARED_LIBS = ${VBOX_DIR}' >> \
${WRKSRC}/LocalConfig.kmk
@@ -243,6 +250,7 @@ post-patch:
${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_EXTPACK_VBOXDTRACE =' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_VBOXDRV =' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_TESTCASES =' >> ${WRKSRC}/LocalConfig.kmk
@@ -250,6 +258,8 @@ post-patch:
@${ECHO} 'SDK_VBOX_LIBPNG_LIBS = png' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_DRAG_AND_DROP = ${VBOX_WITH_QT4}' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_DRAG_AND_DROP_GH = ${VBOX_WITH_QT4}' >> ${WRKSRC}/LocalConfig.kmk
+ @${ECHO} 'VBOX_WITH_VALIDATIONKIT =' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_X11_ADDITIONS =' >> ${WRKSRC}/LocalConfig.kmk
.if ${PORT_OPTIONS:MWEBSERVICE}
@${ECHO} 'VBOX_WITH_WEBSERVICES = 1' >> ${WRKSRC}/LocalConfig.kmk
@@ -277,7 +287,8 @@ post-patch:
${WRKSRC}/src/libs/xpcom18a4/python/gen_python_deps.py
@${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
+ @${REINPLACE_CMD} -e 's|iconv||' ${WRKSRC}/Config.kmk \
+ ${WRKSRC}/src/VBox/Runtime/Makefile.kmk
@${ECHO} 'VBOX_ICONV_DEFS = LIBICONV_PLUG' >> ${WRKSRC}/LocalConfig.kmk
.endif
@${REINPLACE_CMD} -e 's|/usr/local/lib/virtualbox|${VBOX_DIR}|' \
@@ -286,7 +297,7 @@ post-patch:
do-build:
cd ${WRKSRC} && \
- ${SH} -c '. env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}'
+ ${SH} -c '. ${WRKSRC}/env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}'
.if ${PORT_OPTIONS:MPYTHON}
${PYTHON_CMD} -mcompileall ${KMK_BUILDDIR}/bin/sdk/bindings/xpcom/python/xpcom
.endif
@@ -300,7 +311,7 @@ do-install:
${MKDIR} ${STAGEDIR}${VBOX_DIR}
cd ${KMK_BUILDDIR}/bin && ${COPYTREE_SHARE} \
- "*.so *.gc *.r0 *.fd components" ${STAGEDIR}${VBOX_DIR}
+ "*.fd *.r0 *.rc *.so components" ${STAGEDIR}${VBOX_DIR}
${LN} -sf ${DATADIR}/sdk ${STAGEDIR}${VBOX_DIR}
${INSTALL_SCRIPT} ${WRKSRC}/src/VBox/Installer/freebsd/VBox.sh \
@@ -328,7 +339,7 @@ do-install:
${INSTALL_DATA} ${KMK_BUILDDIR}/bin/UserManual*.pdf ${STAGEDIR}${DOCSDIR}
.endif
-.if ${PORT_OPTIONS:MNLS}
+.if ${PORT_OPTIONS:MNLS} && !defined(LITE)
cd ${KMK_BUILDDIR}/obj/VirtualBox/qtnls && ${COPYTREE_SHARE} "*.qm" ${STAGEDIR}${DATADIR}/nls
.endif
diff --git a/emulators/virtualbox-ose/distinfo b/emulators/virtualbox-ose/distinfo
index a9f3ad97b527..03bacc9cf91a 100644
--- a/emulators/virtualbox-ose/distinfo
+++ b/emulators/virtualbox-ose/distinfo
@@ -1,4 +1,5 @@
-SHA256 (VirtualBox-4.3.38.tar.bz2) = 36f16d435acf04c1dce81df08ba0b522b7c3b10fe48f6ab5b95e9c8404d1f2e5
-SIZE (VirtualBox-4.3.38.tar.bz2) = 98437150
-SHA256 (VBoxGuestAdditions_4.3.38.iso) = 0aabbc9d548658e90f3b30d08e76a023ba93402cd2b833dd153530f122ea0502
-SIZE (VBoxGuestAdditions_4.3.38.iso) = 57085952
+TIMESTAMP = 1468866832
+SHA256 (VirtualBox-5.0.26.tar.bz2) = 78dec1369d2c8feefea3c682d95e76c0e99414c56626388035cf4061d4dad62e
+SIZE (VirtualBox-5.0.26.tar.bz2) = 111244869
+SHA256 (VBoxGuestAdditions_5.0.26.iso) = 7458ee5a7121a7d243fd6a7528ba427945d9120c5efc7cd75b3951fb01f09c59
+SIZE (VBoxGuestAdditions_5.0.26.iso) = 58232832
diff --git a/emulators/virtualbox-ose/files/extrapatch-Config.kmk b/emulators/virtualbox-ose/files/extrapatch-Config.kmk
index 39f729b45efb..8465f82a600c 100644
--- a/emulators/virtualbox-ose/files/extrapatch-Config.kmk
+++ b/emulators/virtualbox-ose/files/extrapatch-Config.kmk
@@ -1,22 +1,22 @@
---- Config.kmk.orig 2014-03-26 15:12:14.000000000 -0400
-+++ Config.kmk 2014-05-07 16:07:36.000000000 -0400
-@@ -3042,6 +3042,7 @@
- ifeq ($(VBOX_LDR_FMT32),elf)
+--- Config.kmk.orig 2016-07-18 11:50:32 UTC
++++ Config.kmk
+@@ -3537,6 +3537,7 @@ ifdef VBOX_WITH_RAW_MODE
TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL)
- TEMPLATE_VBoxRc_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti
+ TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxRc_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxRc_CXXFLAGS.freebsd = -fno-builtin
- TEMPLATE_VBoxRc_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden)
ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxRc_LDFLAGS = -r
-@@ -3170,6 +3171,7 @@
+ else
+@@ -3677,6 +3678,7 @@ ifeq ($(VBOX_LDR_FMT),elf)
TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL)
- TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99
- TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti
+ TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+TEMPLATE_VBoxR0_CXXFLAGS.freebsd = -fno-builtin
TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
ifeq ($(KBUILD_TARGET),solaris)
-@@ -3435,7 +3437,7 @@
+@@ -3945,7 +3947,7 @@ define TOOL_FREEBSDKMODLD_LINK_SYSMOD_CM
| xargs -J% objcopy % $(out)
## Strip debug info (comment out if debugging or something).
diff --git a/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri b/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri
deleted file mode 100644
index 88cf2392add8..000000000000
--- a/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri
+++ /dev/null
@@ -1,179 +0,0 @@
---- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2016-02-05 00:52:41 UTC
-+++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk
-@@ -29,7 +29,7 @@ endif
- vboxvideo_13_DEFS := $(vboxvideo_70_DEFS) VBOXVIDEO_13
- vboxvideo_15_DEFS := \
- $(vboxvideo_13_DEFS) NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS _XORG_SERVER_H_ _DIX_CONFIG_H_
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_15_DEFS += \
- VBOX_DRI
- endif
-@@ -195,7 +195,7 @@ DLLS += vboxvideo_drv_15
- vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10503000
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_15_DEFS += \
- VBOX_DRI_OLD
- endif
-@@ -204,7 +204,7 @@ vboxvideo_drv_15_INCS = \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3
- vboxvideo_drv_15_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
- vboxvideo_drv_15_SOURCES = $(vboxvideo_drv_13_SOURCES)
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_15_SOURCES += \
- vboxvideo_dri.c
- endif
-@@ -217,7 +217,7 @@ DLLS += vboxvideo_drv_16
- vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_16_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10600000
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_16_DEFS += \
- VBOX_DRI_OLD
- endif
-@@ -235,11 +235,19 @@ DLLS += vboxvideo_drv_17
- vboxvideo_drv_17_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_17_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_17_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10699000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_17_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_17_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.7.7
- vboxvideo_drv_17_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
- vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_13_SOURCES)
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_17_SOURCES += \
-+ vboxvideo_dri.c
-+endif
- if1of ($(KBUILD_TARGET), linux solaris)
- vboxvideo_drv_17_SOURCES += \
- vboxvideo_dri2.c
-@@ -253,6 +261,10 @@ DLLS += vboxvideo_drv_18
- vboxvideo_drv_18_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_18_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_18_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10800000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_18_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_18_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.8.0
-@@ -267,6 +279,10 @@ DLLS += vboxvideo_drv_19
- vboxvideo_drv_19_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_19_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_19_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10900000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_19_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_19_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.9.0
-@@ -281,6 +297,10 @@ DLLS += vboxvideo_drv_110
- vboxvideo_drv_110_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_110_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_110_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11000000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_110_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_110_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.10.0
-@@ -295,6 +315,10 @@ DLLS += vboxvideo_drv_111
- vboxvideo_drv_111_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_111_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_111_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11100000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_111_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_111_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.11.0
-@@ -309,6 +333,10 @@ DLLS += vboxvideo_drv_112
- vboxvideo_drv_112_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_112_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_112_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11200000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_112_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_112_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.12.0
-@@ -323,6 +351,10 @@ DLLS += vboxvideo_drv_113
- vboxvideo_drv_113_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_113_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_113_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11300000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_113_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_113_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.13.0
-@@ -337,6 +369,10 @@ DLLS += vboxvideo_drv_114
- vboxvideo_drv_114_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_114_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_114_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11400000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_114_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_114_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.14.0
-@@ -351,6 +387,10 @@ DLLS += vboxvideo_drv_115
- vboxvideo_drv_115_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_115_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_115_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11500000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_115_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_115_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.15.0
-@@ -365,6 +405,10 @@ DLLS += vboxvideo_drv_116
- vboxvideo_drv_116_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_116_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_116_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11600000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_116_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_116_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.16.0
-@@ -379,6 +423,10 @@ DLLS += vboxvideo_drv_117
- vboxvideo_drv_117_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_117_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_117_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11700000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_117_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_117_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.17.1
-@@ -393,6 +441,10 @@ DLLS += vboxvideo_drv_118
- vboxvideo_drv_118_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_118_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_118_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=11800000
-+if1of ($(KBUILD_TARGET), freebsd)
-+ vboxvideo_drv_118_DEFS += \
-+ VBOX_DRI_OLD
-+endif
- vboxvideo_drv_118_INCS = \
- $(vboxvideo_xorg_INCS) \
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.18.0
diff --git a/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri2 b/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri2
deleted file mode 100644
index 50d6c56b2fae..000000000000
--- a/emulators/virtualbox-ose/files/extrapatch-src-VBox-Additions-x11-vboxvideo-Makefile.kmk.dri2
+++ /dev/null
@@ -1,47 +0,0 @@
---- src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig 2015-03-16 13:00:34.000000000 -0400
-+++ src/VBox/Additions/x11/vboxvideo/Makefile.kmk 2015-03-30 02:29:06.707754000 -0400
-@@ -26,7 +26,7 @@
- vboxvideo_13_DEFS := $(vboxvideo_70_DEFS) VBOXVIDEO_13
- vboxvideo_15_DEFS := \
- $(vboxvideo_13_DEFS) NO_ANSIC PCIACCESS XSERVER_LIBPCIACCESS _XORG_SERVER_H_ _DIX_CONFIG_H_
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_15_DEFS += \
- VBOX_DRI
- endif
-@@ -190,7 +190,7 @@
- vboxvideo_drv_15_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_15_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_15_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10503000
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_15_DEFS += \
- VBOX_DRI_OLD
- endif
-@@ -199,7 +199,7 @@
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.5.3
- vboxvideo_drv_15_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
- vboxvideo_drv_15_SOURCES = $(vboxvideo_drv_13_SOURCES)
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_15_SOURCES += \
- vboxvideo_dri.c
- endif
-@@ -212,7 +212,7 @@
- vboxvideo_drv_16_TEMPLATE = VBOXGUESTR3XORGMOD
- vboxvideo_drv_16_CFLAGS := $(vboxvideo_drv_70_CFLAGS)
- vboxvideo_drv_16_DEFS := $(vboxvideo_15_DEFS) XORG_VERSION_CURRENT=10600000
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_16_DEFS += \
- VBOX_DRI_OLD
- endif
-@@ -235,7 +235,7 @@
- $(VBOX_PATH_X11_ROOT)/xorg-server-1.7.7
- vboxvideo_drv_17_INCS += $(PATH_ROOT)/src/VBox/Runtime/include
- vboxvideo_drv_17_SOURCES := $(vboxvideo_drv_13_SOURCES)
--if1of ($(KBUILD_TARGET), linux solaris)
-+if1of ($(KBUILD_TARGET), freebsd linux solaris)
- vboxvideo_drv_17_SOURCES += \
- vboxvideo_dri2.c
- endif
diff --git a/emulators/virtualbox-ose/files/extrapatch-src_VBox_Additions_freebsd_Makefile.kmk b/emulators/virtualbox-ose/files/extrapatch-src_VBox_Additions_freebsd_Makefile.kmk
new file mode 100644
index 000000000000..3735ce84764c
--- /dev/null
+++ b/emulators/virtualbox-ose/files/extrapatch-src_VBox_Additions_freebsd_Makefile.kmk
@@ -0,0 +1,11 @@
+--- src/VBox/Additions/freebsd/Makefile.kmk.orig 2016-07-18 11:50:44 UTC
++++ src/VBox/Additions/freebsd/Makefile.kmk
+@@ -24,7 +24,7 @@ endif
+
+ # Include sub-makefiles.
+ #include $(PATH_SUB_CURRENT)/vboxvfs/Makefile.kmk
+-include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
++#include $(PATH_SUB_CURRENT)/drm/Makefile.kmk
+
+ #
+ # Globals
diff --git a/emulators/virtualbox-ose/files/patch-Config.kmk b/emulators/virtualbox-ose/files/patch-Config.kmk
index 344bde32d8eb..c1c5a68fc5d6 100644
--- a/emulators/virtualbox-ose/files/patch-Config.kmk
+++ b/emulators/virtualbox-ose/files/patch-Config.kmk
@@ -1,6 +1,6 @@
---- Config.kmk.orig 2014-07-16 16:59:27.000000000 -0400
-+++ Config.kmk 2014-07-16 17:12:48.000000000 -0400
-@@ -339,7 +339,7 @@
+--- Config.kmk.orig 2016-07-18 11:50:32 UTC
++++ Config.kmk
+@@ -341,7 +341,7 @@ VBOX_WITH_DOCS = 1
# Include documentation in the package
VBOX_WITH_DOCS_PACKING = 1
# Include CHM when building docs (unset in LocalConfig.kmk to suppress CHM)
@@ -9,7 +9,34 @@
VBOX_WITH_DOCS_CHM = 1
endif
# By default only include translations in documentation-only builds
-@@ -602,7 +602,7 @@
+@@ -422,22 +422,22 @@ ifn1of ($(KBUILD_TARGET), win darwin)
+ # Enable OSS audio support.
+ VBOX_WITH_OSS = 1
+ endif
+-if1of ($(KBUILD_TARGET), linux)
++if1of ($(KBUILD_TARGET), freebsd linux)
+ # Enable ALSA audio support.
+ VBOX_WITH_ALSA = 1
+ endif
+-if1of ($(KBUILD_TARGET), linux)
++if1of ($(KBUILD_TARGET), freebsd linux)
+ # Enable PulseAudio audio support.
+ VBOX_WITH_PULSE = 1
+ endif
+ # Enable PCI passthrough support.
+ VBOX_WITH_PCI_PASSTHROUGH = 1
+ # 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
+ # Disable WINMM support for Windows (not implemented).
+@@ -627,7 +627,7 @@ VBOX_WITH_VDITOOL =
# Enable this to build vbox-img even if VBOX_WITH_TESTCASES is disabled
VBOX_WITH_VBOX_IMG =
# Enables the VPX module for VM video capturing
@@ -18,7 +45,7 @@
VBOX_WITH_VPX = 1
endif
# Enable shared folders
-@@ -891,10 +891,6 @@
+@@ -935,10 +935,6 @@ ifeq ($(KBUILD_TARGET),darwin)
VBOX_WITH_VBOXSDL=
endif
@@ -29,21 +56,17 @@
ifeq ($(KBUILD_TARGET),haiku)
# Don't bother with SDL ttf for now.
VBOX_WITH_SECURELABEL=
-@@ -1050,7 +1046,7 @@
- VBOX_WITH_SECURELABEL=
+@@ -1096,7 +1092,7 @@ ifdef VBOX_OSE
VBOX_WITH_KCHMVIEWER=
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
-@@ -3476,16 +3472,16 @@
- $(VBOX_GCC_WARN) -Wpointer-arith -Winline $(VBOX_GCC_Wno-pointer-sign) $(VBOX_GCC_fdiagnostics-show-option) \
- -Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
- -Wimplicit-function-declaration -Werror-implicit-function-declaration \
-- -O2 -fformat-extensions -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
-+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
+@@ -3912,7 +3908,7 @@ TEMPLATE_VBOXR0DRV_CFLAGS =
+ -O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -std=c99
-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
@@ -51,14 +74,7 @@
TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 --param inline-unit-growth=100 --param large-function-growth=1000 \
-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 -Wundef
- TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \
- $(VBOX_GCC_WARN) -Wpointer-arith -Winline \
-- -O2 -fno-format-extensions -fno-strict-aliasing -fno-common -finline-limit=8000 \
-+ -O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
- -nostdinc
- TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
-@@ -3719,12 +3715,8 @@
+@@ -4158,12 +4154,8 @@ TEMPLATE_VBOXR3EXE_LDFLAGS +=
TEMPLATE_VBOXR3EXE_TOOL = GXX3
TEMPLATE_VBOXR3EXE_LIBS = pthread
TEMPLATE_VBOXR3EXE_INCS += \
@@ -71,7 +87,7 @@
/usr/local/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBOXR3EXE_TOOL = GXX3PLAIN
-@@ -3982,7 +3974,7 @@
+@@ -4420,7 +4412,7 @@ ifeq ($(KBUILD_TARGET),win) # No CRT!
TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.win.amd64 = $(TEMPLATE_VBOXR3EXE_LDFLAGS.win.amd64) /entry:suplibHardenedWindowsMain
TEMPLATE_VBOXR3HARDENEDEXE_LIBS.x86 = $(NOT_SUCH_VARIABLE)
TEMPLATE_VBOXR3HARDENEDEXE_LIBS.amd64 = $(NOT_SUCH_VARIABLE)
@@ -80,7 +96,7 @@
TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS))
TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux))
endif
-@@ -4370,12 +4362,8 @@
+@@ -4898,12 +4890,8 @@ TEMPLATE_VBOXMAINEXE_LIBS
TEMPLATE_VBOXMAINEXE_TOOL = GXX3
TEMPLATE_VBOXMAINEXE_LIBS = $(LIB_RUNTIME)
TEMPLATE_VBOXMAINEXE_INCS += \
@@ -93,7 +109,7 @@
/usr/local/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBOXMAINEXE_TOOL = GXX3PLAIN
-@@ -4838,12 +4826,8 @@
+@@ -5371,12 +5359,8 @@ ifdef VBOX_WITH_QTGUI
$(VBOX_LIBPATH_X11)
ifeq ($(KBUILD_TARGET),freebsd)
TEMPLATE_VBOXQT4GUIEXE_INCS += \
@@ -106,7 +122,7 @@
/usr/local/lib
endif
ifeq ($(KBUILD_TARGET),solaris)
-@@ -5035,12 +5019,8 @@
+@@ -5587,12 +5571,8 @@ TEMPLATE_VBoxBldProg_LIBPATH
TEMPLATE_VBoxBldProg_TOOL = GXX3
TEMPLATE_VBoxBldProg_LIBS = pthread
TEMPLATE_VBoxBldProg_INCS += \
@@ -119,7 +135,7 @@
/usr/local/lib
else ifeq ($(KBUILD_HOST),solaris)
TEMPLATE_VBoxBldProg_TOOL = GXX3PLAIN
-@@ -5427,6 +5407,7 @@
+@@ -5954,6 +5934,7 @@ TEMPLATE_VBOXCROGLR3HOSTDLL_LDFLAGS.darw
-current_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD) \
-compatibility_version $(VBOX_VERSION_MAJOR).$(VBOX_VERSION_MINOR).$(VBOX_VERSION_BUILD)
TEMPLATE_VBOXCROGLR3HOSTDLL_LDFLAGS.linux = -Wl,--no-as-needed
diff --git a/emulators/virtualbox-ose/files/patch-configure b/emulators/virtualbox-ose/files/patch-configure
index 9d9a366fdf76..e87789b83669 100644
--- a/emulators/virtualbox-ose/files/patch-configure
+++ b/emulators/virtualbox-ose/files/patch-configure
@@ -1,6 +1,12 @@
---- configure.orig 2015-05-13 11:08:57.000000000 -0400
-+++ configure 2015-05-15 14:16:05.988372000 -0400
-@@ -140,6 +140,8 @@
+--- configure.orig 2015-06-01 13:50:10.000000000 -0400
++++ configure 2015-06-10 19:40:14.170742000 -0400
+@@ -137,10 +137,14 @@
+ 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"
@@ -9,7 +15,16 @@
else
INCCURL=""
LIBCURL="-lcurl"
-@@ -1947,8 +1949,8 @@
+@@ -1200,7 +1204,7 @@
+ #endif
+ }
+ EOF
+- if test_compile "-lasound" asound asound; then
++ if test_compile "$INCALSA $LIBALSA -lasound" asound asound; then
+ test_execute
+ fi
+ }
+@@ -1949,8 +1953,8 @@
echo "compiling the following source file:" >> $LOG
cat $ODIR.tmp_src.cc >> $LOG
echo "using the following command line:" >> $LOG
@@ -20,12 +35,35 @@
if [ $? -eq 0 ]; then
found=1
break
-@@ -2357,7 +2359,7 @@
- --with-openssl-dir=*)
- OPENSSLDIR=`echo $option | cut -d'=' -f2`
- INCCRYPTO="-I${OPENSSLDIR}/include"
-- LIBCRYPTO="${OPENSSLDIR}/lib/libcrypto.a ${OPENSSLDIR}/lib/libssl.a"
-+ LIBCRYPTO="-L${OPENSSLDIR}/lib -lcrypto -lssl"
- ;;
- --with-ow-dir=*)
- WATCOM=`echo $option | cut -d'=' -f2`
+@@ -2733,8 +2737,15 @@
+ [ $WITH_PYTHON -eq 1 ] && check_python
+ [ $WITH_JAVA -eq 1 ] && check_java
+
+- # PulseAudio
+ if [ "$OS" = "linux" -o "$OS" = "freebsd" ]; then
++ if [ $WITH_DBUS -eq 0 ]; then
++ cnf_append "VBOX_WITH_DBUS" ""
++ fi
++ if [ $WITH_ALSA -eq 1 ]; then
++ check_alsa
++ else
++ cnf_append "VBOX_WITH_ALSA" ""
++ fi
+ if [ $WITH_PULSE -eq 1 ]; then
+ check_pulse
+ elif [ $WITH_PULSE -eq 0 ]; then
+@@ -2756,14 +2767,6 @@
+ cnf_append "VBOX_WITH_ADDITION_DRIVERS" ""
+ fi
+ if [ $ONLY_ADDITIONS -eq 0 ]; then
+- if [ $WITH_ALSA -eq 1 ]; then
+- check_alsa
+- else
+- cnf_append "VBOX_WITH_ALSA" ""
+- fi
+- if [ $WITH_DBUS -eq 0 ]; then
+- cnf_append "VBOX_WITH_DBUS" ""
+- fi
+ if [ $WITH_DEVMAPPER -eq 1 ]; then
+ check_libdevmapper
+ else
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
index e9ce545a3018..1625d85f7680 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -1,6 +1,6 @@
---- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2015-03-02 10:06:54.000000000 -0500
-+++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2015-03-09 18:02:36.502945000 -0400
-@@ -80,8 +80,6 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.orig 2015-11-10 17:00:16 UTC
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c
+@@ -92,8 +92,6 @@ struct VBoxGuestDeviceState
struct resource *pIrqRes;
/** Pointer to the IRQ handler. */
void *pfnIrqHandler;
@@ -8,53 +8,41 @@
- uint32_t u32Version;
};
- static MALLOC_DEFINE(M_VBOXDEV, "vboxdev_pci", "VirtualBox Guest driver PCI");
-@@ -89,8 +87,7 @@
+
+@@ -103,8 +101,7 @@ struct VBoxGuestDeviceState
/*
* Character device file handlers.
*/
--static d_fdopen_t VBoxGuestFreeBSDOpen;
--static d_close_t VBoxGuestFreeBSDClose;
-+static d_open_t VBoxGuestFreeBSDOpen;
- static d_ioctl_t VBoxGuestFreeBSDIOCtl;
- static d_write_t VBoxGuestFreeBSDWrite;
- static d_read_t VBoxGuestFreeBSDRead;
-@@ -103,13 +100,6 @@
- static int VBoxGuestFreeBSDAddIRQ(device_t pDevice, void *pvState);
- static int VBoxGuestFreeBSDISR(void *pvState);
-
--/*
-- * Available functions for kernel drivers.
-- */
--DECLVBGL(int) VBoxGuestFreeBSDServiceCall(void *pvSession, unsigned uCmd, void *pvData, size_t cbData, size_t *pcbDataReturned);
--DECLVBGL(void *) VBoxGuestFreeBSDServiceOpen(uint32_t *pu32Version);
--DECLVBGL(int) VBoxGuestFreeBSDServiceClose(void *pvSession);
--
- #ifndef D_NEEDMINOR
- # define D_NEEDMINOR 0
- #endif
-@@ -121,8 +111,7 @@
+-static d_fdopen_t vgdrvFreeBSDOpen;
+-static d_close_t vgdrvFreeBSDClose;
++static d_open_t vgdrvFreeBSDOpen;
+ static d_ioctl_t vgdrvFreeBSDIOCtl;
+ static d_write_t vgdrvFreeBSDWrite;
+ static d_read_t vgdrvFreeBSDRead;
+@@ -134,8 +131,7 @@ static struct cdevsw g_vgdrvFreeBSDCh
{
.d_version = D_VERSION,
.d_flags = D_TRACKCLOSE | D_NEEDMINOR,
-- .d_fdopen = VBoxGuestFreeBSDOpen,
-- .d_close = VBoxGuestFreeBSDClose,
-+ .d_open = VBoxGuestFreeBSDOpen,
- .d_ioctl = VBoxGuestFreeBSDIOCtl,
- .d_read = VBoxGuestFreeBSDRead,
- .d_write = VBoxGuestFreeBSDWrite,
-@@ -130,106 +119,45 @@
- .d_name = DEVICE_NAME
+- .d_fdopen = vgdrvFreeBSDOpen,
+- .d_close = vgdrvFreeBSDClose,
++ .d_open = vgdrvFreeBSDOpen,
+ .d_ioctl = vgdrvFreeBSDIOCtl,
+ .d_read = vgdrvFreeBSDRead,
+ .d_write = vgdrvFreeBSDWrite,
+@@ -143,81 +139,28 @@ static struct cdevsw g_vgdrvFreeBSDCh
+ .d_name = "vboxguest"
};
+/** Device structure. */
+static struct cdev *g_pDev;
++
/** Device extention & session data association structure. */
static VBOXGUESTDEVEXT g_DevExt;
+
-/** List of cloned device. Managed by the kernel. */
--static struct clonedevs *g_pVBoxGuestFreeBSDClones;
+-static struct clonedevs *g_pvgdrvFreeBSDClones;
-/** The dev_clone event handler tag. */
--static eventhandler_tag g_VBoxGuestFreeBSDEHTag;
+-static eventhandler_tag g_vgdrvFreeBSDEHTag;
/** Reference counter */
static volatile uint32_t cUsers;
/** selinfo structure used for polling. */
@@ -63,13 +51,13 @@
-/**
- * DEVFS event handler.
- */
--static void VBoxGuestFreeBSDClone(void *pvArg, struct ucred *pCred, char *pszName, int cchName, struct cdev **ppDev)
-+static void VBoxGuestFreeBSDDtr(void *pSession)
+-static void vgdrvFreeBSDClone(void *pvArg, struct ucred *pCred, char *pszName, int cchName, struct cdev **ppDev)
++static void vgdrvFreeBSDDtr(void *pSession)
{
- int iUnit;
- int rc;
-
-- Log(("VBoxGuestFreeBSDClone: pszName=%s ppDev=%p\n", pszName, ppDev));
+- Log(("vgdrvFreeBSDClone: pszName=%s ppDev=%p\n", pszName, ppDev));
-
- /*
- * One device node per user, si_drv1 points to the session.
@@ -83,17 +71,17 @@
- return;
- if (iUnit >= 256)
- {
-- Log(("VBoxGuestFreeBSDClone: iUnit=%d >= 256 - rejected\n", iUnit));
+- Log(("vgdrvFreeBSDClone: iUnit=%d >= 256 - rejected\n", iUnit));
- return;
- }
-
-- Log(("VBoxGuestFreeBSDClone: pszName=%s iUnit=%d\n", pszName, iUnit));
+- Log(("vgdrvFreeBSDClone: pszName=%s iUnit=%d\n", pszName, iUnit));
-
-- rc = clone_create(&g_pVBoxGuestFreeBSDClones, &g_VBoxGuestFreeBSDChrDevSW, &iUnit, ppDev, 0);
-- Log(("VBoxGuestFreeBSDClone: clone_create -> %d; iUnit=%d\n", rc, iUnit));
+- rc = clone_create(&g_pvgdrvFreeBSDClones, &g_vgdrvFreeBSDChrDevSW, &iUnit, ppDev, 0);
+- Log(("vgdrvFreeBSDClone: clone_create -> %d; iUnit=%d\n", rc, iUnit));
- if (rc)
- {
-- *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
+- *ppDev = make_dev(&g_vgdrvFreeBSDChrDevSW,
- iUnit,
- UID_ROOT,
- GID_WHEEL,
@@ -103,17 +91,17 @@
- {
- dev_ref(*ppDev);
- (*ppDev)->si_flags |= SI_CHEAPCLONE;
-- Log(("VBoxGuestFreeBSDClone: Created *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
+- Log(("vgdrvFreeBSDClone: Created *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2));
- (*ppDev)->si_drv1 = (*ppDev)->si_drv2 = NULL;
- }
- else
-- Log(("VBoxGuestFreeBSDClone: make_dev iUnit=%d failed\n", iUnit));
+- Log(("vgdrvFreeBSDClone: make_dev iUnit=%d failed\n", iUnit));
- }
- else
-- Log(("VBoxGuestFreeBSDClone: Existing *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
+- Log(("vgdrvFreeBSDClone: Existing *ppDev=%p iUnit=%d si_drv1=%p si_drv2=%p\n",
- *ppDev, iUnit, (*ppDev)->si_drv1, (*ppDev)->si_drv2));
-+ VBoxGuestCloseSession(&g_DevExt, pSession);
++ VGDrvCommonCloseSession(&g_DevExt, pSession);
+ ASMAtomicDecU32(&cUsers);
}
@@ -122,18 +110,16 @@
*
*/
-#if __FreeBSD_version >= 700000
--static int VBoxGuestFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd, struct file *pFd)
+-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd, struct file *pFd)
-#else
--static int VBoxGuestFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd)
+-static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, struct thread *pTd)
-#endif
-+static int VBoxGuestFreeBSDOpen(struct cdev *pDev, int fOpen, int DevType, struct thread *pTd)
++static int vgdrvFreeBSDOpen(struct cdev *pDev, int fOpen, int DevType, struct thread *pTd)
{
-- int rc;
-- PVBOXGUESTSESSION pSession;
-+ PVBOXGUESTSESSION pSession;
-+ int rc;
-
- LogFlow((DEVICE_NAME ":VBoxGuestFreeBSDOpen\n"));
+ int rc;
+ PVBOXGUESTSESSION pSession;
+@@ -225,25 +168,18 @@ static int vgdrvFreeBSDOpen(struct cdev
+ LogFlow(("vgdrvFreeBSDOpen:\n"));
/*
- * Try grab it (we don't grab the giant, remember).
@@ -144,52 +130,52 @@
- /*
* Create a new session.
*/
- rc = VBoxGuestCreateUserSession(&g_DevExt, &pSession);
+ rc = VGDrvCommonCreateUserSession(&g_DevExt, &pSession);
if (RT_SUCCESS(rc))
{
- if (ASMAtomicCmpXchgPtr(&pDev->si_drv1, pSession, (void *)0x42))
- {
-- Log((DEVICE_NAME ":VBoxGuestFreeBSDOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
-+ Log((DEVICE_NAME ":VBoxGuestFreeBSDOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
-+ rc = devfs_set_cdevpriv(pSession, VBoxGuestFreeBSDDtr);
+- Log(("vgdrvFreeBSDOpen: success - g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
++ Log((DEVICE_NAME ":vgdrvFreeBSDOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));
++ rc = devfs_set_cdevpriv(pSession, vgdrvFreeBSDDtr);
+ if (rc)
-+ VBoxGuestCloseSession(&g_DevExt, pSession);
++ VGDrvCommonCloseSession(&g_DevExt, pSession);
+ else
ASMAtomicIncU32(&cUsers);
- return 0;
- }
-
-- VBoxGuestCloseSession(&g_DevExt, pSession);
+- VGDrvCommonCloseSession(&g_DevExt, pSession);
+ return rc;
}
- LogRel((DEVICE_NAME ":VBoxGuestFreeBSDOpen: failed. rc=%d\n", rc));
-@@ -237,47 +165,19 @@
+ LogRel(("vgdrvFreeBSDOpen: failed. rc=%d\n", rc));
+@@ -251,47 +187,17 @@ static int vgdrvFreeBSDOpen(struct cdev
}
/**
- * File close handler
- *
- */
--static int VBoxGuestFreeBSDClose(struct cdev *pDev, int fFile, int DevType, struct thread *pTd)
+-static int vgdrvFreeBSDClose(struct cdev *pDev, int fFile, int DevType, struct thread *pTd)
-{
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
-- Log(("VBoxGuestFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
+- Log(("vgdrvFreeBSDClose: fFile=%#x pSession=%p\n", fFile, pSession));
-
- /*
- * Close the session if it's still hanging on to the device...
- */
- if (VALID_PTR(pSession))
- {
-- VBoxGuestCloseSession(&g_DevExt, pSession);
+- VGDrvCommonCloseSession(&g_DevExt, pSession);
- if (!ASMAtomicCmpXchgPtr(&pDev->si_drv1, NULL, pSession))
-- Log(("VBoxGuestFreeBSDClose: si_drv1=%p expected %p!\n", pDev->si_drv1, pSession));
+- Log(("vgdrvFreeBSDClose: si_drv1=%p expected %p!\n", pDev->si_drv1, pSession));
- ASMAtomicDecU32(&cUsers);
- /* Don't use destroy_dev here because it may sleep resulting in a hanging user process. */
- destroy_dev_sched(pDev);
- }
- else
-- Log(("VBoxGuestFreeBSDClose: si_drv1=%p!\n", pSession));
+- Log(("vgdrvFreeBSDClose: si_drv1=%p!\n", pSession));
- return 0;
-}
-
@@ -197,14 +183,13 @@
* IOCTL handler
*
*/
- static int VBoxGuestFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
+ static int vgdrvFreeBSDIOCtl(struct cdev *pDev, u_long ulCmd, caddr_t pvData, int fFile, struct thread *pTd)
{
-- LogFlow((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl\n"));
-+ PVBOXGUESTSESSION pSession;
-+ int rc;
-
+- LogFlow(("vgdrvFreeBSDIOCtl\n"));
+-
- int rc = 0;
-+ LogFlow((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl\n"));
++ int rc;
++ PVBOXGUESTSESSION pSession;
- /*
- * Validate the input.
@@ -218,16 +203,15 @@
/*
* Validate the request wrapper.
-@@ -294,43 +194,46 @@
- Log((DEVICE_NAME ": VBoxGuestFreeBSDIOCtl: bad magic %#x; pArg=%p Cmd=%lu.\n", ReqWrap->u32Magic, pvData, ulCmd));
+@@ -308,43 +214,46 @@ static int vgdrvFreeBSDIOCtl(struct cdev
+ Log(("vgdrvFreeBSDIOCtl: bad magic %#x; pArg=%p Cmd=%lu.\n", ReqWrap->u32Magic, pvData, ulCmd));
return EINVAL;
}
- if (RT_UNLIKELY( ReqWrap->cbData == 0
- || ReqWrap->cbData > _1M*16))
-+
+ if (RT_UNLIKELY(ReqWrap->cbData > _1M*16))
{
- printf(DEVICE_NAME ": VBoxGuestFreeBSDIOCtl: bad size %#x; pArg=%p Cmd=%lu.\n", ReqWrap->cbData, pvData, ulCmd);
+ printf("vgdrvFreeBSDIOCtl: bad size %#x; pArg=%p Cmd=%lu.\n", ReqWrap->cbData, pvData, ulCmd);
return EINVAL;
}
@@ -240,13 +224,13 @@
+ void *pvBuf = NULL;
+ if (RT_LIKELY(ReqWrap->cbData > 0))
{
-- Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap->cbData));
+- Log(("vgdrvFreeBSDIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap->cbData));
- return ENOMEM;
- }
+ pvBuf = RTMemTmpAlloc(ReqWrap->cbData);
+ if (RT_UNLIKELY(!pvBuf))
+ {
-+ Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap->cbData));
++ Log((DEVICE_NAME ":vgdrvFreeBSDIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap->cbData));
+ return ENOMEM;
+ }
@@ -254,88 +238,81 @@
- if (RT_UNLIKELY(rc))
- {
- RTMemTmpFree(pvBuf);
-- Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: copyin failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, pvData, ulCmd, rc));
+- Log(("vgdrvFreeBSDIOCtl: copyin failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, pvData, ulCmd, rc));
- return EFAULT;
- }
- if (RT_UNLIKELY( ReqWrap->cbData != 0
- && !VALID_PTR(pvBuf)))
- {
- RTMemTmpFree(pvBuf);
-- Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: pvBuf invalid pointer %p\n", pvBuf));
+- Log(("vgdrvFreeBSDIOCtl: pvBuf invalid pointer %p\n", pvBuf));
- return EINVAL;
+ rc = copyin((void *)(uintptr_t)ReqWrap->pvDataR3, pvBuf, ReqWrap->cbData);
+ if (RT_UNLIKELY(rc))
+ {
+ RTMemTmpFree(pvBuf);
-+ Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: copyin failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, pvData, ulCmd, rc));
++ Log(("vgdrvFreeBSDIOCtl: copyin failed; pvBuf=%p pArg=%p Cmd=%lu. rc=%d\n", pvBuf, pvData, ulCmd, rc));
+ return EFAULT;
+ }
-+ if (RT_UNLIKELY(!VALID_PTR(pvBuf)))
++ if (RT_UNLIKELY( ReqWrap->cbData != 0
++ && !VALID_PTR(pvBuf)))
+ {
+ RTMemTmpFree(pvBuf);
-+ Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: pvBuf invalid pointer %p\n", pvBuf));
++ Log(("vgdrvFreeBSDIOCtl: pvBuf invalid pointer %p\n", pvBuf));
+ return EINVAL;
+ }
}
- Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: pSession=%p pid=%d.\n", pSession, (int)RTProcSelf()));
+ Log(("vgdrvFreeBSDIOCtl: pSession=%p pid=%d.\n", pSession, (int)RTProcSelf()));
/*
* Process the IOCtl.
*/
- size_t cbDataReturned;
+ size_t cbDataReturned = 0;
- rc = VBoxGuestCommonIOCtl(ulCmd, &g_DevExt, pSession, pvBuf, ReqWrap->cbData, &cbDataReturned);
+ rc = VGDrvCommonIoCtl(ulCmd, &g_DevExt, pSession, pvBuf, ReqWrap->cbData, &cbDataReturned);
if (RT_SUCCESS(rc))
{
-@@ -355,18 +258,21 @@
- Log((DEVICE_NAME ":VBoxGuestFreeBSDIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc));
- rc = EFAULT;
- }
-- RTMemTmpFree(pvBuf);
-+ if (pvBuf)
-+ RTMemTmpFree(pvBuf);
- return rc;
- }
+@@ -375,12 +284,14 @@ static int vgdrvFreeBSDIOCtl(struct cdev
- static int VBoxGuestFreeBSDPoll (struct cdev *pDev, int fEvents, struct thread *td)
+ static int vgdrvFreeBSDPoll(struct cdev *pDev, int fEvents, struct thread *td)
{
- int fEventsProcessed;
+ PVBOXGUESTSESSION pSession;
+ int fEventsProcessed, rc;
- LogFlow((DEVICE_NAME "::Poll: fEvents=%d\n", fEvents));
+ LogFlow(("vgdrvFreeBSDPoll: fEvents=%d\n", fEvents));
- PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pDev->si_drv1;
- if (RT_UNLIKELY(!VALID_PTR(pSession))) {
+ rc = devfs_get_cdevpriv((void **)&pSession);
+ if (rc)
+ {
- Log((DEVICE_NAME "::Poll: no state data for %s\n", devtoname(pDev)));
+ Log(("vgdrvFreeBSDPoll: no state data for %s\n", devtoname(pDev)));
return (fEvents & (POLLHUP|POLLIN|POLLRDNORM|POLLOUT|POLLWRNORM));
}
-@@ -407,10 +313,7 @@
+@@ -421,10 +332,7 @@ static int vgdrvFreeBSDDetach(device_t p
/*
- * Reverse what we did in VBoxGuestFreeBSDAttach.
+ * Reverse what we did in vgdrvFreeBSDAttach.
*/
-- if (g_VBoxGuestFreeBSDEHTag != NULL)
-- EVENTHANDLER_DEREGISTER(dev_clone, g_VBoxGuestFreeBSDEHTag);
+- if (g_vgdrvFreeBSDEHTag != NULL)
+- EVENTHANDLER_DEREGISTER(dev_clone, g_vgdrvFreeBSDEHTag);
-
-- clone_cleanup(&g_pVBoxGuestFreeBSDClones);
+- clone_cleanup(&g_pvgdrvFreeBSDClones);
+ destroy_dev(g_pDev);
- VBoxGuestFreeBSDRemoveIRQ(pDevice, pState);
+ vgdrvFreeBSDRemoveIRQ(pDevice, pState);
-@@ -562,18 +465,21 @@
+@@ -576,18 +484,21 @@ static int vgdrvFreeBSDAttach(device_t p
if (RT_SUCCESS(rc))
{
/*
- * Configure device cloning.
+ * Configure device.
*/
-- clone_setup(&g_pVBoxGuestFreeBSDClones);
-- g_VBoxGuestFreeBSDEHTag = EVENTHANDLER_REGISTER(dev_clone, VBoxGuestFreeBSDClone, 0, 1000);
-- if (g_VBoxGuestFreeBSDEHTag)
-+ g_pDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
+- clone_setup(&g_pvgdrvFreeBSDClones);
+- g_vgdrvFreeBSDEHTag = EVENTHANDLER_REGISTER(dev_clone, vgdrvFreeBSDClone, 0, 1000);
+- if (g_vgdrvFreeBSDEHTag)
++ g_pDev = make_dev(&g_vgdrvFreeBSDChrDevSW,
+ 0,
+ UID_ROOT,
+ GID_WHEEL,
@@ -348,8 +325,8 @@
}
- printf(DEVICE_NAME ": EVENTHANDLER_REGISTER(dev_clone,,,) failed\n");
-- clone_cleanup(&g_pVBoxGuestFreeBSDClones);
+- clone_cleanup(&g_pvgdrvFreeBSDClones);
+ printf(DEVICE_NAME ": make_dev failed\n");
- VBoxGuestFreeBSDRemoveIRQ(pDevice, pState);
+ vgdrvFreeBSDRemoveIRQ(pDevice, pState);
}
else
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
index 3ba00c40e807..157f291eba94 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-freebsd-Makefile
@@ -1,6 +1,6 @@
---- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2014-09-18 22:18:11.602040183 +0400
-+++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile 2014-09-18 22:18:29.900039743 +0400
-@@ -72,6 +72,7 @@
+--- src/VBox/Additions/common/VBoxGuest/freebsd/Makefile.orig 2015-04-14 15:38:06.000000000 -0400
++++ src/VBox/Additions/common/VBoxGuest/freebsd/Makefile 2015-04-14 18:25:23.090523000 -0400
+@@ -71,6 +71,7 @@
handletable.c \
handletablectx.c \
once.c \
@@ -8,3 +8,13 @@
thread.c
.PATH: ${.CURDIR}/common/string
+@@ -149,8 +150,7 @@
+ spinlock-r0drv-freebsd.c \
+ thread-r0drv-freebsd.c \
+ thread2-r0drv-freebsd.c \
+- time-r0drv-freebsd.c \
+- timer-r0drv-freebsd.c
++ time-r0drv-freebsd.c
+
+ .PATH: ${.CURDIR}/r0drv/generic
+ SRCS += \
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxmouse-Makefile.kmk b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxmouse-Makefile.kmk
index 1fc77edd92a1..14c34aa2db49 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxmouse-Makefile.kmk
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxmouse-Makefile.kmk
@@ -1,4 +1,4 @@
---- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2016-04-20 09:56:37 UTC
+--- src/VBox/Additions/x11/vboxmouse/Makefile.kmk.orig 2016-04-18 15:20:42 UTC
+++ src/VBox/Additions/x11/vboxmouse/Makefile.kmk
@@ -228,6 +228,72 @@ vboxmouse_drv_112_INCS := \
vboxmouse_drv_112_SOURCES = \
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxvideo-vboxvideo_dri.c b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxvideo-vboxvideo_dri.c
deleted file mode 100644
index d2f8c2be6ab8..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Additions-x11-vboxvideo-vboxvideo_dri.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c.orig 2015-03-02 10:06:59.000000000 -0500
-+++ src/VBox/Additions/x11/vboxvideo/vboxvideo_dri.c 2015-03-02 18:33:59.041474000 -0500
-@@ -238,9 +238,11 @@
- pDRIInfo->TransitionTo2d = VBOXDRITransitionTo2d;
- pDRIInfo->TransitionTo3d = VBOXDRITransitionTo3d;
-
-+#if defined(XORG_VERSION_CURRENT) && XORG_VERSION_CURRENT < 11700000
- /* These two are set in DRICreateInfoRec(). */
- pDRIInfo->wrap.ValidateTree = NULL;
- pDRIInfo->wrap.PostValidateTree = NULL;
-+#endif
-
- pDRIInfo->drmDriverName = VBOX_DRM_DRIVER_NAME;
- pDRIInfo->clientDriverName = VBOX_DRI_DRIVER_NAME;
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Audio-ossaudio.c b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Audio-ossaudio.c
deleted file mode 100644
index 652430cb222e..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Audio-ossaudio.c
+++ /dev/null
@@ -1,19 +0,0 @@
-Fix recording with OSS Audio backend to record at a proper volume
-
-Obtained from: https://www.virtualbox.org/ticket/10695
---- src/VBox/Devices/Audio/ossaudio.c.orig 2012-12-19 19:26:32.000000000 +0100
-+++ src/VBox/Devices/Audio/ossaudio.c 2012-12-20 12:23:18.476851732 +0100
-@@ -795,13 +795,8 @@
- hw->info.align + 1);
- }
- read_samples += nread >> hwshift;
--#ifndef VBOX
- hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
- &nominal_volume);
--#else
-- hw->conv (hw->conv_buf + bufs[i].add, p, nread >> hwshift,
-- &pcm_in_volume);
--#endif
- }
-
- if (bufs[i].len - nread) {
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Input-PS2M.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Input-PS2M.cpp
deleted file mode 100644
index 93fcb409991d..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Input-PS2M.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Devices/Input/PS2M.cpp.orig 2015-03-02 10:09:15.000000000 -0500
-+++ src/VBox/Devices/Input/PS2M.cpp 2015-03-16 13:38:03.324517000 -0400
-@@ -709,7 +709,7 @@
- static void ps2mReportAccumulatedEvents(PPS2M pThis)
- {
- uint8_t val;
-- int8_t dX, dY, dZ;
-+ int dX, dY, dZ;
-
- /* Clamp the accumulated delta values to the allowed range. */
- dX = RT_MIN(RT_MAX(pThis->iAccumX, -256), 255);
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Network-slirp-resolv_conf_parser.c b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Network-slirp-resolv_conf_parser.c
deleted file mode 100644
index 0248be948790..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-Network-slirp-resolv_conf_parser.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Devices/Network/slirp/resolv_conf_parser.c.orig 2014-01-30 22:19:47.429683181 +0400
-+++ src/VBox/Devices/Network/slirp/resolv_conf_parser.c 2014-01-30 22:22:08.149672985 +0400
-@@ -15,6 +15,8 @@
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-+#include <sys/socket.h>
-+
- #include <iprt/assert.h>
- #include <iprt/initterm.h>
- #include <iprt/net.h>
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-DevOHCI.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-DevOHCI.cpp
deleted file mode 100644
index 4c6e66f3fbf4..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-DevOHCI.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Devices/USB/DevOHCI.cpp.orig 2015-03-02 10:09:35.000000000 -0500
-+++ src/VBox/Devices/USB/DevOHCI.cpp 2015-03-12 16:15:51.519656000 -0400
-@@ -3717,7 +3717,7 @@
- pUrb = pThis->aInFlight[i].pUrb;
- if (pThis->aInFlight[i].fInactive
- && pUrb->enmState == VUSBURBSTATE_IN_FLIGHT
-- && !pUrb->enmType == VUSBXFERTYPE_CTRL)
-+ && pUrb->enmType != VUSBXFERTYPE_CTRL)
- pThis->RootHub.pIRhConn->pfnCancelUrbsEp(pThis->RootHub.pIRhConn, pUrb);
- }
- }
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-freebsd-USBProxyDevice-freebsd.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-freebsd-USBProxyDevice-freebsd.cpp
deleted file mode 100644
index 0224a77751ba..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Devices-USB-freebsd-USBProxyDevice-freebsd.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
---- src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp.orig 2014-11-21 16:22:08.000000000 +0100
-+++ src/VBox/Devices/USB/freebsd/USBProxyDevice-freebsd.cpp 2014-11-28 17:25:16.000000000 +0100
-@@ -52,6 +52,7 @@
- #include <iprt/asm.h>
- #include <iprt/string.h>
- #include <iprt/file.h>
-+#include <iprt/pipe.h>
- #include "../USBProxyDevice.h"
-
- /** Maximum endpoints supported. */
-@@ -95,12 +96,16 @@
- {
- /** The open file. */
- RTFILE hFile;
-- /** Software endpoint structures */
-- USBENDPOINTFBSD aSwEndpoint[USBFBSD_MAXENDPOINTS];
- /** Flag whether an URB is cancelling. */
- bool fCancelling;
- /** Flag whether initialised or not */
- bool fInit;
-+ /** Pipe handle for waking up - writing end. */
-+ RTPIPE hPipeWakeupW;
-+ /** Pipe handle for waking up - reading end. */
-+ RTPIPE hPipeWakeupR;
-+ /** Software endpoint structures */
-+ USBENDPOINTFBSD aSwEndpoint[USBFBSD_MAXENDPOINTS];
- /** Kernel endpoint structures */
- struct usb_fs_endpoint aHwEndpoint[USBFBSD_MAXENDPOINTS];
- } USBPROXYDEVFBSD, *PUSBPROXYDEVFBSD;
-@@ -383,10 +388,17 @@
- rc = usbProxyFreeBSDFsInit(pProxyDev);
- if (RT_SUCCESS(rc))
- {
-- LogFlow(("usbProxyFreeBSDOpen(%p, %s): returns successfully hFile=%RTfile iActiveCfg=%d\n",
-- pProxyDev, pszAddress, pDevFBSD->hFile, pProxyDev->iActiveCfg));
-+ /*
-+ * Create wakeup pipe.
-+ */
-+ rc = RTPipeCreate(&pDevFBSD->hPipeWakeupR, &pDevFBSD->hPipeWakeupW, 0);
-+ if (RT_SUCCESS(rc))
-+ {
-+ LogFlow(("usbProxyFreeBSDOpen(%p, %s): returns successfully hFile=%RTfile iActiveCfg=%d\n",
-+ pProxyDev, pszAddress, pDevFBSD->hFile, pProxyDev->iActiveCfg));
-
-- return VINF_SUCCESS;
-+ return VINF_SUCCESS;
-+ }
- }
-
- RTFileClose(hFile);
-@@ -449,12 +461,12 @@
-
- usbProxyFreeBSDFsUnInit(pProxyDev);
-
-+ RTPipeClose(pDevFBSD->hPipeWakeupR);
-+ RTPipeClose(pDevFBSD->hPipeWakeupW);
-+
- RTFileClose(pDevFBSD->hFile);
- pDevFBSD->hFile = NIL_RTFILE;
-
-- RTMemFree(pDevFBSD);
-- pProxyDev->Backend.pv = NULL;
--
- LogFlow(("usbProxyFreeBSDClose: returns\n"));
- }
-
-@@ -688,9 +700,10 @@
- pUrb, (unsigned)pUrb->EndPt, (unsigned)pUrb->enmDir));
-
- ep_num = pUrb->EndPt;
--
-- if ((pUrb->enmType != VUSBXFERTYPE_MSG) && (pUrb->enmDir == VUSBDIRECTION_IN))
-+ if ((pUrb->enmType != VUSBXFERTYPE_MSG) && (pUrb->enmDir == VUSBDIRECTION_IN)) {
-+ /* set IN-direction bit */
- ep_num |= 0x80;
-+ }
-
- index = 0;
-
-@@ -822,7 +835,7 @@
- PUSBENDPOINTFBSD pEndpointFBSD;
- PVUSBURB pUrb;
- struct usb_fs_complete UsbFsComplete;
-- struct pollfd PollFd;
-+ struct pollfd pfd[2];
- int rc;
-
- LogFlow(("usbProxyFreeBSDUrbReap: pProxyDev=%p, cMillies=%u\n",
-@@ -946,23 +959,38 @@
- (unsigned)pEndpointFBSD->acbData[1]));
-
- }
-- else if (cMillies && rc == VERR_RESOURCE_BUSY)
-+ else if (cMillies != 0 && rc == VERR_RESOURCE_BUSY)
- {
-- /* Poll for finished transfers */
-- PollFd.fd = RTFileToNative(pDevFBSD->hFile);
-- PollFd.events = POLLIN | POLLRDNORM;
-- PollFd.revents = 0;
--
-- rc = poll(&PollFd, 1, (cMillies == RT_INDEFINITE_WAIT) ? INFTIM : cMillies);
-- if (rc >= 1)
-- {
-- goto repeat;
-- }
-- else
-+ for (;;)
- {
-- LogFlow(("usbProxyFreeBSDUrbReap: "
-- "poll returned rc=%d\n", rc));
-+ pfd[0].fd = RTFileToNative(pDevFBSD->hFile);
-+ pfd[0].events = POLLIN | POLLRDNORM;
-+ pfd[0].revents = 0;
-+
-+ pfd[1].fd = RTPipeToNative(pDevFBSD->hPipeWakeupR);
-+ pfd[1].events = POLLIN | POLLRDNORM;
-+ pfd[1].revents = 0;
-+
-+ rc = poll(pfd, 2, (cMillies == RT_INDEFINITE_WAIT) ? INFTIM : cMillies);
-+ if (rc > 0)
-+ {
-+ if (pfd[1].revents & POLLIN)
-+ {
-+ /* Got woken up, drain pipe. */
-+ uint8_t bRead;
-+ size_t cbIgnored = 0;
-+ RTPipeRead(pDevFBSD->hPipeWakeupR, &bRead, 1, &cbIgnored);
-+ /* Make sure we return from this function */
-+ cMillies = 0;
-+ }
-+ break;
-+ }
-+ if (rc == 0)
-+ return NULL;
-+ if (errno != EAGAIN)
-+ return NULL;
- }
-+ goto repeat;
- }
- return pUrb;
- }
-@@ -984,6 +1012,16 @@
- return usbProxyFreeBSDEndpointClose(pProxyDev, index);
- }
-
-+static DECLCALLBACK(int) usbProxyFreeBSDWakeup(PUSBPROXYDEV pProxyDev)
-+{
-+ PUSBPROXYDEVFBSD pDevFBSD = USBPROXYDEV_2_DATA(pProxyDev, PUSBPROXYDEVFBSD);
-+ size_t cbIgnored;
-+
-+ LogFlowFunc(("pProxyDev=%p\n", pProxyDev));
-+
-+ return RTPipeWrite(pDevFBSD->hPipeWakeupW, "", 1, &cbIgnored);
-+}
-+
- /**
- * The FreeBSD USB Proxy Backend.
- */
-@@ -992,7 +1030,7 @@
- /* pszName */
- "host",
- /* cbBackend */
-- sizeof(PUSBPROXYDEVFBSD),
-+ sizeof(USBPROXYDEVFBSD),
- usbProxyFreeBSDOpen,
- usbProxyFreeBSDInit,
- usbProxyFreeBSDClose,
-@@ -1005,6 +1043,7 @@
- usbProxyFreeBSDUrbQueue,
- usbProxyFreeBSDUrbCancel,
- usbProxyFreeBSDUrbReap,
-+ usbProxyFreeBSDWakeup,
- 0
- };
-
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VBoxManage-VBoxManageModifyVM.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VBoxManage-VBoxManageModifyVM.cpp
deleted file mode 100644
index 34e6943432ba..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VBoxManage-VBoxManageModifyVM.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp.orig 2015-03-02 10:09:37.000000000 -0500
-+++ src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp 2015-03-12 18:33:09.348465000 -0400
-@@ -1732,7 +1732,7 @@
- CHECK_ERROR(nic, COMGETTER(NATEngine)(engine.asOutParam()));
-
- uint32_t aliasMode = 0;
-- if (!RTStrCmp(ValueUnion.psz, "default") == 0)
-+ if (RTStrCmp(ValueUnion.psz, "default") != 0)
- {
- char *token = (char *)ValueUnion.psz;
- while(token)
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk b/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk
deleted file mode 100644
index 7723674c7961..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/VBox/Frontends/VirtualBox/Makefile.kmk.orig 2013-10-16 21:47:09.588793988 +0400
-+++ src/VBox/Frontends/VirtualBox/Makefile.kmk 2013-10-16 21:47:37.458794265 +0400
-@@ -175,10 +175,6 @@
- # Necessary for the hdd backend enumeration
- VirtualBox_LIBS = $(LIB_DDU)
-
--if1of ($(KBUILD_TARGET), linux freebsd netbsd openbsd)
-- VirtualBox_LIBS += dl
--endif
--
- # This library is required for multi-monitor support
- VirtualBox_LIBS.linux += Xinerama
- VirtualBox_LIBS.solaris += Xinerama
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-src-runtime-UIKeyboardHandler.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-src-runtime-UIKeyboardHandler.cpp
deleted file mode 100644
index fe412a78387c..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-src-runtime-UIKeyboardHandler.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp.orig 2015-03-02 10:09:41.000000000 -0500
-+++ src/VBox/Frontends/VirtualBox/src/runtime/UIKeyboardHandler.cpp 2015-03-12 17:11:33.029804000 -0400
-@@ -622,7 +622,7 @@
- unsigned scan = handleXKeyEvent(pEvent);
-
- /* Scancodes 0x00 (no valid translation) and 0x80 are ignored: */
-- if (!scan & 0x7F)
-+ if (!(scan & 0x7F))
- {
- fResult = true;
- break;
-@@ -1603,7 +1603,7 @@
- {
- KeySym ks = wrapXkbKeycodeToKeysym(pDisplay, keyCode, i, 0);
- char symbol = 0;
-- if (!XkbTranslateKeySym(pDisplay, &ks, 0, &symbol, 1, NULL) == 1)
-+ if (XkbTranslateKeySym(pDisplay, &ks, 0, &symbol, 1, NULL) == 0)
- symbol = 0;
- if (symbol)
- {
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_line.h b/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_line.h
deleted file mode 100644
index 64432f6787bc..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_line.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/GuestHost/OpenGL/include/state/cr_line.h.orig 2015-03-02 10:09:45.000000000 -0500
-+++ src/VBox/GuestHost/OpenGL/include/state/cr_line.h 2015-03-02 19:26:01.576169000 -0500
-@@ -5,7 +5,7 @@
- */
-
- #ifndef CR_STATE_LINE_H
--#define SR_STATE_LINE_H
-+#define CR_STATE_LINE_H
-
- #include "state/cr_statetypes.h"
-
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_point.h b/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_point.h
deleted file mode 100644
index b8570a56acef..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-GuestHost-OpenGL-include-state-cr_point.h
+++ /dev/null
@@ -1,19 +0,0 @@
---- src/VBox/GuestHost/OpenGL/include/state/cr_point.h.orig 2015-03-02 10:09:45.000000000 -0500
-+++ src/VBox/GuestHost/OpenGL/include/state/cr_point.h 2015-03-02 19:21:08.518525000 -0500
-@@ -4,8 +4,8 @@
- * See the file LICENSE.txt for information on redistributing this software.
- */
-
--#ifndef CR_STATE_LINE_H
--#define SR_STATE_LINE_H
-+#ifndef CR_STATE_POINT_H
-+#define CR_STATE_POINT_H
-
- #include "state/cr_statetypes.h"
-
-@@ -59,4 +59,4 @@
- }
- #endif
-
--#endif /* CR_STATE_LINE_H */
-+#endif /* CR_STATE_POINT_H */
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile b/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile
index 6cbc6e1b2193..b6c287976b66 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-Makefile
@@ -1,18 +1,27 @@
---- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2014-09-09 23:54:29.000000000 +0400
-+++ src/VBox/HostDrivers/Support/freebsd/Makefile 2014-09-15 02:58:19.712268153 +0400
-@@ -81,6 +81,7 @@
+--- src/VBox/HostDrivers/Support/freebsd/Makefile.orig 2016-07-18 11:56:20 UTC
++++ src/VBox/HostDrivers/Support/freebsd/Makefile
+@@ -81,6 +81,7 @@ SRCS += \
+ assert.c \
handletable.c \
handletablectx.c \
++ handletablesimple.c \
once.c \
-+ term.c \
+ term.c \
thread.c
+@@ -92,13 +93,14 @@ SRCS += \
+ RTStrCopy.c \
+ RTStrCopyEx.c \
+ RTStrCopyP.c \
++ memchr.c \
+ strformat.c \
+ strformatrt.c \
+ strformattype.c \
++ stringalloc.c \
+ strprintf.c \
+ strtonum.c \
+- memchr.c \
+- stringalloc.c
++ utf-8.c
- .PATH: ${.CURDIR}/common/string
-@@ -170,6 +171,7 @@
+ .PATH: ${.CURDIR}/common/rand
SRCS += \
- semspinmutex-r0drv-generic.c \
- mpnotification-r0drv-generic.c \
-+ threadctxhooks-r0drv-generic.c \
- RTMpIsCpuWorkPending-r0drv-generic.c
-
- .PATH: ${.CURDIR}/VBox
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv b/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv
index 47828ab0cef5..704b42feb78f 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-HostDrivers-Support-freebsd-files_vboxdrv
@@ -1,10 +1,27 @@
---- src/VBox/HostDrivers/Support/freebsd/files_vboxdrv.orig 2014-09-15 03:01:58.782238686 +0400
-+++ src/VBox/HostDrivers/Support/freebsd/files_vboxdrv 2014-09-15 03:02:08.840242076 +0400
-@@ -112,6 +112,7 @@
+--- src/VBox/HostDrivers/Support/freebsd/files_vboxdrv.orig 2016-07-18 11:56:20 UTC
++++ src/VBox/HostDrivers/Support/freebsd/files_vboxdrv
+@@ -116,6 +116,7 @@ FILES_VBOXDRV_NOBIN=" \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.cpp=>common/misc/handletable.c \
${PATH_ROOT}/src/VBox/Runtime/common/misc/handletable.h=>common/misc/handletable.h \
${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablectx.cpp=>common/misc/handletablectx.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/misc/handletablesimple.cpp=>common/misc/handletablesimple.c \
${PATH_ROOT}/src/VBox/Runtime/common/misc/once.cpp=>common/misc/once.c \
-+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/misc/term.cpp=>common/misc/term.c \
${PATH_ROOT}/src/VBox/Runtime/common/misc/thread.cpp=>common/misc/thread.c \
- ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopyP.cpp=>common/string/RTStrCopyP.c \
- ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopy.cpp=>common/string/RTStrCopy.c \
+@@ -124,13 +125,14 @@ FILES_VBOXDRV_NOBIN=" \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrCopyEx.cpp=>common/string/RTStrCopyEx.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrNCmp.cpp=>common/string/RTStrNCmp.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/RTStrNLen.cpp=>common/string/RTStrNLen.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/string/memchr.cpp=>common/string/memchr.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strformat.cpp=>common/string/strformat.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strformatrt.cpp=>common/string/strformatrt.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strformattype.cpp=>common/string/strformattype.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/string/stringalloc.cpp=>common/string/stringalloc.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strprintf.cpp=>common/string/strprintf.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/string/strtonum.cpp=>common/string/strtonum.c \
+- ${PATH_ROOT}/src/VBox/Runtime/common/string/memchr.cpp=>common/string/memchr.c \
+- ${PATH_ROOT}/src/VBox/Runtime/common/string/stringalloc.cpp=>common/string/stringalloc.c \
++ ${PATH_ROOT}/src/VBox/Runtime/common/string/utf-8.cpp=>common/string/utf-8.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/rand/rand.cpp=>common/rand/rand.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/rand/randadv.cpp=>common/rand/randadv.c \
+ ${PATH_ROOT}/src/VBox/Runtime/common/rand/randparkmiller.cpp=>common/rand/randparkmiller.c \
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-Makefile.kmk b/emulators/virtualbox-ose/files/patch-src-VBox-Main-Makefile.kmk
deleted file mode 100644
index 3212e42b7e55..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-Makefile.kmk
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/VBox/Main/Makefile.kmk.orig 2013-11-09 02:27:38.919839981 +0400
-+++ src/VBox/Main/Makefile.kmk 2013-11-09 02:19:21.868873439 +0400
-@@ -404,7 +404,8 @@
- src-server/HostDnsServiceResolvConf.cpp
-
- VBoxSVC_SOURCES.freebsd = \
-- src-server/freebsd/HostHardwareFreeBSD.cpp
-+ src-server/freebsd/HostHardwareFreeBSD.cpp \
-+ src-server/HostDnsServiceResolvConf.cpp
-
-
- ifdef VBOX_WITH_USB
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-ConsoleImpl2.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-ConsoleImpl2.cpp
deleted file mode 100644
index 332db3d68e09..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-client-ConsoleImpl2.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
---- src/VBox/Main/src-client/ConsoleImpl2.cpp.orig 2015-03-02 10:09:53.000000000 -0500
-+++ src/VBox/Main/src-client/ConsoleImpl2.cpp 2015-03-13 12:49:53.780376000 -0400
-@@ -4447,12 +4447,12 @@
- }
- }
-
-- Assert((int)maTapFD[uInstance] >= 0);
-- if ((int)maTapFD[uInstance] >= 0)
-+ Assert((intptr_t)maTapFD[uInstance] >= 0);
-+ if ((intptr_t)maTapFD[uInstance] >= 0)
- {
- InsertConfigString(pLunL0, "Driver", "HostInterface");
- InsertConfigNode(pLunL0, "Config", &pCfg);
-- InsertConfigInteger(pCfg, "FileHandle", maTapFD[uInstance]);
-+ InsertConfigInteger(pCfg, "FileHandle", (intptr_t)maTapFD[uInstance]);
- }
-
- #elif defined(VBOX_WITH_NETFLT)
-@@ -4646,12 +4646,12 @@
- }
- }
-
-- Assert((int)maTapFD[uInstance] >= 0);
-- if ((int)maTapFD[uInstance] >= 0)
-+ Assert((intptr_t)maTapFD[uInstance] >= 0);
-+ if ((intptr_t)maTapFD[uInstance] >= 0)
- {
- InsertConfigString(pLunL0, "Driver", "HostInterface");
- InsertConfigNode(pLunL0, "Config", &pCfg);
-- InsertConfigInteger(pCfg, "FileHandle", maTapFD[uInstance]);
-+ InsertConfigInteger(pCfg, "FileHandle", (intptr_t)maTapFD[uInstance]);
- }
- break;
- }
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-MachineImpl.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-MachineImpl.cpp
index aeb572ebfb2b..55bc1d9b182b 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-MachineImpl.cpp
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-MachineImpl.cpp
@@ -1,44 +1,44 @@
---- src/VBox/Main/src-server/MachineImpl.cpp.orig 2013-12-18 11:10:25.000000000 -0500
-+++ src/VBox/Main/src-server/MachineImpl.cpp 2014-02-20 19:17:10.000000000 -0500
-@@ -2374,7 +2374,7 @@
+--- src/VBox/Main/src-server/MachineImpl.cpp.orig 2015-04-01 12:15:13.000000000 -0400
++++ src/VBox/Main/src-server/MachineImpl.cpp 2015-04-01 16:11:54.601620000 -0400
+@@ -2299,7 +2299,7 @@
case 0x8:
case 0x9:
case 0xA:
- AssertCompile(RT_ELEMENTS(mHWData->mCpuIdStdLeafs) == 0xB);
+ // AssertCompile(RT_ELEMENTS(mHWData->mCpuIdStdLeafs) == 0xB);
AssertRelease(aId < RT_ELEMENTS(mHWData->mCpuIdStdLeafs));
- setModified(IsModified_MachineData);
+ i_setModified(IsModified_MachineData);
mHWData.backup();
-@@ -2396,7 +2396,7 @@
+@@ -2321,7 +2321,7 @@
case 0x80000008:
case 0x80000009:
case 0x8000000A:
- AssertCompile(RT_ELEMENTS(mHWData->mCpuIdExtLeafs) == 0xB);
+ // AssertCompile(RT_ELEMENTS(mHWData->mCpuIdExtLeafs) == 0xB);
AssertRelease(aId - 0x80000000 < RT_ELEMENTS(mHWData->mCpuIdExtLeafs));
- setModified(IsModified_MachineData);
+ i_setModified(IsModified_MachineData);
mHWData.backup();
-@@ -2436,7 +2436,7 @@
+@@ -2358,7 +2358,7 @@
case 0x8:
case 0x9:
case 0xA:
- AssertCompile(RT_ELEMENTS(mHWData->mCpuIdStdLeafs) == 0xB);
+ // AssertCompile(RT_ELEMENTS(mHWData->mCpuIdStdLeafs) == 0xB);
AssertRelease(aId < RT_ELEMENTS(mHWData->mCpuIdStdLeafs));
- setModified(IsModified_MachineData);
+ i_setModified(IsModified_MachineData);
mHWData.backup();
-@@ -2455,7 +2455,7 @@
+@@ -2377,7 +2377,7 @@
case 0x80000008:
case 0x80000009:
case 0x8000000A:
- AssertCompile(RT_ELEMENTS(mHWData->mCpuIdExtLeafs) == 0xB);
+ // AssertCompile(RT_ELEMENTS(mHWData->mCpuIdExtLeafs) == 0xB);
AssertRelease(aId - 0x80000000 < RT_ELEMENTS(mHWData->mCpuIdExtLeafs));
- setModified(IsModified_MachineData);
+ i_setModified(IsModified_MachineData);
mHWData.backup();
-@@ -9322,7 +9322,7 @@
+@@ -8790,7 +8790,7 @@
mHWData->mVideoCaptureEnabled = data.fVideoCaptureEnabled;
- for (unsigned i = 0; i < RT_ELEMENTS(mHWData->maVideoCaptureScreens); i++)
+ for (unsigned i = 0; i < RT_ELEMENTS(mHWData->maVideoCaptureScreens); ++i)
mHWData->maVideoCaptureScreens[i] = ASMBitTest(&data.u64VideoCaptureScreens, i);
- AssertCompile(RT_ELEMENTS(mHWData->maVideoCaptureScreens) == sizeof(data.u64VideoCaptureScreens) * 8);
+ // AssertCompile(RT_ELEMENTS(mHWData->maVideoCaptureScreens) == sizeof(data.u64VideoCaptureScreens) * 8);
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
index 6bc69386d9ab..445e0b54c3d5 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-VirtualBoxImpl.cpp
@@ -1,6 +1,6 @@
---- src/VBox/Main/src-server/VirtualBoxImpl.cpp.orig 2013-12-18 11:10:25.000000000 -0500
-+++ src/VBox/Main/src-server/VirtualBoxImpl.cpp 2014-02-20 19:51:23.000000000 -0500
-@@ -2355,7 +2355,7 @@
+--- src/VBox/Main/src-server/VirtualBoxImpl.cpp.orig 2015-04-01 12:15:14.000000000 -0400
++++ src/VBox/Main/src-server/VirtualBoxImpl.cpp 2015-04-07 12:25:59.226583000 -0400
+@@ -2172,7 +2172,7 @@
if (aCiphertextSize < 32)
return VERR_INVALID_PARAMETER;
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp
index 5183592f247a..e747d27e69fd 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Main-src-server-freebsd-HostHardwareFreeBSD.cpp
@@ -1,19 +1,14 @@
---- src/VBox/Main/src-server/freebsd/HostHardwareFreeBSD.cpp.orig 2013-11-29 14:24:12.000000000 -0500
-+++ src/VBox/Main/src-server/freebsd/HostHardwareFreeBSD.cpp 2013-12-13 18:03:02.000000000 -0500
-@@ -39,6 +39,7 @@
- # include <sys/stat.h>
- # include <unistd.h>
- # include <sys/ioctl.h>
-+# include <stdio.h>
- # include <fcntl.h>
- # include <cam/cam.h>
- # include <cam/cam_ccb.h>
-@@ -250,7 +251,7 @@
+--- src/VBox/Main/src-server/freebsd/HostHardwareFreeBSD.cpp.orig 2015-04-14 15:41:25.000000000 -0400
++++ src/VBox/Main/src-server/freebsd/HostHardwareFreeBSD.cpp 2015-04-14 18:25:23.156536000 -0400
+@@ -251,8 +251,9 @@
PeriphMatchPattern.pattern.periph_pattern.path_id = paMatches[i].result.device_result.path_id;
PeriphMatchPattern.pattern.periph_pattern.target_id = paMatches[i].result.device_result.target_id;
PeriphMatchPattern.pattern.periph_pattern.target_lun = paMatches[i].result.device_result.target_lun;
-- PeriphMatchPattern.pattern.periph_pattern.flags = PERIPH_MATCH_PATH | PERIPH_MATCH_TARGET | PERIPH_MATCH_LUN;
-+ PeriphMatchPattern.pattern.periph_pattern.flags = static_cast<periph_pattern_flags>(PERIPH_MATCH_PATH | PERIPH_MATCH_TARGET | PERIPH_MATCH_LUN);
+- PeriphMatchPattern.pattern.periph_pattern.flags = PERIPH_MATCH_PATH | PERIPH_MATCH_TARGET |
+- PERIPH_MATCH_LUN;
++ PeriphMatchPattern.pattern.periph_pattern.flags = static_cast<periph_pattern_flags>
++ (PERIPH_MATCH_PATH | PERIPH_MATCH_TARGET |
++ PERIPH_MATCH_LUN);
PeriphCCB.cdm.num_patterns = 1;
PeriphCCB.cdm.pattern_buf_len = sizeof(struct dev_match_result);
PeriphCCB.cdm.patterns = &PeriphMatchPattern;
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk b/emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk
index 9966761b1b84..86fa8c5fe777 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Main-webservice-Makefile.kmk
@@ -1,6 +1,6 @@
---- src/VBox/Main/webservice/Makefile.kmk.orig 2014-09-09 23:54:50.000000000 +0400
-+++ src/VBox/Main/webservice/Makefile.kmk 2014-09-11 16:34:40.678876468 +0400
-@@ -159,7 +159,6 @@
+--- src/VBox/Main/webservice/Makefile.kmk.orig 2015-10-15 13:59:24 UTC
++++ src/VBox/Main/webservice/Makefile.kmk
+@@ -159,7 +159,6 @@ VBOX_PATH_IDL := $(abspa
RECOMPILE_ON_MAKEFILE_CURRENT := $(MAKEFILE_CURRENT)
PATH_TARGET_SOAPDEMOXML := $(VBOXWEB_OUT_DIR)/demo_soapxml
@@ -8,7 +8,7 @@
PATH_TARGET_SOAPDEMONSMAPS := $(VBOXWEB_OUT_DIR)/demo_namespacemaps
PATH_TARGET_WEBTEST := $(VBOXWEB_OUT_DIR)/webtest
-@@ -512,8 +511,6 @@
+@@ -515,8 +514,6 @@ $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) |
$(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts \
$(wildcard $(PATH_TARGET_SOAPDEMOXML)/*) \
$(PATH_TARGET_SOAPDEMOXML)/dummy_file \
@@ -17,8 +17,8 @@
$(wildcard $(PATH_TARGET_SOAPDEMONSMAPS)/*) \
$(PATH_TARGET_SOAPDEMONSMAPS)/dummy_file
-@@ -691,17 +688,14 @@
- # however we cannot as it is subject to caching. Let the shell do the globbing.
+@@ -695,17 +692,14 @@ $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts
+ # any more. Ignoring the exit code is the simple solution, accepting the error.
$(VBOXWEB_OUT_DIR)/gsoap_copy_all_ts: $(VBOXWEB_OUT_DIR)/gsoap_generate_all_ts | $$(dir $$@)
$(RM) -f $@
- $(MKDIR) -p $(PATH_TARGET_SOAPDEMOXML) $(PATH_TARGET_SOAPDEMOHEADERS) $(PATH_TARGET_SOAPDEMONSMAPS)
@@ -26,7 +26,7 @@
ifdef VBOX_GSOAP_VERBOSE
$(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/*.req.xml $(VBOXWEB_OUT_DIR)/*.res.xml $(PATH_TARGET_SOAPDEMOXML)/
endif
-- $(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/soapvbox*.h $(PATH_TARGET_SOAPDEMOHEADERS)/
+- -$(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/soapvbox*.h $(PATH_TARGET_SOAPDEMOHEADERS)/
$(MV_EXT) -f -- $(VBOXWEB_OUT_DIR)/vboxBinding.nsmap $(PATH_TARGET_SOAPDEMONSMAPS)/
$(APPEND) $@ done
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
index 986b4b9c3cce..9984db4c0200 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-Makefile.kmk
@@ -12,12 +12,3 @@
# Unicode Specification reader used to regenerate unidata-*.cpp.
#
uniread_TEMPLATE = VBoxBldProg
-@@ -1004,7 +1009,7 @@
- r3/posix/RTMemProtect-posix.cpp \
- r3/posix/RTPathUserHome-posix.cpp \
- r3/posix/RTSystemQueryOSInfo-posix.cpp \
-- r3/posix/RTSystemQueryTotalRam-posix.cpp \
-+ r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp \
- r3/posix/RTTimeNow-posix.cpp \
- r3/posix/RTTimeSet-posix.cpp \
- r3/posix/dir-posix.cpp \
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-checksum-manifest3.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-checksum-manifest3.cpp
deleted file mode 100644
index 4c1976dbe4ff..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-checksum-manifest3.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Runtime/common/checksum/manifest3.cpp.orig 2015-03-02 10:09:59.000000000 -0500
-+++ src/VBox/Runtime/common/checksum/manifest3.cpp 2015-03-12 15:40:09.008443000 -0400
-@@ -427,7 +427,7 @@
- uint32_t cRefs = RTManifestRetain(hManifest);
- AssertReturn(cRefs != UINT32_MAX, VERR_INVALID_HANDLE);
- cRefs = RTVfsIoStrmRetain(hVfsIos);
-- AssertReturnStmt(cRefs != UINT32_MAX, VERR_INVALID_HANDLE, RTManifestRelease(hManifest));
-+ AssertReturnStmt(cRefs != UINT32_MAX, RTManifestRelease(hManifest), VERR_INVALID_HANDLE);
-
- /*
- * Create an instace of the passthru I/O stream.
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-dbg-dbgmodcodeview.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-dbg-dbgmodcodeview.cpp
deleted file mode 100644
index 1f5f25551752..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-common-dbg-dbgmodcodeview.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/VBox/Runtime/common/dbg/dbgmodcodeview.cpp.orig 2015-03-02 10:10:00.000000000 -0500
-+++ src/VBox/Runtime/common/dbg/dbgmodcodeview.cpp 2015-03-12 16:22:25.459078000 -0400
-@@ -2717,7 +2717,7 @@
- {
- /* Try the executable in case it has a NBxx tail header. */
- rc2 = rtDbgModCvProbeFile(pMod, pMod->pszImgFile, enmArch);
-- if (RT_FAILURE(rc2) && (RT_SUCCESS(rc) || VERR_DBG_NO_MATCHING_INTERPRETER))
-+ if (RT_FAILURE(rc2) && (RT_SUCCESS(rc) || rc == VERR_DBG_NO_MATCHING_INTERPRETER))
- rc = rc2;
- }
- }
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 d776015b58ff..8c8d73e574fe 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
@@ -1,35 +1,24 @@
-From Alan L. Cox on FreeBSD-current:
-
- I just glanced at the virtualbox code for a couple minutes. For
- FreeBSD 9 and 10, these lock acquires are completely unnecessary, and
- have been since FreeBSD 9.0. Just delete them. They may be equally
- unnecessary under FreeBSD 8, but I didn't look carefully enough to
- answer that question.
-
-[1] http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html
---- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2015-11-10 21:23:50 UTC
+--- src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c.orig 2015-12-18 16:22:29 UTC
+++ src/VBox/Runtime/r0drv/freebsd/memobj-r0drv-freebsd.c
-@@ -168,14 +168,19 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
+@@ -168,7 +168,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
VM_OBJECT_LOCK(pMemFreeBSD->pObject);
#endif
vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
+-#if __FreeBSD_version < 1000000
+#if __FreeBSD_version < 900000
-+ /* See http://lists.freebsd.org/pipermail/freebsd-current/2012-November/037963.html */
vm_page_lock_queues();
-+#endif
+ #endif
for (vm_page_t pPage = vm_page_find_least(pMemFreeBSD->pObject, 0);
- pPage != NULL;
- pPage = vm_page_next(pPage))
+@@ -177,7 +177,7 @@ DECLHIDDEN(int) rtR0MemObjNativeFree(RTR
{
vm_page_unwire(pPage, 0);
}
+-#if __FreeBSD_version < 1000000
+#if __FreeBSD_version < 900000
vm_page_unlock_queues();
-+#endif
+ #endif
#if __FreeBSD_version >= 1000030
- VM_OBJECT_WUNLOCK(pMemFreeBSD->pObject);
- #else
-@@ -201,12 +206,12 @@ static vm_page_t rtR0MemObjFreeBSDContig
+@@ -205,12 +205,12 @@ static vm_page_t rtR0MemObjFreeBSDContig
vm_page_t pPages;
int cTries = 0;
@@ -44,7 +33,7 @@ From Alan L. Cox on FreeBSD-current:
{
#if __FreeBSD_version >= 1000030
VM_OBJECT_WLOCK(pObject);
-@@ -220,18 +225,23 @@ static vm_page_t rtR0MemObjFreeBSDContig
+@@ -224,18 +224,23 @@ static vm_page_t rtR0MemObjFreeBSDContig
#else
VM_OBJECT_UNLOCK(pObject);
#endif
@@ -73,7 +62,7 @@ From Alan L. Cox on FreeBSD-current:
break;
vm_contig_grow_cache(cTries, 0, VmPhysAddrHigh);
cTries++;
-@@ -239,11 +249,8 @@ static vm_page_t rtR0MemObjFreeBSDContig
+@@ -243,11 +248,8 @@ static vm_page_t rtR0MemObjFreeBSDContig
if (!pPages)
return pPages;
@@ -86,7 +75,7 @@ From Alan L. Cox on FreeBSD-current:
for (vm_pindex_t iPage = 0; iPage < cPages; iPage++)
{
vm_page_t pPage = pPages + iPage;
-@@ -255,13 +262,9 @@ static vm_page_t rtR0MemObjFreeBSDContig
+@@ -259,13 +261,9 @@ static vm_page_t rtR0MemObjFreeBSDContig
atomic_add_int(&cnt.v_wire_count, 1);
}
}
@@ -100,23 +89,23 @@ From Alan L. Cox on FreeBSD-current:
}
static int rtR0MemObjFreeBSDPhysAllocHelper(vm_object_t pObject, u_long cPages,
-@@ -291,11 +294,15 @@ static int rtR0MemObjFreeBSDPhysAllocHel
+@@ -295,13 +293,13 @@ static int rtR0MemObjFreeBSDPhysAllocHel
while (iPage-- > 0)
{
pPage = vm_page_lookup(pObject, iPage);
+-#if __FreeBSD_version < 1000000
+#if __FreeBSD_version < 900000
vm_page_lock_queues();
-+#endif
+ #endif
if (fWire)
vm_page_unwire(pPage, 0);
vm_page_free(pPage);
+-#if __FreeBSD_version < 1000000
+#if __FreeBSD_version < 900000
vm_page_unlock_queues();
-+#endif
+ #endif
}
- #if __FreeBSD_version >= 1000030
- VM_OBJECT_WUNLOCK(pObject);
-@@ -743,7 +750,12 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
+@@ -751,7 +749,12 @@ DECLHIDDEN(int) rtR0MemObjNativeMapUser(
{
/** @todo: is this needed?. */
PROC_LOCK(pProc);
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp
deleted file mode 100644
index 4ecdf4265fa7..000000000000
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-freebsd-RTSystemQueryTotalRam-freebsd.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
---- ./src/VBox/Runtime/r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp.ORIG 2013-06-30 09:27:59.000000000 +0200
-+++ ./src/VBox/Runtime/r3/freebsd/RTSystemQueryTotalRam-freebsd.cpp 2013-06-30 09:51:29.000000000 +0200
-@@ -0,0 +1,80 @@
-+/* $Id: RTSystemQueryTotalRam-freebsd.cpp $ */
-+/** @file
-+ * IPRT - RTSystemQueryTotalRam, FreeBSD style
-+ */
-+
-+/*
-+ * Copyright (C) 2013 Martin Birgmeier, Oracle Corporation
-+ *
-+ * This file is part of VirtualBox Open Source Edition (OSE), as
-+ * available from http://www.virtualbox.org. This file is free software;
-+ * you can redistribute it and/or modify it under the terms of the GNU
-+ * General Public License (GPL) as published by the Free Software
-+ * Foundation, in version 2 as it comes in the "COPYING" file of the
-+ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
-+ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
-+ *
-+ * The contents of this file may alternatively be used under the terms
-+ * of the Common Development and Distribution License Version 1.0
-+ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
-+ * VirtualBox OSE distribution, in which case the provisions of the
-+ * CDDL are applicable instead of those of the GPL.
-+ *
-+ * You may elect to license modified versions of this file under the
-+ * terms and conditions of either the GPL or the CDDL or both.
-+ */
-+
-+
-+/*******************************************************************************
-+* Header Files *
-+*******************************************************************************/
-+#include <iprt/system.h>
-+#include "internal/iprt.h"
-+
-+#include <iprt/err.h>
-+#include <iprt/assert.h>
-+#include <iprt/string.h>
-+
-+/* FreeBSD */
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <sys/errno.h>
-+
-+RTDECL(int) RTSystemQueryTotalRam(uint64_t *pcb)
-+{
-+ int mib[2];
-+ size_t pcblen = sizeof(*pcb);
-+
-+ AssertPtrReturn(pcb, VERR_INVALID_POINTER);
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_PHYSMEM; /* HW_REALMEM is also possible, but
-+ includes non-main memory as well */
-+ *pcb = 0;
-+ if (sysctl(mib, 2, pcb, &pcblen, NULL, 0) == 0) {
-+ if (pcblen == sizeof(*pcb) || pcblen == sizeof(uint32_t))
-+ return VINF_SUCCESS;
-+ else
-+ return VERR_NO_MEMORY; /* XXX */
-+ }
-+ return RTErrConvertFromErrno(errno);
-+}
-+
-+RTDECL(int) RTSystemQueryAvailableRam(uint64_t *pcb)
-+{
-+ int mib[2];
-+ size_t pcblen = sizeof(*pcb);
-+
-+ AssertPtrReturn(pcb, VERR_INVALID_POINTER);
-+
-+ mib[0] = CTL_HW;
-+ mib[1] = HW_USERMEM;
-+ *pcb = 0;
-+ if (sysctl(mib, 2, pcb, &pcblen, NULL, 0) == 0) {
-+ if (pcblen == sizeof(*pcb) || pcblen == sizeof(uint32_t))
-+ return VINF_SUCCESS;
-+ else
-+ return VERR_NO_MEMORY; /* XXX */
-+ }
-+ return RTErrConvertFromErrno(errno);
-+}
diff --git a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-posix-utf8-posix.cpp b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-posix-utf8-posix.cpp
index 5e2439bc2923..3a2a487b42dd 100644
--- a/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-posix-utf8-posix.cpp
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Runtime-r3-posix-utf8-posix.cpp
@@ -1,26 +1,20 @@
---- src/VBox/Runtime/r3/posix/utf8-posix.cpp.orig 2015-03-16 17:04:36 UTC
-+++ src/VBox/Runtime/r3/posix/utf8-posix.cpp
-@@ -194,7 +194,10 @@ static int rtstrConvertCached(const void
+--- src/VBox/Runtime/r3/posix/utf8-posix.cpp.orig 2015-04-14 15:41:38.000000000 -0400
++++ src/VBox/Runtime/r3/posix/utf8-posix.cpp 2015-04-15 12:50:21.401092000 -0400
+@@ -194,7 +194,7 @@
const void *pvInputLeft = pvInput;
void *pvOutputLeft = pvOutput;
size_t cchNonRev;
-#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)) /* there are different opinions about the constness of the input buffer. */
-+#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) \
-+ || defined(RT_OS_FREEBSD) || defined(RT_OS_DRAGONFLY) \
-+ || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE))
-+/* there are different opinions about the constness of the input buffer. */
++#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_FREEBSD) || defined(RT_OS_DRAGONFLY) || defined(RT_OS_SOLARIS) || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)) /* there are different opinions about the constness of the input buffer. */
cchNonRev = iconv(hIconv, (char **)&pvInputLeft, &cbInLeft, (char **)&pvOutputLeft, &cbOutLeft);
#else
cchNonRev = iconv(hIconv, (const char **)&pvInputLeft, &cbInLeft, (char **)&pvOutputLeft, &cbOutLeft);
-@@ -324,7 +327,10 @@ static int rtStrConvertUncached(const vo
+@@ -324,7 +324,7 @@
const void *pvInputLeft = pvInput;
void *pvOutputLeft = pvOutput;
size_t cchNonRev;
-#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)) /* there are different opinions about the constness of the input buffer. */
-+#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_SOLARIS) \
-+ || defined(RT_OS_FREEBSD) || defined(RT_OS_DRAGONFLY) \
-+ || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE))
-+/* there are different opinions about the constness of the input buffer. */
++#if defined(RT_OS_LINUX) || defined(RT_OS_HAIKU) || defined(RT_OS_FREEBSD) || defined(RT_OS_DRAGONFLY) || defined(RT_OS_SOLARIS) || (defined(RT_OS_DARWIN) && defined(_DARWIN_FEATURE_UNIX_CONFORMANCE)) /* there are different opinions about the constness of the input buffer. */
cchNonRev = iconv(icHandle, (char **)&pvInputLeft, &cbInLeft, (char **)&pvOutputLeft, &cbOutLeft);
#else
cchNonRev = iconv(icHandle, (const char **)&pvInputLeft, &cbInLeft, (char **)&pvOutputLeft, &cbOutLeft);
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp
new file mode 100644
index 000000000000..db0d7f61a2b2
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_common_pam_pam__vbox.cpp
@@ -0,0 +1,20 @@
+--- src/VBox/Additions/common/pam/pam_vbox.cpp.orig 2016-07-18 11:50:44 UTC
++++ src/VBox/Additions/common/pam/pam_vbox.cpp
+@@ -105,7 +105,7 @@ static void pam_vbox_writesyslog(char *p
+ openlog("pam_vbox", LOG_PID, LOG_AUTHPRIV);
+ syslog(LOG_ERR, "%s", pszBuf);
+ closelog();
+-#elif defined(RT_OS_SOLARIS)
++#elif defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS)
+ syslog(LOG_ERR, "pam_vbox: %s\n", pszBuf);
+ #endif
+ }
+@@ -180,7 +180,7 @@ static int vbox_set_msg(pam_handle_t *hP
+
+ pam_message msg;
+ msg.msg_style = iStyle;
+-#ifdef RT_OS_SOLARIS
++#if defined(RT_OS_FREEBSD) || defined(RT_OS_SOLARIS)
+ msg.msg = (char*)pszText;
+ #else
+ msg.msg = pszText;
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_Makefile.kmk b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_Makefile.kmk
new file mode 100644
index 000000000000..9c2791c791ea
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_Makefile.kmk
@@ -0,0 +1,10 @@
+--- src/VBox/Additions/freebsd/Makefile.kmk.orig 2016-07-18 11:50:44 UTC
++++ src/VBox/Additions/freebsd/Makefile.kmk
+@@ -67,6 +67,7 @@ VBOX_FBSD_ADD_STRIP_BIN = \
+ vboxvideo_drv_15.so \
+ vboxvideo_drv_16.so \
+ vboxvideo_drv_17.so \
++ $(if $(VBOX_WITH_PAM),pam_vbox.so,) \
+ VBoxOGLarrayspu.so \
+ VBoxOGLcrutil.so \
+ VBoxOGLerrorspu.so \
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_VBoxClient_display.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_VBoxClient_display.cpp
new file mode 100644
index 000000000000..5327d6939e9a
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Additions_x11_VBoxClient_display.cpp
@@ -0,0 +1,13 @@
+--- src/VBox/Additions/x11/VBoxClient/display.cpp.orig 2016-07-18 11:50:46 UTC
++++ src/VBox/Additions/x11/VBoxClient/display.cpp
+@@ -75,8 +75,8 @@ static unsigned char *getRootProperty(st
+ {
+ Atom actualType = None;
+ int iFormat = 0;
+- ulong cReturned = 0;
+- ulong cAfter = 0;
++ unsigned long cReturned = 0;
++ unsigned long cAfter = 0;
+ unsigned char *pData = 0;
+
+ if (XGetWindowProperty(pState->pDisplay, DefaultRootWindow(pState->pDisplay),
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostALSAAudio.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostALSAAudio.cpp
new file mode 100644
index 000000000000..fa825e739979
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Audio_DrvHostALSAAudio.cpp
@@ -0,0 +1,18 @@
+--- src/VBox/Devices/Audio/DrvHostALSAAudio.cpp.orig 2016-07-18 11:52:55 UTC
++++ src/VBox/Devices/Audio/DrvHostALSAAudio.cpp
+@@ -982,6 +982,7 @@ static DECLCALLBACK(int) drvHostALSAAudi
+ continue;
+ }
+
++#if EPIPE != ESTRPIPE
+ case -ESTRPIPE:
+ {
+ /* Stream was suspended and waiting for a recovery. */
+@@ -995,6 +996,7 @@ static DECLCALLBACK(int) drvHostALSAAudi
+ LogFlowFunc(("Resumed suspended output stream\n"));
+ continue;
+ }
++#endif
+
+ default:
+ LogFlowFunc(("Failed to write %RI32 output frames, rc=%Rrc\n",
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk
index 01c9ee03b3c7..ea8a9aa10498 100644
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_Makefile.kmk
@@ -1,18 +1,29 @@
---- src/VBox/Devices/Makefile.kmk.orig 2016-04-20 10:01:06 UTC
+--- src/VBox/Devices/Makefile.kmk.orig 2016-07-18 11:54:57 UTC
+++ src/VBox/Devices/Makefile.kmk
-@@ -801,11 +801,13 @@ if !defined(VBOX_ONLY_EXTPACKS)
- $(call MSG_TOOL,iasl,VBoxDD,$<,$@)
- $(QUIET)$(RM) -f $@ $@.tmp $@.pre
- $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o $@.pre $<
-- $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $@.pre
-+ $(QUIET)$(SED) "s/<NL>/\n/g" \
-+ --output $@.pre1 $@.pre
-+ $(QUIET)$(VBOX_IASLCMD) -tc -vs -p $@ $@.pre1
- $(QUIET)$(MV) -f $@ $@.tmp
- $(QUIET)$(SED) "s/AmlCode/AmlCodeSsdtCpuHotPlug/g" \
- --output $@ $@.tmp
-- $(QUIET)$(RM) -f $@.tmp $@.pre
-+ $(QUIET)$(RM) -f $@.tmp $@.pre $@.pre1
+@@ -547,7 +547,7 @@ if !defined(VBOX_ONLY_EXTPACKS)
+ Audio/DrvHostDSound.cpp
+ endif
+- ifeq ($(KBUILD_TARGET),linux)
++ if1of ($(KBUILD_TARGET), freebsd linux)
+ ifdef VBOX_WITH_OSS
+ VBoxDD_DEFS += VBOX_WITH_OSS
+ VBoxDD_SOURCES += \
+@@ -569,17 +569,6 @@ if !defined(VBOX_ONLY_EXTPACKS)
+ endif
+ endif
- vboxssdt-cpuhotplug.hex:: $$(VBoxDD_0_OUTDIR)/vboxssdt-cpuhotplug.hex
+- ifeq ($(KBUILD_TARGET),freebsd)
+- VBoxDD_SOURCES += \
+- Audio/DrvHostOSSAudio.cpp
+- ifdef VBOX_WITH_PULSE
+- VBoxDD_DEFS += VBOX_WITH_PULSE
+- VBoxDD_SOURCES += \
+- Audio/DrvHostPulseAudio.cpp \
+- Audio/pulse_stubs.c
+- endif
+- endif
+-
+ ifeq ($(KBUILD_TARGET),solaris)
+ ifdef VBOX_WITH_OSS
+ VBoxDD_SOURCES += Audio/DrvHostOSSAudio.cpp
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_vbox-cpuhotplug.dsl b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_vbox-cpuhotplug.dsl
deleted file mode 100644
index 310328af4177..000000000000
--- a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_PC_vbox-cpuhotplug.dsl
+++ /dev/null
@@ -1,64 +0,0 @@
---- src/VBox/Devices/PC/vbox-cpuhotplug.dsl.orig 2016-04-20 10:01:38 UTC
-+++ src/VBox/Devices/PC/vbox-cpuhotplug.dsl
-@@ -27,16 +27,28 @@ DefinitionBlock ("SSDT-cpuhotplug.aml",
- Return(LEqual(CPUL, 0x01))
- }
-
-+ // Method to notify the VMM that a CPU is not
-+ // in use anymore and can be safely removed.
-+ // Using the extra method here because the CPUL
-+ // register identifer clashes with the CPUL object defined
-+ // below making iasl starting with version 20150930 fail.
-+ //
-+ // Think of CPLO as "CPU Lock Open"
-+ Method(CPLO, 1)
-+ {
-+ Store(Arg0, CPUL)
-+ }
-+
- Scope (\_SB)
- {
-
--#define GENERATE_CPU_OBJECT(id, sck, sckuid, cpu, cpuuid) \
-+#define GENERATE_CPU_OBJECT(id, sck, sckuid, cpu, cpuuid)<NL> \
- Device (sck) \
- { \
- Name (_HID, "ACPI0004") \
- Name (_UID, sckuid) \
- \
-- \
-+ <NL> \
- Processor (cpu, /* Name */ \
- id, /* Id */ \
- 0x0, /* Processor IO ports range start */ \
-@@ -46,8 +58,8 @@ DefinitionBlock ("SSDT-cpuhotplug.aml",
- Name (_HID, "ACPI0007") \
- Name (_UID, cpuuid) \
- Name (_PXM, 0x00) \
-- \
-- Method(_MAT, 0) \
-+ <NL> \
-+ Method(_MAT, 0, Serialized) \
- { \
- Name (APIC, Buffer (8) {0x00, 0x08, id, id}) \
- IF (CPCK(id)) \
-@@ -60,6 +72,7 @@ DefinitionBlock ("SSDT-cpuhotplug.aml",
- } \
- Return (APIC) \
- } \
-+ <NL> \
- Method(_STA) /* Used for device presence detection */ \
- { \
- IF (CPCK(id)) \
-@@ -71,9 +84,10 @@ DefinitionBlock ("SSDT-cpuhotplug.aml",
- Return (0x0) \
- } \
- } \
-+ <NL> \
- Method(_EJ0, 1) \
- { \
-- Store(id, CPUL) /* Unlock the CPU */ \
-+ CPLO(id) /* Unlock the CPU */ \
- Return \
- } \
- } \
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Devices_build_VBoxDD.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_build_VBoxDD.cpp
new file mode 100644
index 000000000000..1c7e876a6a12
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Devices_build_VBoxDD.cpp
@@ -0,0 +1,25 @@
+--- src/VBox/Devices/build/VBoxDD.cpp.orig 2016-07-18 11:55:27 UTC
++++ src/VBox/Devices/build/VBoxDD.cpp
+@@ -286,7 +286,7 @@ extern "C" DECLEXPORT(int) VBoxDriversRe
+ if (RT_FAILURE(rc))
+ return rc;
+ #endif
+-#if defined(RT_OS_LINUX)
++#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
+ # ifdef VBOX_WITH_PULSE
+ rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostPulseAudio);
+ if (RT_FAILURE(rc))
+@@ -302,12 +302,7 @@ extern "C" DECLEXPORT(int) VBoxDriversRe
+ if (RT_FAILURE(rc))
+ return rc;
+ # endif
+-#endif /* RT_OS_LINUX */
+-#if defined(RT_OS_FREEBSD)
+- rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostOSSAudio);
+- if (RT_FAILURE(rc))
+- return rc;
+-#endif
++#endif /* RT_OS_LINUX || RT_OS_FREEBSD */
+ #if defined(RT_OS_DARWIN)
+ rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvHostCoreAudio);
+ if (RT_FAILURE(rc))
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp
new file mode 100644
index 000000000000..1784b6e9b4ba
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Frontends_VBoxManage_VBoxManageHelp.cpp
@@ -0,0 +1,34 @@
+--- src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp.orig 2016-07-18 11:55:55 UTC
++++ src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
+@@ -791,7 +791,7 @@ void printUsage(USAGECATEGORY fCategory,
+ RTStrmPrintf(pStrm, "|dsound");
+ #endif
+ }
+- if (fLinux || fSolaris)
++ if (fLinux || fFreeBSD || fSolaris)
+ {
+ RTStrmPrintf(pStrm, ""
+ #ifdef VBOX_WITH_OSS
+@@ -805,22 +805,6 @@ void printUsage(USAGECATEGORY fCategory,
+ #endif
+ );
+ }
+- if (fFreeBSD)
+- {
+-#ifdef VBOX_WITH_OSS
+- /* Get the line break sorted when dumping all option variants. */
+- if (fDumpOpts)
+- {
+- RTStrmPrintf(pStrm, "|\n"
+- " oss");
+- }
+- else
+- RTStrmPrintf(pStrm, "|oss");
+-#endif
+-#ifdef VBOX_WITH_PULSE
+- RTStrmPrintf(pStrm, "|pulse");
+-#endif
+- }
+ if (fDarwin)
+ {
+ RTStrmPrintf(pStrm, "|coreaudio");
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c
new file mode 100644
index 000000000000..dc7ab72498ce
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_HostDrivers_Support_freebsd_SUPDrv-freebsd.c
@@ -0,0 +1,12 @@
+--- src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c.orig 2016-07-18 11:56:20 UTC
++++ src/VBox/HostDrivers/Support/freebsd/SUPDrv-freebsd.c
+@@ -541,8 +541,7 @@ bool VBOXCALL supdrvOSGetForcedAsyncTsc
+
+ bool VBOXCALL supdrvOSAreCpusOfflinedOnSuspend(void)
+ {
+- /** @todo verify this. */
+- return false;
++ return true;
+ }
+
+
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_USBProxyServiceFreeBSD.cpp b/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_USBProxyServiceFreeBSD.cpp
new file mode 100644
index 000000000000..88cdc6698fa0
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Main_src-server_freebsd_USBProxyServiceFreeBSD.cpp
@@ -0,0 +1,28 @@
+--- src/VBox/Main/src-server/freebsd/USBProxyServiceFreeBSD.cpp.orig 2016-07-18 11:56:36 UTC
++++ src/VBox/Main/src-server/freebsd/USBProxyServiceFreeBSD.cpp
+@@ -322,21 +322,21 @@ PUSBDEVICE USBProxyServiceFreeBSD::getDe
+
+ if (UsbDevInfo.udi_vendor[0] != '\0')
+ {
++ USBLibPurgeEncoding(UsbDevInfo.udi_vendor);
+ pDevice->pszManufacturer = RTStrDupN(UsbDevInfo.udi_vendor, sizeof(UsbDevInfo.udi_vendor));
+- USBLibPurgeEncoding(pDevice->pszManufacturer);
+ }
+
+ if (UsbDevInfo.udi_product[0] != '\0')
+ {
++ USBLibPurgeEncoding(UsbDevInfo.udi_product);
+ pDevice->pszProduct = RTStrDupN(UsbDevInfo.udi_product, sizeof(UsbDevInfo.udi_product));
+- USBLibPurgeEncoding(pDevice->pszProduct);
+ }
+
+ if (UsbDevInfo.udi_serial[0] != '\0')
+ {
++ USBLibPurgeEncoding(UsbDevInfo.udi_serial);
+ pDevice->pszSerialNumber = RTStrDupN(UsbDevInfo.udi_serial, sizeof(UsbDevInfo.udi_serial));
+- USBLibPurgeEncoding(pDevice->pszSerialNumber);
+- pDevice->u64SerialHash = USBLibHashSerial(pDevice->pszSerialNumber);
++ pDevice->u64SerialHash = USBLibHashSerial(UsbDevInfo.udi_serial);
+ }
+ rc = ioctl(FileUsb, USB_GET_PLUGTIME, &PlugTime);
+ if (rc == 0)
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c
new file mode 100644
index 000000000000..f17a42bfa9a7
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_thread-r0drv-freebsd.c
@@ -0,0 +1,62 @@
+--- src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c.orig 2016-07-18 11:56:55 UTC
++++ src/VBox/Runtime/r0drv/freebsd/thread-r0drv-freebsd.c
+@@ -49,7 +49,6 @@ RTDECL(RTNATIVETHREAD) RTThreadNativeSel
+ static int rtR0ThreadFbsdSleepCommon(RTMSINTERVAL cMillies)
+ {
+ int rc;
+- int cTicks;
+
+ /*
+ * 0 ms sleep -> yield.
+@@ -65,6 +64,21 @@ static int rtR0ThreadFbsdSleepCommon(RTM
+ */
+ if (cMillies != RT_INDEFINITE_WAIT)
+ {
++#if __FreeBSD_version >= 1000029
++ struct timeval tv;
++
++ tv.tv_sec = cMillies / 1000;
++ tv.tv_usec = cMillies * 1000;
++
++ rc = tsleep_sbt((void *)RTThreadSleep,
++ PZERO | PCATCH,
++ "iprtsl", /* max 6 chars */
++ tvtosbt(tv),
++ 0,
++ C_ABSOLUTE);
++#else
++ int cTicks;
++
+ if (hz == 1000)
+ cTicks = cMillies;
+ else if (hz == 100)
+@@ -76,14 +90,23 @@ static int rtR0ThreadFbsdSleepCommon(RTM
+ if (cTicks != cTicks64)
+ cTicks = INT_MAX;
+ }
++ if (!cTicks)
++ cTicks = 1;
++
++ rc = tsleep((void *)RTThreadSleep,
++ PZERO | PCATCH,
++ "iprtsl", /* max 6 chars */
++ cTicks);
++#endif
+ }
+ else
+- cTicks = 0; /* requires giant lock! */
+-
+- rc = tsleep((void *)RTThreadSleep,
+- PZERO | PCATCH,
+- "iprtsl", /* max 6 chars */
+- cTicks);
++ {
++ /* requires giant lock! */
++ rc = tsleep((void *)RTThreadSleep,
++ PZERO | PCATCH,
++ "iprts0", /* max 6 chars */
++ 0);
++ }
+ switch (rc)
+ {
+ case 0:
diff --git a/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c
new file mode 100644
index 000000000000..c54138933db1
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src_VBox_Runtime_r0drv_freebsd_time-r0drv-freebsd.c
@@ -0,0 +1,43 @@
+--- src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c.orig 2016-07-18 11:56:55 UTC
++++ src/VBox/Runtime/r0drv/freebsd/time-r0drv-freebsd.c
+@@ -40,16 +40,23 @@
+
+ RTDECL(uint64_t) RTTimeNanoTS(void)
+ {
+- struct timespec tsp;
+- nanouptime(&tsp);
+- return tsp.tv_sec * RT_NS_1SEC_64
+- + tsp.tv_nsec;
++ struct bintime bt;
++ uint64_t ns;
++ binuptime(&bt);
++ ns = RT_NS_1SEC_64 * bt.sec;
++ ns += (RT_NS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32;
++ return ns;
+ }
+
+
+ RTDECL(uint64_t) RTTimeMilliTS(void)
+ {
+- return RTTimeNanoTS() / RT_NS_1MS;
++ struct bintime bt;
++ uint64_t ms;
++ binuptime(&bt);
++ ms = RT_MS_1SEC_64 * bt.sec;
++ ms += (RT_MS_1SEC_64 * (uint32_t)(bt.frac >> 32)) >> 32;
++ return ms;
+ }
+
+
+@@ -67,8 +74,7 @@ RTDECL(uint64_t) RTTimeSystemMilliTS(voi
+
+ RTDECL(PRTTIMESPEC) RTTimeNow(PRTTIMESPEC pTime)
+ {
+- struct timespec tsp;
+- nanotime(&tsp);
+- return RTTimeSpecSetTimespec(pTime, &tsp);
++ struct timespec ts;
++ nanotime(&ts);
++ return RTTimeSpecSetTimespec(pTime, &ts);
+ }
+-
diff --git a/emulators/virtualbox-ose/files/vboxheadless.in b/emulators/virtualbox-ose/files/vboxheadless.in
index 6d01a50f7db2..442a8be7a040 100644
--- a/emulators/virtualbox-ose/files/vboxheadless.in
+++ b/emulators/virtualbox-ose/files/vboxheadless.in
@@ -73,7 +73,7 @@ vboxheadless_start()
vboxheadless_stop()
{
- local machine mpidfile pid vmname vmuser vmstop vmdelay
+ local machine mpidfile pid pids vmname vmuser vmstop vmdelay
echo "Saving states for Virtual Machines:"
for machine in ${vboxheadless_machines}; do
@@ -87,14 +87,17 @@ vboxheadless_stop()
/usr/bin/printf "%25s " "${vmname}"
if [ -n "${pid}" ]; then
+ pids="${pids} ${pid}"
/bin/sleep ${vmdelay}
- /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage controlvm '${vmname}' ${vmstop} >/dev/null" 2>/dev/null
- wait_for_pids $pid >/dev/null
- echo "Stopped"
- else
- echo "Not running?"
+ /usr/bin/su ${vmuser} -c "%%VBOXDIR%%/VBoxManage controlvm '${vmname}' ${vmstop} >/dev/null &" 2>/dev/null
fi
done
+ if [ -n "${pids}" ]; then
+ wait_for_pids $pids >/dev/null
+ echo "Stopped"
+ else
+ echo "Not running?"
+ fi
}
vboxheadless_status()
diff --git a/emulators/virtualbox-ose/pkg-plist b/emulators/virtualbox-ose/pkg-plist
index 216b543a958c..d3c9f0dd3a33 100644
--- a/emulators/virtualbox-ose/pkg-plist
+++ b/emulators/virtualbox-ose/pkg-plist
@@ -12,14 +12,6 @@ bin/vboxmanage
%%X11%%bin/vboxsdl
%%WEBSERVICE%%bin/vboxwebsrv
%%QT4%%bin/virtualbox
-include/virtualbox/VBoxCAPI_v2_2.h
-include/virtualbox/VBoxCAPI_v3_0.h
-include/virtualbox/VBoxCAPI_v3_1.h
-include/virtualbox/VBoxCAPI_v3_2.h
-include/virtualbox/VBoxCAPI_v4_0.h
-include/virtualbox/VBoxCAPI_v4_1.h
-include/virtualbox/VBoxCAPI_v4_2.h
-include/virtualbox/VBoxCAPI_v4_3.h
include/virtualbox/VirtualBox_XPCOM.h
include/virtualbox/ipcIClientObserver.h
include/virtualbox/ipcIDConnectService.h
@@ -28,13 +20,6 @@ include/virtualbox/ipcIMessageObserver.h
include/virtualbox/ipcIService.h
include/virtualbox/ipcITransactionObserver.h
include/virtualbox/ipcITransactionService.h
-include/virtualbox/ipcd/ipcCID.h
-include/virtualbox/ipcd/ipcLockCID.h
-include/virtualbox/ipcd/ipcMessageReader.h
-include/virtualbox/ipcd/ipcMessageWriter.h
-include/virtualbox/ipcd/ipcModule.h
-include/virtualbox/ipcd/ipcModuleUtil.h
-include/virtualbox/ipcd/ipcdclient.h
include/virtualbox/nsIArray.h
include/virtualbox/nsIAsyncInputStream.h
include/virtualbox/nsIAsyncOutputStream.h
@@ -118,34 +103,15 @@ include/virtualbox/nsITraceRefcnt.h
include/virtualbox/nsIVariant.h
include/virtualbox/nsIWeakReference.h
include/virtualbox/nsIXPTLoader.h
-include/virtualbox/nsprpub/md/_darwin.cfg
-include/virtualbox/nsprpub/md/_darwin.h
-include/virtualbox/nsprpub/md/_freebsd.cfg
-include/virtualbox/nsprpub/md/_freebsd.h
-include/virtualbox/nsprpub/md/_iprt_atomic.h
-include/virtualbox/nsprpub/md/_linux.cfg
-include/virtualbox/nsprpub/md/_linux.h
-include/virtualbox/nsprpub/md/_macos.h
-include/virtualbox/nsprpub/md/_netbsd.cfg
-include/virtualbox/nsprpub/md/_netbsd.h
-include/virtualbox/nsprpub/md/_openbsd.cfg
-include/virtualbox/nsprpub/md/_openbsd.h
-include/virtualbox/nsprpub/md/_os2.cfg
-include/virtualbox/nsprpub/md/_os2.h
-include/virtualbox/nsprpub/md/_os2_errors.h
-include/virtualbox/nsprpub/md/_pcos.h
-include/virtualbox/nsprpub/md/_pth.h
-include/virtualbox/nsprpub/md/_solaris.h
-include/virtualbox/nsprpub/md/_solaris32.cfg
-include/virtualbox/nsprpub/md/_solaris64.cfg
-include/virtualbox/nsprpub/md/_unix_errors.h
-include/virtualbox/nsprpub/md/_unixos.h
-include/virtualbox/nsprpub/md/prosdep.h
+include/virtualbox/nsrootidl.h
+include/virtualbox/ipcd/ipcCID.h
+include/virtualbox/ipcd/ipcLockCID.h
+include/virtualbox/ipcd/ipcMessageReader.h
+include/virtualbox/ipcd/ipcMessageWriter.h
+include/virtualbox/ipcd/ipcModule.h
+include/virtualbox/ipcd/ipcModuleUtil.h
+include/virtualbox/ipcd/ipcdclient.h
include/virtualbox/nsprpub/nspr.h
-include/virtualbox/nsprpub/obsolete/pralarm.h
-include/virtualbox/nsprpub/obsolete/probslet.h
-include/virtualbox/nsprpub/obsolete/protypes.h
-include/virtualbox/nsprpub/obsolete/prsem.h
include/virtualbox/nsprpub/plarena.h
include/virtualbox/nsprpub/plarenas.h
include/virtualbox/nsprpub/plbase64.h
@@ -170,9 +136,6 @@ include/virtualbox/nsprpub/prinit.h
include/virtualbox/nsprpub/prinrval.h
include/virtualbox/nsprpub/prio.h
include/virtualbox/nsprpub/pripcsem.h
-include/virtualbox/nsprpub/private/pprio.h
-include/virtualbox/nsprpub/private/pprthred.h
-include/virtualbox/nsprpub/private/prpriv.h
include/virtualbox/nsprpub/prlink.h
include/virtualbox/nsprpub/prlock.h
include/virtualbox/nsprpub/prlog.h
@@ -197,7 +160,36 @@ include/virtualbox/nsprpub/prtrace.h
include/virtualbox/nsprpub/prtypes.h
include/virtualbox/nsprpub/prvrsion.h
include/virtualbox/nsprpub/prwin16.h
-include/virtualbox/nsrootidl.h
+include/virtualbox/nsprpub/md/_darwin.cfg
+include/virtualbox/nsprpub/md/_darwin.h
+include/virtualbox/nsprpub/md/_freebsd.cfg
+include/virtualbox/nsprpub/md/_freebsd.h
+include/virtualbox/nsprpub/md/_iprt_atomic.h
+include/virtualbox/nsprpub/md/_linux.cfg
+include/virtualbox/nsprpub/md/_linux.h
+include/virtualbox/nsprpub/md/_macos.h
+include/virtualbox/nsprpub/md/_netbsd.cfg
+include/virtualbox/nsprpub/md/_netbsd.h
+include/virtualbox/nsprpub/md/_openbsd.cfg
+include/virtualbox/nsprpub/md/_openbsd.h
+include/virtualbox/nsprpub/md/_os2.cfg
+include/virtualbox/nsprpub/md/_os2.h
+include/virtualbox/nsprpub/md/_os2_errors.h
+include/virtualbox/nsprpub/md/_pcos.h
+include/virtualbox/nsprpub/md/_pth.h
+include/virtualbox/nsprpub/md/_solaris.h
+include/virtualbox/nsprpub/md/_solaris32.cfg
+include/virtualbox/nsprpub/md/_solaris64.cfg
+include/virtualbox/nsprpub/md/_unix_errors.h
+include/virtualbox/nsprpub/md/_unixos.h
+include/virtualbox/nsprpub/md/prosdep.h
+include/virtualbox/nsprpub/obsolete/pralarm.h
+include/virtualbox/nsprpub/obsolete/probslet.h
+include/virtualbox/nsprpub/obsolete/protypes.h
+include/virtualbox/nsprpub/obsolete/prsem.h
+include/virtualbox/nsprpub/private/pprio.h
+include/virtualbox/nsprpub/private/pprthred.h
+include/virtualbox/nsprpub/private/prpriv.h
include/virtualbox/string/nsAString.h
include/virtualbox/string/nsAlgorithm.h
include/virtualbox/string/nsCharTraits.h
@@ -339,7 +331,42 @@ include/virtualbox/xpcom/xptcall.h
include/virtualbox/xpcom/xptcstubsdecl.inc
include/virtualbox/xpcom/xptcstubsdef.inc
include/virtualbox/xpcom/xptinfo.h
-lib/virtualbox/DBGCPlugInDiggers.so
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1.0-py%%PYTHON_VER%%.egg-info
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.pyc
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py
+%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.pyc
+%%QT4%%lib/virtualbox/DbgPlugInDiggers.so
lib/virtualbox/VBox.sh
lib/virtualbox/VBoxAuth.so
lib/virtualbox/VBoxAuthSimple.so
@@ -347,10 +374,10 @@ lib/virtualbox/VBoxAutostart
lib/virtualbox/VBoxBalloonCtrl
lib/virtualbox/VBoxDD.so
lib/virtualbox/VBoxDD2.so
-lib/virtualbox/VBoxDD2GC.gc
lib/virtualbox/VBoxDD2R0.r0
-lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VBoxDD2RC.rc
lib/virtualbox/VBoxDDR0.r0
+lib/virtualbox/VBoxDDRC.rc
lib/virtualbox/VBoxDDU.so
%%QT4%%lib/virtualbox/VBoxDbg.so
%%QT4%%lib/virtualbox/VBoxDragAndDropSvc.so
@@ -373,6 +400,7 @@ lib/virtualbox/VBoxNetNAT.so
%%X11%%lib/virtualbox/VBoxOGLhosterrorspu.so
%%X11%%lib/virtualbox/VBoxOGLrenderspu.so
%%PYTHON%%lib/virtualbox/VBoxPython.so
+%%PYTHON%%lib/virtualbox/VBoxPython%%PYTHON_VERU%%.so
lib/virtualbox/VBoxREM.so
%%I386%%lib/virtualbox/VBoxREM32.so
%%I386%%lib/virtualbox/VBoxREM64.so
@@ -380,7 +408,7 @@ lib/virtualbox/VBoxRT.so
%%X11%%@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VBoxSDL
%%X11%%lib/virtualbox/VBoxSDL.so
lib/virtualbox/VBoxSVC
-lib/virtualbox/VBoxSharedClipboard.so
+%%X11%%lib/virtualbox/VBoxSharedClipboard.so
%%X11%%lib/virtualbox/VBoxSharedCrOpenGL.so
lib/virtualbox/VBoxSharedFolders.so
%%QT4%%lib/virtualbox/VBoxTestOGL
@@ -389,9 +417,13 @@ lib/virtualbox/VBoxVMMPreload.so
lib/virtualbox/VBoxXPCOM.so
lib/virtualbox/VBoxXPCOMC.so
lib/virtualbox/VBoxXPCOMIPCD
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/VMMRC.rc
%%QT4%%@(root,%%VBOXGROUP%%,4510) lib/virtualbox/VirtualBox
%%QT4%%lib/virtualbox/VirtualBox.so
lib/virtualbox/sdk
+%%WEBSERVICE%%lib/virtualbox/vboxwebsrv
+%%WEBSERVICE%%lib/virtualbox/webtest
%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.html
%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.rtf
%%VNC%%lib/virtualbox/ExtensionPacks/VNC/ExtPack-license.txt
@@ -400,11 +432,6 @@ lib/virtualbox/sdk
%%VNC%%lib/virtualbox/ExtensionPacks/VNC/%%ARCH%%/VBoxVNCMain.so
%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions.iso
%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions_%%GUEST_VER%%.iso
-%%PYTHON%%lib/virtualbox/VBoxPython%%PYTHON_VERU%%.so
-lib/virtualbox/VMMGC.gc
-lib/virtualbox/VMMR0.r0
-%%WEBSERVICE%%lib/virtualbox/vboxwebsrv
-%%WEBSERVICE%%lib/virtualbox/webtest
lib/virtualbox/components/VBoxC.so
lib/virtualbox/components/VBoxSVCM.so
lib/virtualbox/components/VBoxXPCOMBase.xpt
@@ -511,6 +538,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/VirtualBox_cs.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_da.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_de.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_el.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_en.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_es.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_eu.qm
@@ -518,6 +546,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/VirtualBox_fi.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_fr.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_gl_ES.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_he.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_hu.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_id.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_it.qm
@@ -532,6 +561,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/VirtualBox_ro.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_ru.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_sk.qm
+%%NLS%%%%DATADIR%%/nls/VirtualBox_sl.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_sr.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_sv.qm
%%NLS%%%%DATADIR%%/nls/VirtualBox_tr.qm
@@ -544,6 +574,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/qt_cs.qm
%%NLS%%%%DATADIR%%/nls/qt_da.qm
%%NLS%%%%DATADIR%%/nls/qt_de.qm
+%%NLS%%%%DATADIR%%/nls/qt_el.qm
%%NLS%%%%DATADIR%%/nls/qt_en.qm
%%NLS%%%%DATADIR%%/nls/qt_es.qm
%%NLS%%%%DATADIR%%/nls/qt_eu.qm
@@ -551,6 +582,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/qt_fi.qm
%%NLS%%%%DATADIR%%/nls/qt_fr.qm
%%NLS%%%%DATADIR%%/nls/qt_gl_ES.qm
+%%NLS%%%%DATADIR%%/nls/qt_he.qm
%%NLS%%%%DATADIR%%/nls/qt_hu.qm
%%NLS%%%%DATADIR%%/nls/qt_id.qm
%%NLS%%%%DATADIR%%/nls/qt_it.qm
@@ -565,6 +597,7 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%NLS%%%%DATADIR%%/nls/qt_ro.qm
%%NLS%%%%DATADIR%%/nls/qt_ru.qm
%%NLS%%%%DATADIR%%/nls/qt_sk.qm
+%%NLS%%%%DATADIR%%/nls/qt_sl.qm
%%NLS%%%%DATADIR%%/nls/qt_sr.qm
%%NLS%%%%DATADIR%%/nls/qt_sv.qm
%%NLS%%%%DATADIR%%/nls/qt_tr.qm
@@ -575,38 +608,3 @@ lib/virtualbox/components/VirtualBox_XPCOM.xpt
%%DATADIR%%/samples/tstVBoxAPIXPCOM.cpp
%%WEBSERVICE%%%%DATADIR%%/sdk/bindings/webservice/vboxweb.wsdl
%%PYTHON%%%%DATADIR%%/sdk/bindings/xpcom/python/xpcom
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/__init__.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi/VirtualBox_constants.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vboxapi-1.0-py%%PYTHON_VER%%.egg-info
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/__init__.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/components.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/file.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/nsError.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/primitives.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/vboxxpcom.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpcom_consts.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/xpt.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/client/__init__.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/__init__.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/enumerator.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/factory.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/loader.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/module.pyc
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.py
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/xpcom/server/policy.pyc