summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorBernhard Froehlich <decke@FreeBSD.org>2013-12-10 20:42:40 +0000
committerBernhard Froehlich <decke@FreeBSD.org>2013-12-10 20:42:40 +0000
commitc5ddc0468246937be6a6fe50eac6d1105d9f2a18 (patch)
treeeaad5e5389673aba8ebe9ca0ecb7072bee4ad2f3 /emulators
parentSupport stage (diff)
- Update to 4.2.20 [1]
- Add $_GCC_RUNTIME to vbox runpath when building with gcc from ports [2] - Add vboxwatchdog rc.d script - Fix building with gcc 4.6 from ports and remove FreeBSD specific -mno-align-long-strings - Remove checks for EoL FreeBSD versions - Support staging - Convert LIB_DEPENDS to new shlib format - Adopt OPTIONS_SUB and new OPTION_CONFIGURE_ON|OFF PR: ports/182468 [2] Submitted by: Mikhail Tsatsenko [1]
Notes
Notes: svn path=/head/; revision=336107
Diffstat (limited to 'emulators')
-rw-r--r--emulators/virtualbox-ose-additions/Makefile11
-rw-r--r--emulators/virtualbox-ose-additions/distinfo4
-rw-r--r--emulators/virtualbox-ose-additions/files/patch-Config.kmk58
-rw-r--r--emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c8
-rw-r--r--emulators/virtualbox-ose-additions/pkg-plist4
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile10
-rw-r--r--emulators/virtualbox-ose-kmod/distinfo4
-rw-r--r--emulators/virtualbox-ose/Makefile83
-rw-r--r--emulators/virtualbox-ose/distinfo8
-rw-r--r--emulators/virtualbox-ose/files/patch-Config.kmk20
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk13
-rw-r--r--emulators/virtualbox-ose/files/vboxwatchdog.in53
-rw-r--r--emulators/virtualbox-ose/pkg-plist19
13 files changed, 189 insertions, 106 deletions
diff --git a/emulators/virtualbox-ose-additions/Makefile b/emulators/virtualbox-ose-additions/Makefile
index 535b65b11f02..b5dcc95c53ac 100644
--- a/emulators/virtualbox-ose-additions/Makefile
+++ b/emulators/virtualbox-ose-additions/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.2.18
+DISTVERSION= 4.2.20
CATEGORIES= emulators
MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
http://tmp.chruetertee.ch/ \
@@ -24,6 +24,7 @@ UNIQUENAME= ${PORTNAME}${PKGNAMESUFFIX}
WRKSRC= ${WRKDIR}/VirtualBox-${PORTVERSION}
USE_RC_SUBR= vboxguest vboxservice
USES= iconv kmod
+USE_GCC= any
ONLY_FOR_ARCHS= i386 amd64
FETCH_ARGS= -pRr
USE_BZIP2= yes
@@ -39,6 +40,7 @@ CONFLICTS_INSTALL= virtualbox-ose-additions-devel-[3,4]* virtualbox-ose-[3,4]* v
OPTIONS_DEFINE= DEBUG X11 OPENGL
OPTIONS_DEFAULT= X11
+OPTIONS_SUB= DEBUG X11 OPENGL
NO_STAGE= yes
.include <bsd.port.options.mk>
@@ -58,27 +60,20 @@ MAKE_FLAGS= SYSDIR=${SRC_BASE}/sys
KMK_FLAGS+= BUILD_TYPE=debug
KMK_BUILDTYPE= debug
MAKE_FLAGS+= DEBUG_FLAGS="-O1 -g"
-PLIST_SUB+= WITH_DEBUG=""
-.else
-PLIST_SUB+= WITH_DEBUG="@comment "
.endif
.if ${PORT_OPTIONS:MX11}
VBOX_WITH_X11= 1
USE_XORG= xcursor xmu inputproto xorg-server xrandr
-PLIST_SUB+= X11=""
.else
VBOX_WITH_X11=
-PLIST_SUB+= X11="@comment "
.endif
.if ${PORT_OPTIONS:MOPENGL}
USE_XORG+= xcomposite xdamage xext xfixes
USE_GL= gl
-PLIST_SUB+= OPENGL=""
.else
CONFIGURE_ARGS+=--disable-opengl
-PLIST_SUB+= OPENGL="@comment "
.endif
.if ${ARCH} == i386
diff --git a/emulators/virtualbox-ose-additions/distinfo b/emulators/virtualbox-ose-additions/distinfo
index a2d09b4b2c28..f3287ff8e8b3 100644
--- a/emulators/virtualbox-ose-additions/distinfo
+++ b/emulators/virtualbox-ose-additions/distinfo
@@ -1,2 +1,2 @@
-SHA256 (VirtualBox-4.2.18.tar.bz2) = 9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74
-SIZE (VirtualBox-4.2.18.tar.bz2) = 76893031
+SHA256 (VirtualBox-4.2.20.tar.bz2) = 193aa3ce7c0e700fe6a12b64bf462ce633a856f1e831ee4a337cc3439b21df61
+SIZE (VirtualBox-4.2.20.tar.bz2) = 77050211
diff --git a/emulators/virtualbox-ose-additions/files/patch-Config.kmk b/emulators/virtualbox-ose-additions/files/patch-Config.kmk
new file mode 100644
index 000000000000..4c5387eeaee2
--- /dev/null
+++ b/emulators/virtualbox-ose-additions/files/patch-Config.kmk
@@ -0,0 +1,58 @@
+--- Config.kmk.orig 2013-10-15 13:01:31.000000000 +0200
++++ Config.kmk 2013-10-20 14:43:19.015746151 +0200
+@@ -3387,16 +3387,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 \
+ $(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
++TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
+ 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)
+@@ -3630,8 +3630,6 @@
+ /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBOXR3EXE_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
+ else ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBOXR3EXE_TOOL = GXX3PLAIN
+@@ -4206,8 +4204,6 @@
+ /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBOXMAINEXE_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
+ else ifeq ($(KBUILD_TARGET),solaris)
+ TEMPLATE_VBOXMAINEXE_TOOL = GXX3PLAIN
+@@ -4673,8 +4669,6 @@
+ /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBOXQT4GUIEXE_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
+ endif
+ ifeq ($(KBUILD_TARGET),solaris)
+@@ -4869,8 +4863,6 @@
+ /usr/X11R6/include \
+ /usr/local/include
+ TEMPLATE_VBOXBLDPROG_LIBPATH += \
+- /usr/lib \
+- /usr/X11R6/lib \
+ /usr/local/lib
+ else ifeq ($(KBUILD_HOST),solaris)
+ TEMPLATE_VBOXBLDPROG_TOOL = GXX3PLAIN
diff --git a/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c
index 30e49b85c315..623cebfbdfac 100644
--- a/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c
+++ b/emulators/virtualbox-ose-additions/files/patch-src-VBox-Additions-common-crOpenGL-fakedri_drv.c
@@ -1,5 +1,5 @@
---- src/VBox/Additions/common/crOpenGL/fakedri_drv.c.orig 2012-12-19 13:25:04.000000000 -0500
-+++ src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-01-27 17:57:04.000000000 -0500
+--- src/VBox/Additions/common/crOpenGL/fakedri_drv.c.orig 2013-11-28 19:30:42.000000000 +0100
++++ src/VBox/Additions/common/crOpenGL/fakedri_drv.c 2013-12-06 16:03:16.000000000 +0100
@@ -29,6 +29,15 @@
#include <dlfcn.h>
#include <elf.h>
@@ -20,12 +20,12 @@
//@todo this could be different...
#ifdef RT_ARCH_AMD64
--# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri"
+-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib64/dri:/usr/lib/dri:/usr/lib/x86_64-linux-gnu/dri:/usr/lib/xorg/modules/dri"
-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
+# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
#else
--# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri"
+-# define DRI_DEFAULT_DRIVER_DIR "/usr/lib/dri:/usr/lib/i386-linux-gnu/dri:/usr/lib/xorg/modules/dri"
-# define DRI_XORG_DRV_DIR "/usr/lib/xorg/modules/drivers/"
+# define DRI_DEFAULT_DRIVER_DIR "/usr/local/lib/dri"
+# define DRI_XORG_DRV_DIR "/usr/local/lib/xorg/modules/drivers/"
diff --git a/emulators/virtualbox-ose-additions/pkg-plist b/emulators/virtualbox-ose-additions/pkg-plist
index d4a924feddaf..f5d11ce72d10 100644
--- a/emulators/virtualbox-ose-additions/pkg-plist
+++ b/emulators/virtualbox-ose-additions/pkg-plist
@@ -24,6 +24,6 @@ sbin/VBoxService
%%X11%%@dirrmtry lib
@cwd /
%%KMODDIR%%/vboxguest.ko
-%%WITH_DEBUG%%%%KMODDIR%%/vboxguest.ko.symbols
+%%DEBUG%%%%KMODDIR%%/vboxguest.ko.symbols
%%X11%%%%KMODDIR%%/vboxvideo.ko
-%%WITH_DEBUG%%%%X11%%%%KMODDIR%%/vboxvideo.ko
+%%DEBUG%%%%X11%%%%KMODDIR%%/vboxvideo.ko
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
index 17c1cb3a996e..3deeb3de8dbd 100644
--- a/emulators/virtualbox-ose-kmod/Makefile
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.2.18
+DISTVERSION= 4.2.20
CATEGORIES= emulators
MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
http://tmp.chruetertee.ch/ \
@@ -71,14 +71,6 @@ KMK_ARCH= freebsd.${ARCH}
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 802000
-BROKEN= Does not compile on FreeBSD < 8.2
-.endif
-
-.if ${OSVERSION} < 800500 && !empty(PORT_OPTIONS:MVIMAGE)
-IGNORE= newer kernel is required to build with VIMAGE
-.endif
-
post-patch:
@${ECHO} 'VBOX_WITH_VBOXDRV = 1' > ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_NETFLT = 1' >> ${WRKSRC}/LocalConfig.kmk
diff --git a/emulators/virtualbox-ose-kmod/distinfo b/emulators/virtualbox-ose-kmod/distinfo
index a2d09b4b2c28..f3287ff8e8b3 100644
--- a/emulators/virtualbox-ose-kmod/distinfo
+++ b/emulators/virtualbox-ose-kmod/distinfo
@@ -1,2 +1,2 @@
-SHA256 (VirtualBox-4.2.18.tar.bz2) = 9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74
-SIZE (VirtualBox-4.2.18.tar.bz2) = 76893031
+SHA256 (VirtualBox-4.2.20.tar.bz2) = 193aa3ce7c0e700fe6a12b64bf462ce633a856f1e831ee4a337cc3439b21df61
+SIZE (VirtualBox-4.2.20.tar.bz2) = 77050211
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
index 15f016c125ce..3924446a456c 100644
--- a/emulators/virtualbox-ose/Makefile
+++ b/emulators/virtualbox-ose/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= virtualbox-ose
-DISTVERSION= 4.2.18
-PORTREVISION= 1
+DISTVERSION= 4.2.20
CATEGORIES= emulators
MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
http://tmp.chruetertee.ch/ \
@@ -12,7 +11,6 @@ MASTER_SITES= http://download.virtualbox.org/virtualbox/${DISTVERSION}/ \
DISTFILES= VirtualBox-${DISTVERSION}${EXTRACT_SUFX} ${GADISTFILES}
EXTRACT_ONLY= VirtualBox-${DISTVERSION}${EXTRACT_SUFX}
-#for discussion please use emulation@FreeBSD.org
MAINTAINER= vbox@FreeBSD.org
COMMENT= A general-purpose full virtualizer for x86 hardware
@@ -25,9 +23,9 @@ BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
kmk:${PORTSDIR}/devel/kBuild \
gtar:${PORTSDIR}/archivers/gtar \
cdrecord:${PORTSDIR}/sysutils/cdrtools
-LIB_DEPENDS= png15:${PORTSDIR}/graphics/png \
- xslt.2:${PORTSDIR}/textproc/libxslt \
- curl:${PORTSDIR}/ftp/curl
+LIB_DEPENDS= libpng.so:${PORTSDIR}/graphics/png \
+ libxslt.so:${PORTSDIR}/textproc/libxslt \
+ libcurl.so:${PORTSDIR}/ftp/curl
RUN_DEPENDS= ${KMODDIR}/vboxdrv.ko:${PORTSDIR}/emulators/virtualbox-ose-kmod \
cdrecord:${PORTSDIR}/sysutils/cdrtools
@@ -61,6 +59,7 @@ VBOX_GUEST_VER= ${PORTVERSION}
OPTIONS_DEFINE= QT4 DEBUG GUESTADDITIONS DBUS PULSEAUDIO UDPTUNNEL VDE VNC WEBSERVICE NLS X11
OPTIONS_DEFAULT= QT4 DBUS X11 UDPTUNNEL VNC
+OPTIONS_SUB= X11 QT4 GUESTADDITIONS VNC NLS WEBSERVICE
DEBUG_DESC= Debug symbols, additional logs and assertions
QT4_DESC= Build with QT4 Frontend
GUESTADDITIONS_DESC= Build with Guest Additions
@@ -69,6 +68,18 @@ VDE_DESC= Build with VDE support
VNC_DESC= Build with VNC support
WEBSERVICE_DESC= Build Webservice
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:${PORTSDIR}/audio/pulseaudio
+PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+
+DBUS_LIB_DEPENDS= libdbus-1.so:${PORTSDIR}/devel/dbus
+DBUS_CONFIGURE_OFF= --disable-dbus
+
+VNC_LIB_DEPENDS= libvncserver.so:${PORTSDIR}/net/libvncserver
+VNC_CONFIGURE_ON= --enable-vnc
+
+VDE_RUN_DEPENDS= vde_switch:${PORTSDIR}/net/vde2
+VDE_CONFIGURE_ON= --enable-vde
+
# bmake doesn't know about unsetenv=true
.if defined(.PARSEDIR)
ENV=
@@ -86,8 +97,9 @@ PLIST_SUB+= PYTHON_VER=${PYTHON_VER} \
PYTHON_VERU=${PYTHON_VER:S/./_/} \
GUEST_VER=${VBOX_GUEST_VER}
-SUB_LIST+= VBOXUSER=${VBOXUSER}
-USE_RC_SUBR+= vboxheadless
+SUB_LIST+= VBOXUSER=${VBOXUSER} \
+ VBOXWSUSER=${VBOXWSUSER}
+USE_RC_SUBR+= vboxheadless vboxwatchdog
KMK_BUILDTYPE= release
KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
@@ -105,10 +117,8 @@ BROKEN= QT4 frontend requires X11 support. Run 'make config' again!
USE_SDL= sdl
USE_XORG= xcursor xmu inputproto xinerama
VBOX_FRONTENDS+=VBoxBFE VBoxSDL
-PLIST_SUB+= X11=""
.else
CONFIGURE_ARGS+=--build-headless
-PLIST_SUB+= X11="@comment "
.endif
.if ${PORT_OPTIONS:MQT4}
@@ -116,10 +126,8 @@ QT_NONSTANDARD= yes
USE_QT4= gui network moc_build uic_build rcc_build linguist
INSTALLS_ICONS= yes
VBOX_FRONTENDS+=VirtualBox VBoxTestOGL
-PLIST_SUB+= QT4=""
.else
CONFIGURE_ARGS+=--disable-qt4
-PLIST_SUB+= QT4="@comment "
.endif
.if ${PORT_OPTIONS:MGUESTADDITIONS}
@@ -127,9 +135,6 @@ GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
GADISTFILES= ${GUESTADDITIONS}:guestadditions
RESTRICTED= for personal use only
RESTRICTED_FILES= ${GUESTADDITIONS}
-PLIST_SUB+= GUESTADDITIONS=""
-.else
-PLIST_SUB+= GUESTADDITIONS="@comment "
.endif
.if ${PORT_OPTIONS:MDEBUG}
@@ -137,45 +142,10 @@ KMK_BUILDTYPE= debug
KMK_FLAGS+= BUILD_TYPE=debug
.endif
-.if ${PORT_OPTIONS:MDBUS}
-LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
-.else
-CONFIGURE_ARGS+=--disable-dbus
-.endif
-
-.if ${PORT_OPTIONS:MPULSEAUDIO}
-LIB_DEPENDS+= pulse.0:${PORTSDIR}/audio/pulseaudio
-.else
-CONFIGURE_ARGS+=--disable-pulse
-.endif
-
-.if ${PORT_OPTIONS:MVNC}
-LIB_DEPENDS+= vncserver.0:${PORTSDIR}/net/libvncserver
-CONFIGURE_ARGS+=--enable-vnc
-PLIST_SUB+= VNC=""
-.else
-PLIST_SUB+= VNC="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MNLS}
-PLIST_SUB+= NLS=""
-.else
-PLIST_SUB+= NLS="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MVDE}
-RUN_DEPENDS+= vde_switch:${PORTSDIR}/net/vde2
-CONFIGURE_ARGS+=--enable-vde
-.endif
-
.if ${PORT_OPTIONS:MWEBSERVICE}
BUILD_DEPENDS+= soapcpp2:${PORTSDIR}/devel/gsoap
VBOX_WEB= vboxwebsrv webtest
USE_RC_SUBR+= vboxwebsrv
-SUB_LIST+= VBOXWSUSER=${VBOXWSUSER}
-PLIST_SUB+= WEB=""
-.else
-PLIST_SUB+= WEB="@comment "
.endif
.if ${ARCH} == i386
@@ -190,10 +160,6 @@ PLIST_SUB+= ARCH="${KMK_ARCH}"
.include <bsd.port.pre.mk>
-.if ${OSVERSION} < 802000
-BROKEN= Does not compile on FreeBSD < 8.2
-.endif
-
.if ${OSVERSION} < 900000 && ${OSVERSION} > 801500
EXTRA_PATCHES+= ${FILESDIR}/extrapatch-src-VBox-Devices-PC-vbox.dsl
.endif
@@ -210,7 +176,11 @@ pre-everything::
post-patch:
@${ECHO} 'VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox' > ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox' >> ${WRKSRC}/LocalConfig.kmk
+.if defined(_GCC_RUNTIME)
+ @${ECHO} 'VBOX_WITH_RUNPATH = ${_GCC_RUNTIME}:${PREFIX}/lib/virtualbox' >> ${WRKSRC}/LocalConfig.kmk
+.else
@${ECHO} 'VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox' >> ${WRKSRC}/LocalConfig.kmk
+.endif
@${ECHO} 'VBOX_PATH_APP_PRIVATE = ${DATADIR}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_PATH_APP_DOCS = ${DOCSDIR}' >> ${WRKSRC}/LocalConfig.kmk
@${ECHO} 'VBOX_WITH_INSTALLER = 1' >> ${WRKSRC}/LocalConfig.kmk
@@ -226,9 +196,6 @@ post-patch:
.if ${PORT_OPTIONS:MVNC}
@${ECHO} 'VBOX_WITH_EXTPACK_VNC = 1' >> ${WRKSRC}/LocalConfig.kmk
.endif
-.if ${OSVERSION} < 800069
- @${ECHO} 'VBOX_WITH_USB=' >> ${WRKSRC}/LocalConfig.kmk
-.endif
.if ${PORT_OPTIONS:MUDPTUNNEL}
@${ECHO} 'VBOX_WITH_UDPTUNNEL = 1' >> ${WRKSRC}/LocalConfig.kmk
.endif
@@ -321,7 +288,9 @@ post-install:
@${FIND} ${PREFIX}/lib/virtualbox -type d -print0 | ${XARGS} -0 ${CHMOD} 755
.if ${PORT_OPTIONS:MQT4}
+ ${MKDIR} ${PREFIX}/share/pixmaps/
${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/pixmaps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/freebsd/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
.endif
@${CAT} ${PKGMESSAGE}
diff --git a/emulators/virtualbox-ose/distinfo b/emulators/virtualbox-ose/distinfo
index d684a1580c96..28aa1dc9d1d9 100644
--- a/emulators/virtualbox-ose/distinfo
+++ b/emulators/virtualbox-ose/distinfo
@@ -1,4 +1,4 @@
-SHA256 (VirtualBox-4.2.18.tar.bz2) = 9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74
-SIZE (VirtualBox-4.2.18.tar.bz2) = 76893031
-SHA256 (VBoxGuestAdditions_4.2.18.iso) = f11a7f13dfe7bf9f246fb877144bb467fe6deadcd876568ec79b6ccd3b59d767
-SIZE (VBoxGuestAdditions_4.2.18.iso) = 59656192
+SHA256 (VirtualBox-4.2.20.tar.bz2) = 193aa3ce7c0e700fe6a12b64bf462ce633a856f1e831ee4a337cc3439b21df61
+SIZE (VirtualBox-4.2.20.tar.bz2) = 77050211
+SHA256 (VBoxGuestAdditions_4.2.20.iso) = 2fb3aa0f370d503b0e77725dbec76b989a251f613abee378f53c1fed9d6edf01
+SIZE (VBoxGuestAdditions_4.2.20.iso) = 59664384
diff --git a/emulators/virtualbox-ose/files/patch-Config.kmk b/emulators/virtualbox-ose/files/patch-Config.kmk
index d7edc886bb4a..4c5387eeaee2 100644
--- a/emulators/virtualbox-ose/files/patch-Config.kmk
+++ b/emulators/virtualbox-ose/files/patch-Config.kmk
@@ -1,6 +1,6 @@
---- Config.kmk.orig 2012-12-20 14:44:38.260858319 +0100
-+++ Config.kmk 2012-12-20 14:55:59.491850177 +0100
-@@ -3239,7 +3239,7 @@
+--- Config.kmk.orig 2013-10-15 13:01:31.000000000 +0200
++++ Config.kmk 2013-10-20 14:43:19.015746151 +0200
+@@ -3387,16 +3387,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 \
@@ -8,8 +8,10 @@
+ -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
-@@ -3248,7 +3248,7 @@
+-TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
++TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
+ 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 \
@@ -18,7 +20,7 @@
$(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc
TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
-@@ -3465,8 +3465,6 @@
+@@ -3630,8 +3630,6 @@
/usr/X11R6/include \
/usr/local/include
TEMPLATE_VBOXR3EXE_LIBPATH += \
@@ -27,7 +29,7 @@
/usr/local/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBOXR3EXE_TOOL = GXX3PLAIN
-@@ -3955,8 +3953,6 @@
+@@ -4206,8 +4204,6 @@
/usr/X11R6/include \
/usr/local/include
TEMPLATE_VBOXMAINEXE_LIBPATH += \
@@ -36,7 +38,7 @@
/usr/local/lib
else ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBOXMAINEXE_TOOL = GXX3PLAIN
-@@ -4371,8 +4367,6 @@
+@@ -4673,8 +4669,6 @@
/usr/X11R6/include \
/usr/local/include
TEMPLATE_VBOXQT4GUIEXE_LIBPATH += \
@@ -45,7 +47,7 @@
/usr/local/lib
endif
ifeq ($(KBUILD_TARGET),solaris)
-@@ -4555,8 +4549,6 @@
+@@ -4869,8 +4863,6 @@
/usr/X11R6/include \
/usr/local/include
TEMPLATE_VBOXBLDPROG_LIBPATH += \
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
new file mode 100644
index 000000000000..7723674c7961
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Frontends-VirtualBox-Makefile.kmk
@@ -0,0 +1,13 @@
+--- 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/vboxwatchdog.in b/emulators/virtualbox-ose/files/vboxwatchdog.in
new file mode 100644
index 000000000000..17be9c243bb5
--- /dev/null
+++ b/emulators/virtualbox-ose/files/vboxwatchdog.in
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: vboxwatchdog
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf[.local] to enable vboxwatchdog
+#
+# vboxwatchdog_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable vboxwatchdog.
+# vboxwatchdog_user (str): User account to run with.
+# vboxwatchdog_flags (str): Custom flags for VBoxWatchdog.
+
+. /etc/rc.subr
+
+name=vboxwatchdog
+rcvar=vboxwatchdog_enable
+
+command="%%PREFIX%%/bin/VBoxBalloonCtrl"
+pidfile="/var/run/${name}.pid"
+
+start_cmd="${name}_start"
+
+vboxwatchdog_start()
+{
+ local pid
+
+ HOME=$(/usr/sbin/pw usershow -7 -n "${vboxwatchdog_user}" | /usr/bin/cut -d: -f6)
+ pid=$(check_pidfile $pidfile $command)
+
+ if [ -n "${pid}" ]; then
+ echo "${name} already running? (pid=${pid})."
+ return 1
+ fi
+
+ # prevent inheriting this setting to VBoxSVC
+ unset VBOX_RELEASE_LOG_DEST
+
+ echo -n "Starting ${name}"
+ /usr/bin/install -o ${vboxwatchdog_user} -g wheel -m 644 /dev/null ${pidfile}
+ /usr/sbin/daemon -f -p ${pidfile} -u ${vboxwatchdog_user} ${command} ${vboxwatchdog_flags}
+ echo '.'
+}
+
+load_rc_config $name
+
+: ${vboxwatchdog_enable="NO"}
+: ${vboxwatchdog_user="%%VBOXUSER%%"}
+: ${vboxwatchdog_flags="-b"}
+
+run_rc_command "$1"
diff --git a/emulators/virtualbox-ose/pkg-plist b/emulators/virtualbox-ose/pkg-plist
index 609a7b27c1cc..9347ddf05083 100644
--- a/emulators/virtualbox-ose/pkg-plist
+++ b/emulators/virtualbox-ose/pkg-plist
@@ -10,8 +10,8 @@ bin/VBoxSVC
%%QT4%%bin/VBoxTestOGL
bin/VBoxXPCOMIPCD
%%QT4%%bin/VirtualBox
-%%WEB%%bin/vboxwebsrv
-%%WEB%%bin/webtest
+%%WEBSERVICE%%bin/vboxwebsrv
+%%WEBSERVICE%%bin/webtest
%%X11%%lib/virtualbox/VBoxBFE
%%X11%%lib/virtualbox/VBoxBFE.so
lib/virtualbox/DBGCPlugInDiggers.so
@@ -67,8 +67,8 @@ lib/virtualbox/VBoxDDR0.r0
%%GUESTADDITIONS%%lib/virtualbox/additions/VBoxGuestAdditions_%%GUEST_VER%%.iso
lib/virtualbox/VBoxPython%%PYTHON_VERU%%.so
lib/virtualbox/VMMR0.r0
-%%WEB%%lib/virtualbox/vboxwebsrv
-%%WEB%%lib/virtualbox/webtest
+%%WEBSERVICE%%lib/virtualbox/vboxwebsrv
+%%WEBSERVICE%%lib/virtualbox/webtest
lib/virtualbox/components/VirtualBox_XPCOM.xpt
lib/virtualbox/components/VBoxXPCOMIPCC.so
lib/virtualbox/components/VBoxSVCM.so
@@ -242,8 +242,8 @@ lib/virtualbox/components/VBoxXPCOMBase.xpt
%%DATADIR%%/idl/VirtualBox_XPCOM.idl
%%DATADIR%%/samples/tstVBoxAPILinux.cpp
%%DATADIR%%/samples/Makefile
-%%WEB%%%%DATADIR%%/sdk/bindings/webservice/vboxweb.wsdl
-%%WEB%%%%DATADIR%%/sdk/bindings/webservice/vboxwebService.wsdl
+%%WEBSERVICE%%%%DATADIR%%/sdk/bindings/webservice/vboxweb.wsdl
+%%WEBSERVICE%%%%DATADIR%%/sdk/bindings/webservice/vboxwebService.wsdl
include/virtualbox/VBoxCAPI_v2_2.h
include/virtualbox/VBoxCAPI_v3_0.h
include/virtualbox/VBoxCAPI_v3_1.h
@@ -623,12 +623,13 @@ include/virtualbox/xpcom/xpcom-config.h
%%VNC%%@dirrm lib/virtualbox/ExtensionPacks/VNC
%%VNC%%@dirrmtry lib/virtualbox/ExtensionPacks
%%NLS%%@dirrm %%DATADIR%%/nls
-%%WEB%%@dirrm %%DATADIR%%/sdk/bindings/webservice
-%%WEB%%@dirrm %%DATADIR%%/sdk/bindings
-%%WEB%%@dirrm %%DATADIR%%/sdk
+%%WEBSERVICE%%@dirrm %%DATADIR%%/sdk/bindings/webservice
+%%WEBSERVICE%%@dirrm %%DATADIR%%/sdk/bindings
+%%WEBSERVICE%%@dirrm %%DATADIR%%/sdk
@dirrm %%DATADIR%%/samples
@dirrm %%DATADIR%%/idl
@dirrmtry %%DATADIR%%
+%%QT4%%@dirrmtry share/applications
@dirrm lib/virtualbox/components
%%GUESTADDITIONS%%@dirrm lib/virtualbox/additions
@dirrmtry lib/virtualbox