summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2009-06-15 18:01:41 +0000
committerMartin Wilke <miwi@FreeBSD.org>2009-06-15 18:01:41 +0000
commitafbf09cc33941f6e8015ea2a99665add0df3b03a (patch)
tree20f102f5b020555aa5c69e63988fe71abbce0db2 /emulators
parent- Respect LOCALBASE if it is changed to custom value (diff)
VirtualBox is a family of powerful x86 virtualization products for
enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License. WWW: http://www.virtualbox.org/ Note: Please READ pkg-messages carefully, also please take a look in the Wiki page (http://wiki.freebsd.org/VirtualBox) Thanks to: thank you to everyone who helped make this possible.
Notes
Notes: svn path=/head/; revision=235883
Diffstat (limited to 'emulators')
-rw-r--r--emulators/Makefile1
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/Makefile193
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/distinfo3
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/files/patch-Config.kmk11
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/files/patch-configure11
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c14
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/files/pkg-install.in22
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/pkg-descr7
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/pkg-message19
-rw-r--r--emulators/virtualbox-ose-kmod-legacy/pkg-plist66
-rw-r--r--emulators/virtualbox-ose-kmod/Makefile193
-rw-r--r--emulators/virtualbox-ose-kmod/distinfo3
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-Config.kmk11
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-configure11
-rw-r--r--emulators/virtualbox-ose-kmod/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c14
-rw-r--r--emulators/virtualbox-ose-kmod/files/pkg-install.in22
-rw-r--r--emulators/virtualbox-ose-kmod/pkg-descr7
-rw-r--r--emulators/virtualbox-ose-kmod/pkg-message19
-rw-r--r--emulators/virtualbox-ose-kmod/pkg-plist66
-rw-r--r--emulators/virtualbox-ose-legacy/Makefile193
-rw-r--r--emulators/virtualbox-ose-legacy/distinfo3
-rw-r--r--emulators/virtualbox-ose-legacy/files/patch-Config.kmk11
-rw-r--r--emulators/virtualbox-ose-legacy/files/patch-configure11
-rw-r--r--emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c14
-rw-r--r--emulators/virtualbox-ose-legacy/files/pkg-install.in22
-rw-r--r--emulators/virtualbox-ose-legacy/pkg-descr7
-rw-r--r--emulators/virtualbox-ose-legacy/pkg-message19
-rw-r--r--emulators/virtualbox-ose-legacy/pkg-plist66
-rw-r--r--emulators/virtualbox-ose/Makefile193
-rw-r--r--emulators/virtualbox-ose/distinfo3
-rw-r--r--emulators/virtualbox-ose/files/patch-Config.kmk11
-rw-r--r--emulators/virtualbox-ose/files/patch-configure11
-rw-r--r--emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c14
-rw-r--r--emulators/virtualbox-ose/files/pkg-install.in22
-rw-r--r--emulators/virtualbox-ose/pkg-descr7
-rw-r--r--emulators/virtualbox-ose/pkg-message19
-rw-r--r--emulators/virtualbox-ose/pkg-plist66
-rw-r--r--emulators/virtualbox/Makefile193
-rw-r--r--emulators/virtualbox/distinfo3
-rw-r--r--emulators/virtualbox/files/patch-Config.kmk11
-rw-r--r--emulators/virtualbox/files/patch-configure11
-rw-r--r--emulators/virtualbox/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c14
-rw-r--r--emulators/virtualbox/files/pkg-install.in22
-rw-r--r--emulators/virtualbox/pkg-descr7
-rw-r--r--emulators/virtualbox/pkg-message19
-rw-r--r--emulators/virtualbox/pkg-plist66
46 files changed, 1731 insertions, 0 deletions
diff --git a/emulators/Makefile b/emulators/Makefile
index bc5fc03d6b46..3f6d8bc0de24 100644
--- a/emulators/Makefile
+++ b/emulators/Makefile
@@ -173,6 +173,7 @@
SUBDIR += vgb-bin
SUBDIR += vgba-bin
SUBDIR += vice
+ SUBDIR += virtualbox
SUBDIR += visualos
SUBDIR += vmips
SUBDIR += vmsbackup
diff --git a/emulators/virtualbox-ose-kmod-legacy/Makefile b/emulators/virtualbox-ose-kmod-legacy/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-kmod-legacy/distinfo b/emulators/virtualbox-ose-kmod-legacy/distinfo
new file mode 100644
index 000000000000..1362975548ad
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/distinfo
@@ -0,0 +1,3 @@
+MD5 (virtualbox-2.2.51.r20457.tar.bz2) = e95b5130a0276224961c792047975531
+SHA256 (virtualbox-2.2.51.r20457.tar.bz2) = f321c04e20c47d7054b885bd70ea5abcab11bc047f2645dec0ca297dbdb3945b
+SIZE (virtualbox-2.2.51.r20457.tar.bz2) = 50707220
diff --git a/emulators/virtualbox-ose-kmod-legacy/files/patch-Config.kmk b/emulators/virtualbox-ose-kmod-legacy/files/patch-Config.kmk
new file mode 100644
index 000000000000..81e5f7062b4e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/files/patch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2009-06-04 18:02:20.000000000 +0200
++++ Config.kmk 2009-06-04 18:21:07.000000000 +0200
+@@ -1850,7 +1850,7 @@
+ VBOX_OPENSSL_ALL=1
+ endif
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64)
+ VBOX_WITH_LIBCURL = 1
+ SDK_VBOX_LIBCURL = .
+ SDK_VBOX_LIBCURL_INCS ?= $(PATH_ROOT)/src/libs/curl-7.19.4/include
diff --git a/emulators/virtualbox-ose-kmod-legacy/files/patch-configure b/emulators/virtualbox-ose-kmod-legacy/files/patch-configure
new file mode 100644
index 000000000000..d296d38cd70e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orgi 2009-05-31 13:43:50.000000000 +0200
++++ configure 2009-05-31 13:45:47.000000000 +0200
+@@ -1698,7 +1698,7 @@
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
diff --git a/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
new file mode 100644
index 000000000000..64ed1b6899f8
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,14 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.old 2009-05-04 20:29:23.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2009-05-04 20:30:28.000000000 +0200
+@@ -228,7 +228,11 @@
+ if (rc)
+ {
+ *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
++#if __FreeBSD_version < 800062
+ unit2minor(iUnit),
++#else
++ iUnit,
++#endif
+ UID_ROOT,
+ GID_WHEEL,
+ 0644,
diff --git a/emulators/virtualbox-ose-kmod-legacy/files/pkg-install.in b/emulators/virtualbox-ose-kmod-legacy/files/pkg-install.in
new file mode 100644
index 000000000000..5d5268d8e8ce
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ GROUP=%%VBOXGROUP%%
+ GID=%%VBOXGID%%
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ exit 0
+ ;;
+esac
diff --git a/emulators/virtualbox-ose-kmod-legacy/pkg-descr b/emulators/virtualbox-ose-kmod-legacy/pkg-descr
new file mode 100644
index 000000000000..0b1e16c034af
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/pkg-descr
@@ -0,0 +1,7 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
+
+WWW: http://www.virtualbox.org/
diff --git a/emulators/virtualbox-ose-kmod-legacy/pkg-message b/emulators/virtualbox-ose-kmod-legacy/pkg-message
new file mode 100644
index 000000000000..053b176a7388
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/pkg-message
@@ -0,0 +1,19 @@
+=============================================================================
+
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module and a mounted /proc filesystem.
+
+% mount -t procfs proc /proc
+% kldload vboxdrv
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+Please report any problems to emulation@. Thanks!
+
+=============================================================================
diff --git a/emulators/virtualbox-ose-kmod-legacy/pkg-plist b/emulators/virtualbox-ose-kmod-legacy/pkg-plist
new file mode 100644
index 000000000000..76777e172b7e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod-legacy/pkg-plist
@@ -0,0 +1,66 @@
+bin/VBoxBFE
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxNetDHCP
+bin/VBoxSDL
+bin/VBoxSVC
+bin/VBoxXPCOMIPCD
+%%QT4%%bin/VirtualBox
+lib/virtualbox/VBoxBFE
+lib/virtualbox/VBoxBFE.so
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDU.so
+lib/virtualbox/VBoxGuestPropSvc.so
+lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+%%QT4%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+lib/virtualbox/VBoxOGLhostcrutil.so
+lib/virtualbox/VBoxOGLhosterrorspu.so
+lib/virtualbox/VBoxOGLrenderspu.so
+lib/virtualbox/VBoxPython.so
+lib/virtualbox/VBoxREM.so
+%%I386%%lib/virtualbox/VBoxREM32.so
+%%I386%%lib/virtualbox/VBoxREM64.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSDL
+lib/virtualbox/VBoxSDL.so
+lib/virtualbox/VBoxSVC
+lib/virtualbox/VBoxSettings.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedCrOpenGL.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD
+%%QT4%%lib/virtualbox/VirtualBox
+%%QT4%%lib/virtualbox/VirtualBox.so
+lib/virtualbox/VBoxDD2GC.gc
+lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VMMGC.gc
+lib/virtualbox/tstMicroGC.gc
+lib/virtualbox/VBoxDD2R0.r0
+lib/virtualbox/VBoxDDR0.r0
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions_2.2.4.iso
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+%%QT4%%share/applications/virtualbox.desktop
+%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
+%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
+%%QT4%%@dirrmtry share/icons/hicolor/48x48
+%%QT4%%@dirrmtry share/icons/hicolor
+%%QT4%%@dirrmtry share/icons
+%%QT4%%@dirrmtry share/applications
+@dirrm lib/virtualbox/components
+@dirrm lib/virtualbox
+@cwd /
+%%KMODDIR%%/vboxdrv.ko
diff --git a/emulators/virtualbox-ose-kmod/Makefile b/emulators/virtualbox-ose-kmod/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-kmod/distinfo b/emulators/virtualbox-ose-kmod/distinfo
new file mode 100644
index 000000000000..1362975548ad
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/distinfo
@@ -0,0 +1,3 @@
+MD5 (virtualbox-2.2.51.r20457.tar.bz2) = e95b5130a0276224961c792047975531
+SHA256 (virtualbox-2.2.51.r20457.tar.bz2) = f321c04e20c47d7054b885bd70ea5abcab11bc047f2645dec0ca297dbdb3945b
+SIZE (virtualbox-2.2.51.r20457.tar.bz2) = 50707220
diff --git a/emulators/virtualbox-ose-kmod/files/patch-Config.kmk b/emulators/virtualbox-ose-kmod/files/patch-Config.kmk
new file mode 100644
index 000000000000..81e5f7062b4e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/patch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2009-06-04 18:02:20.000000000 +0200
++++ Config.kmk 2009-06-04 18:21:07.000000000 +0200
+@@ -1850,7 +1850,7 @@
+ VBOX_OPENSSL_ALL=1
+ endif
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64)
+ VBOX_WITH_LIBCURL = 1
+ SDK_VBOX_LIBCURL = .
+ SDK_VBOX_LIBCURL_INCS ?= $(PATH_ROOT)/src/libs/curl-7.19.4/include
diff --git a/emulators/virtualbox-ose-kmod/files/patch-configure b/emulators/virtualbox-ose-kmod/files/patch-configure
new file mode 100644
index 000000000000..d296d38cd70e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orgi 2009-05-31 13:43:50.000000000 +0200
++++ configure 2009-05-31 13:45:47.000000000 +0200
+@@ -1698,7 +1698,7 @@
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
diff --git a/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
new file mode 100644
index 000000000000..64ed1b6899f8
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,14 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.old 2009-05-04 20:29:23.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2009-05-04 20:30:28.000000000 +0200
+@@ -228,7 +228,11 @@
+ if (rc)
+ {
+ *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
++#if __FreeBSD_version < 800062
+ unit2minor(iUnit),
++#else
++ iUnit,
++#endif
+ UID_ROOT,
+ GID_WHEEL,
+ 0644,
diff --git a/emulators/virtualbox-ose-kmod/files/pkg-install.in b/emulators/virtualbox-ose-kmod/files/pkg-install.in
new file mode 100644
index 000000000000..5d5268d8e8ce
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ GROUP=%%VBOXGROUP%%
+ GID=%%VBOXGID%%
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ exit 0
+ ;;
+esac
diff --git a/emulators/virtualbox-ose-kmod/pkg-descr b/emulators/virtualbox-ose-kmod/pkg-descr
new file mode 100644
index 000000000000..0b1e16c034af
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/pkg-descr
@@ -0,0 +1,7 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
+
+WWW: http://www.virtualbox.org/
diff --git a/emulators/virtualbox-ose-kmod/pkg-message b/emulators/virtualbox-ose-kmod/pkg-message
new file mode 100644
index 000000000000..053b176a7388
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/pkg-message
@@ -0,0 +1,19 @@
+=============================================================================
+
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module and a mounted /proc filesystem.
+
+% mount -t procfs proc /proc
+% kldload vboxdrv
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+Please report any problems to emulation@. Thanks!
+
+=============================================================================
diff --git a/emulators/virtualbox-ose-kmod/pkg-plist b/emulators/virtualbox-ose-kmod/pkg-plist
new file mode 100644
index 000000000000..76777e172b7e
--- /dev/null
+++ b/emulators/virtualbox-ose-kmod/pkg-plist
@@ -0,0 +1,66 @@
+bin/VBoxBFE
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxNetDHCP
+bin/VBoxSDL
+bin/VBoxSVC
+bin/VBoxXPCOMIPCD
+%%QT4%%bin/VirtualBox
+lib/virtualbox/VBoxBFE
+lib/virtualbox/VBoxBFE.so
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDU.so
+lib/virtualbox/VBoxGuestPropSvc.so
+lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+%%QT4%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+lib/virtualbox/VBoxOGLhostcrutil.so
+lib/virtualbox/VBoxOGLhosterrorspu.so
+lib/virtualbox/VBoxOGLrenderspu.so
+lib/virtualbox/VBoxPython.so
+lib/virtualbox/VBoxREM.so
+%%I386%%lib/virtualbox/VBoxREM32.so
+%%I386%%lib/virtualbox/VBoxREM64.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSDL
+lib/virtualbox/VBoxSDL.so
+lib/virtualbox/VBoxSVC
+lib/virtualbox/VBoxSettings.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedCrOpenGL.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD
+%%QT4%%lib/virtualbox/VirtualBox
+%%QT4%%lib/virtualbox/VirtualBox.so
+lib/virtualbox/VBoxDD2GC.gc
+lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VMMGC.gc
+lib/virtualbox/tstMicroGC.gc
+lib/virtualbox/VBoxDD2R0.r0
+lib/virtualbox/VBoxDDR0.r0
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions_2.2.4.iso
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+%%QT4%%share/applications/virtualbox.desktop
+%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
+%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
+%%QT4%%@dirrmtry share/icons/hicolor/48x48
+%%QT4%%@dirrmtry share/icons/hicolor
+%%QT4%%@dirrmtry share/icons
+%%QT4%%@dirrmtry share/applications
+@dirrm lib/virtualbox/components
+@dirrm lib/virtualbox
+@cwd /
+%%KMODDIR%%/vboxdrv.ko
diff --git a/emulators/virtualbox-ose-legacy/Makefile b/emulators/virtualbox-ose-legacy/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose-legacy/distinfo b/emulators/virtualbox-ose-legacy/distinfo
new file mode 100644
index 000000000000..1362975548ad
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/distinfo
@@ -0,0 +1,3 @@
+MD5 (virtualbox-2.2.51.r20457.tar.bz2) = e95b5130a0276224961c792047975531
+SHA256 (virtualbox-2.2.51.r20457.tar.bz2) = f321c04e20c47d7054b885bd70ea5abcab11bc047f2645dec0ca297dbdb3945b
+SIZE (virtualbox-2.2.51.r20457.tar.bz2) = 50707220
diff --git a/emulators/virtualbox-ose-legacy/files/patch-Config.kmk b/emulators/virtualbox-ose-legacy/files/patch-Config.kmk
new file mode 100644
index 000000000000..81e5f7062b4e
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/files/patch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2009-06-04 18:02:20.000000000 +0200
++++ Config.kmk 2009-06-04 18:21:07.000000000 +0200
+@@ -1850,7 +1850,7 @@
+ VBOX_OPENSSL_ALL=1
+ endif
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64)
+ VBOX_WITH_LIBCURL = 1
+ SDK_VBOX_LIBCURL = .
+ SDK_VBOX_LIBCURL_INCS ?= $(PATH_ROOT)/src/libs/curl-7.19.4/include
diff --git a/emulators/virtualbox-ose-legacy/files/patch-configure b/emulators/virtualbox-ose-legacy/files/patch-configure
new file mode 100644
index 000000000000..d296d38cd70e
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orgi 2009-05-31 13:43:50.000000000 +0200
++++ configure 2009-05-31 13:45:47.000000000 +0200
+@@ -1698,7 +1698,7 @@
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
diff --git a/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
new file mode 100644
index 000000000000..64ed1b6899f8
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,14 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.old 2009-05-04 20:29:23.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2009-05-04 20:30:28.000000000 +0200
+@@ -228,7 +228,11 @@
+ if (rc)
+ {
+ *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
++#if __FreeBSD_version < 800062
+ unit2minor(iUnit),
++#else
++ iUnit,
++#endif
+ UID_ROOT,
+ GID_WHEEL,
+ 0644,
diff --git a/emulators/virtualbox-ose-legacy/files/pkg-install.in b/emulators/virtualbox-ose-legacy/files/pkg-install.in
new file mode 100644
index 000000000000..5d5268d8e8ce
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ GROUP=%%VBOXGROUP%%
+ GID=%%VBOXGID%%
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ exit 0
+ ;;
+esac
diff --git a/emulators/virtualbox-ose-legacy/pkg-descr b/emulators/virtualbox-ose-legacy/pkg-descr
new file mode 100644
index 000000000000..0b1e16c034af
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/pkg-descr
@@ -0,0 +1,7 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
+
+WWW: http://www.virtualbox.org/
diff --git a/emulators/virtualbox-ose-legacy/pkg-message b/emulators/virtualbox-ose-legacy/pkg-message
new file mode 100644
index 000000000000..053b176a7388
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/pkg-message
@@ -0,0 +1,19 @@
+=============================================================================
+
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module and a mounted /proc filesystem.
+
+% mount -t procfs proc /proc
+% kldload vboxdrv
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+Please report any problems to emulation@. Thanks!
+
+=============================================================================
diff --git a/emulators/virtualbox-ose-legacy/pkg-plist b/emulators/virtualbox-ose-legacy/pkg-plist
new file mode 100644
index 000000000000..76777e172b7e
--- /dev/null
+++ b/emulators/virtualbox-ose-legacy/pkg-plist
@@ -0,0 +1,66 @@
+bin/VBoxBFE
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxNetDHCP
+bin/VBoxSDL
+bin/VBoxSVC
+bin/VBoxXPCOMIPCD
+%%QT4%%bin/VirtualBox
+lib/virtualbox/VBoxBFE
+lib/virtualbox/VBoxBFE.so
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDU.so
+lib/virtualbox/VBoxGuestPropSvc.so
+lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+%%QT4%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+lib/virtualbox/VBoxOGLhostcrutil.so
+lib/virtualbox/VBoxOGLhosterrorspu.so
+lib/virtualbox/VBoxOGLrenderspu.so
+lib/virtualbox/VBoxPython.so
+lib/virtualbox/VBoxREM.so
+%%I386%%lib/virtualbox/VBoxREM32.so
+%%I386%%lib/virtualbox/VBoxREM64.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSDL
+lib/virtualbox/VBoxSDL.so
+lib/virtualbox/VBoxSVC
+lib/virtualbox/VBoxSettings.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedCrOpenGL.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD
+%%QT4%%lib/virtualbox/VirtualBox
+%%QT4%%lib/virtualbox/VirtualBox.so
+lib/virtualbox/VBoxDD2GC.gc
+lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VMMGC.gc
+lib/virtualbox/tstMicroGC.gc
+lib/virtualbox/VBoxDD2R0.r0
+lib/virtualbox/VBoxDDR0.r0
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions_2.2.4.iso
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+%%QT4%%share/applications/virtualbox.desktop
+%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
+%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
+%%QT4%%@dirrmtry share/icons/hicolor/48x48
+%%QT4%%@dirrmtry share/icons/hicolor
+%%QT4%%@dirrmtry share/icons
+%%QT4%%@dirrmtry share/applications
+@dirrm lib/virtualbox/components
+@dirrm lib/virtualbox
+@cwd /
+%%KMODDIR%%/vboxdrv.ko
diff --git a/emulators/virtualbox-ose/Makefile b/emulators/virtualbox-ose/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox-ose/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox-ose/distinfo b/emulators/virtualbox-ose/distinfo
new file mode 100644
index 000000000000..1362975548ad
--- /dev/null
+++ b/emulators/virtualbox-ose/distinfo
@@ -0,0 +1,3 @@
+MD5 (virtualbox-2.2.51.r20457.tar.bz2) = e95b5130a0276224961c792047975531
+SHA256 (virtualbox-2.2.51.r20457.tar.bz2) = f321c04e20c47d7054b885bd70ea5abcab11bc047f2645dec0ca297dbdb3945b
+SIZE (virtualbox-2.2.51.r20457.tar.bz2) = 50707220
diff --git a/emulators/virtualbox-ose/files/patch-Config.kmk b/emulators/virtualbox-ose/files/patch-Config.kmk
new file mode 100644
index 000000000000..81e5f7062b4e
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2009-06-04 18:02:20.000000000 +0200
++++ Config.kmk 2009-06-04 18:21:07.000000000 +0200
+@@ -1850,7 +1850,7 @@
+ VBOX_OPENSSL_ALL=1
+ endif
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64)
+ VBOX_WITH_LIBCURL = 1
+ SDK_VBOX_LIBCURL = .
+ SDK_VBOX_LIBCURL_INCS ?= $(PATH_ROOT)/src/libs/curl-7.19.4/include
diff --git a/emulators/virtualbox-ose/files/patch-configure b/emulators/virtualbox-ose/files/patch-configure
new file mode 100644
index 000000000000..d296d38cd70e
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orgi 2009-05-31 13:43:50.000000000 +0200
++++ configure 2009-05-31 13:45:47.000000000 +0200
+@@ -1698,7 +1698,7 @@
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
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
new file mode 100644
index 000000000000..64ed1b6899f8
--- /dev/null
+++ b/emulators/virtualbox-ose/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,14 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.old 2009-05-04 20:29:23.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2009-05-04 20:30:28.000000000 +0200
+@@ -228,7 +228,11 @@
+ if (rc)
+ {
+ *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
++#if __FreeBSD_version < 800062
+ unit2minor(iUnit),
++#else
++ iUnit,
++#endif
+ UID_ROOT,
+ GID_WHEEL,
+ 0644,
diff --git a/emulators/virtualbox-ose/files/pkg-install.in b/emulators/virtualbox-ose/files/pkg-install.in
new file mode 100644
index 000000000000..5d5268d8e8ce
--- /dev/null
+++ b/emulators/virtualbox-ose/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ GROUP=%%VBOXGROUP%%
+ GID=%%VBOXGID%%
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ exit 0
+ ;;
+esac
diff --git a/emulators/virtualbox-ose/pkg-descr b/emulators/virtualbox-ose/pkg-descr
new file mode 100644
index 000000000000..0b1e16c034af
--- /dev/null
+++ b/emulators/virtualbox-ose/pkg-descr
@@ -0,0 +1,7 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
+
+WWW: http://www.virtualbox.org/
diff --git a/emulators/virtualbox-ose/pkg-message b/emulators/virtualbox-ose/pkg-message
new file mode 100644
index 000000000000..053b176a7388
--- /dev/null
+++ b/emulators/virtualbox-ose/pkg-message
@@ -0,0 +1,19 @@
+=============================================================================
+
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module and a mounted /proc filesystem.
+
+% mount -t procfs proc /proc
+% kldload vboxdrv
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+Please report any problems to emulation@. Thanks!
+
+=============================================================================
diff --git a/emulators/virtualbox-ose/pkg-plist b/emulators/virtualbox-ose/pkg-plist
new file mode 100644
index 000000000000..76777e172b7e
--- /dev/null
+++ b/emulators/virtualbox-ose/pkg-plist
@@ -0,0 +1,66 @@
+bin/VBoxBFE
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxNetDHCP
+bin/VBoxSDL
+bin/VBoxSVC
+bin/VBoxXPCOMIPCD
+%%QT4%%bin/VirtualBox
+lib/virtualbox/VBoxBFE
+lib/virtualbox/VBoxBFE.so
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDU.so
+lib/virtualbox/VBoxGuestPropSvc.so
+lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+%%QT4%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+lib/virtualbox/VBoxOGLhostcrutil.so
+lib/virtualbox/VBoxOGLhosterrorspu.so
+lib/virtualbox/VBoxOGLrenderspu.so
+lib/virtualbox/VBoxPython.so
+lib/virtualbox/VBoxREM.so
+%%I386%%lib/virtualbox/VBoxREM32.so
+%%I386%%lib/virtualbox/VBoxREM64.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSDL
+lib/virtualbox/VBoxSDL.so
+lib/virtualbox/VBoxSVC
+lib/virtualbox/VBoxSettings.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedCrOpenGL.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD
+%%QT4%%lib/virtualbox/VirtualBox
+%%QT4%%lib/virtualbox/VirtualBox.so
+lib/virtualbox/VBoxDD2GC.gc
+lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VMMGC.gc
+lib/virtualbox/tstMicroGC.gc
+lib/virtualbox/VBoxDD2R0.r0
+lib/virtualbox/VBoxDDR0.r0
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions_2.2.4.iso
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+%%QT4%%share/applications/virtualbox.desktop
+%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
+%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
+%%QT4%%@dirrmtry share/icons/hicolor/48x48
+%%QT4%%@dirrmtry share/icons/hicolor
+%%QT4%%@dirrmtry share/icons
+%%QT4%%@dirrmtry share/applications
+@dirrm lib/virtualbox/components
+@dirrm lib/virtualbox
+@cwd /
+%%KMODDIR%%/vboxdrv.ko
diff --git a/emulators/virtualbox/Makefile b/emulators/virtualbox/Makefile
new file mode 100644
index 000000000000..fdfff566ad3e
--- /dev/null
+++ b/emulators/virtualbox/Makefile
@@ -0,0 +1,193 @@
+# New ports collection makefile for: virtualbox
+# Date created: 2009-05-02
+# Whom: Bernhard Froehlich <decke@bluelife.at>
+#
+# $FreeBSD$
+#
+
+PORTNAME= virtualbox
+DISTVERSION= 2.2.51.r20457
+CATEGORIES= emulators kld
+MASTER_SITES= http://tmp.chruetertee.ch/ \
+ http://freebsd.unixfreunde.de/sources/ \
+ http://disasterarea.chruetertee.ch/ \
+ http://mirror.4bit.ws/ \
+ http://dlc.sun.com/virtualbox/${VBOX_GUEST_VER}/:guestadditions
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX} ${GADISTFILES}
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
+
+#for discussion please use emulation@FreeBSD.org
+MAINTAINER= vbox@FreeBSD.org
+COMMENT= A general-purpose full virtualizer for x86 hardware
+
+BUILD_DEPENDS= yasm:${PORTSDIR}/devel/yasm \
+ as86:${PORTSDIR}/devel/dev86 \
+ xsltproc:${PORTSDIR}/textproc/libxslt \
+ kmk:${PORTSDIR}/devel/kBuild
+LIB_DEPENDS= png.5:${PORTSDIR}/graphics/png \
+ curl.5:${PORTSDIR}/ftp/curl
+
+ONLY_FOR_ARCHS= i386 amd64
+USE_XORG= xcursor xmu
+USE_GNOME= libidl
+USE_SDL= sdl
+USE_CDRTOOLS= yes
+USE_PYTHON= yes
+USE_BZIP2= yes
+WRKSRC= ${WRKDIR}/${PORTNAME}-2.2.51r20457
+
+HAS_CONFIGURE= yes
+USE_LDCONFIG= ${PREFIX}/lib/virtualbox
+
+CONFLICTS= bcc-[0-9]*
+
+VBOXGROUP?= vboxusers
+VBOXGID?= 919
+VBOX_FRONTENDS= VBoxBFE VBoxHeadless VBoxSDL
+VBOX_GUEST_VER= 2.2.4
+
+SUB_FILES= pkg-install
+
+SUB_LIST= PREFIX=${PREFIX} \
+ VBOXGROUP=${VBOXGROUP} \
+ VBOXGID=${VBOXGID}
+
+OPTIONS= QT4 "Build with QT4 Frontend" on \
+ DEBUG "Build with debugging symbols" off \
+ GUESTADDITIONS "Build with Guest Additions" off \
+ DBUS "Build with D-Bus and HAL support" on \
+ PULSEAUDIO "Build with PulseAudio" off
+
+.include <bsd.port.options.mk>
+
+KMODDIR= /boot/modules
+PLIST_SUB+= KMODDIR=${KMODDIR}
+KMK_BUILDTYPE= release
+KMK_CONFIG= VBOX_LIBPATH_X11=${LOCALBASE} VBOX_FREEBSD_SRC=${SRC_BASE}/sys
+KMK_FLAGS=
+
+.if !defined(WITHOUT_QT4)
+USE_QT_VER= 4
+QT_NONSTANDARD= yes
+QT_COMPONENTS= gui network moc_build uic_build rcc_build linguist
+INSTALLS_ICONS= yes
+VBOX_FRONTENDS+= VirtualBox
+PLIST_SUB+= QT4=""
+.else
+CONFIGURE_ARGS+=--disable-qt4
+PLIST_SUB+= QT4="@comment "
+.endif
+
+.if defined(WITH_GUESTADDITIONS)
+GUESTADDITIONS= VBoxGuestAdditions_${VBOX_GUEST_VER}.iso
+GADISTFILES= ${GUESTADDITIONS}:guestadditions
+RESTRICTED= for personal use only
+RESTRICTED_FILES= ${GUESTADDITIONS}
+FETCH_ARGS= -pRr
+PLIST_SUB+= GUESTADDITIONS=""
+.else
+PLIST_SUB+= GUESTADDITIONS="@comment "
+.endif
+
+.if defined(WITH_DEBUG)
+KMK_FLAGS+= BUILD_TYPE=debug
+KMK_BUILDTYPE= debug
+.endif
+
+.if !defined(WITHOUT_DBUS)
+LIB_DEPENDS+= dbus-1.3:${PORTSDIR}/devel/dbus
+.else
+CONFIGURE_ARGS+=--disable-dbus
+.endif
+
+.if !defined(WITH_PULSEAUDIO)
+CONFIGURE_ARGS+=--disable-pulse
+.endif
+
+.if !exists(${SRC_BASE}/sys/kern/bus_if.m)
+IGNORE= requires kernel sources for the kernel module
+.endif
+
+.if ${OSVERSION} < 700000
+BROKEN= Does not compile on FreeBSD 6.X
+.endif
+
+.if ${ARCH} == i386
+KMK_ARCH= freebsd.x86
+PLIST_SUB+= I386=""
+.else
+.if !exists(/usr/lib32)
+IGNORE= requires 32-bit libraries installed under /usr/lib32
+.endif
+KMK_ARCH= freebsd.${ARCH}
+PLIST_SUB+= I386="@comment "
+.endif
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE_ARCH = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE_ARCH = ${PREFIX}/lib/virtualbox|'\
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_SHARED_LIBS = /usr/lib|VBOX_PATH_SHARED_LIBS = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_WITH_RUNPATH = /usr/lib/virtualbox|VBOX_WITH_RUNPATH = ${PREFIX}/lib/virtualbox|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_PRIVATE = /usr/lib/virtualbox|VBOX_PATH_APP_PRIVATE = ${DATADIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|#VBOX_PATH_APP_DOCS = /usr/share/doc/virtualbox|VBOX_PATH_APP_DOCS = ${DOCSDIR}|' \
+ ${WRKSRC}/Config.kmk
+ @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
+ ${WRKSRC}/Config.kmk ${WRKSRC}/configure \
+ ${WRKSRC}/kBuild/units/qt3.kmk ${WRKSRC}/kBuild/units/qt4.kmk \
+ ${WRKSRC}/kBuild/sdks/LIBSDL.kmk
+ @${REINPLACE_CMD} -e 's|\$$KBUILDDIR_BIN/kmk_sed|${PREFIX}/bin/kmk_sed|g' ${WRKSRC}/configure
+
+pre-build:
+ @${REINPLACE_CMD} -e 's|/bin/bash|/bin/sh|' \
+ ${WRKSRC}/env.sh
+
+do-build:
+ cd ${WRKSRC} && ${SH} env.sh && ${KMK_CONFIG} ${LOCALBASE}/bin/kmk ${KMK_FLAGS}
+
+do-install:
+ ${MKDIR} ${KMODDIR}
+ ${INSTALL_KLD} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/vboxdrv.ko ${KMODDIR}
+
+ ${MKDIR} ${PREFIX}/lib/virtualbox
+ (cd ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin && ${COPYTREE_SHARE} "*.so *.gc *.r0 components" ${PREFIX}/lib/virtualbox)
+
+ ${MKDIR} ${PREFIX}/bin
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${INSTALL_PROGRAM} ${WRKSRC}/out/${KMK_ARCH}/${KMK_BUILDTYPE}/bin/$f ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${f} ${PREFIX}/bin/
+.endfor
+
+.for f in VBoxNetDHCP ${VBOX_FRONTENDS}
+ ${CHMOD} 4511 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.for f in VBoxManage VBoxSVC VBoxXPCOMIPCD
+ ${CHMOD} 0711 ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if defined(WITH_GUESTADDITIONS)
+ ${INSTALL_DATA} ${DISTDIR}/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/
+ ${LN} -sf ${PREFIX}/lib/virtualbox/${GUESTADDITIONS} ${PREFIX}/lib/virtualbox/VBoxGuestAdditions.iso
+.endif
+
+post-install:
+ @${SETENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+
+.for f in VBoxManage VBoxNetDHCP VBoxSVC VBoxXPCOMIPCD ${VBOX_FRONTENDS}
+ ${CHOWN} root:${VBOXGROUP} ${PREFIX}/lib/virtualbox/${f}
+.endfor
+
+.if !defined(WITHOUT_QT4)
+ ${MKDIR} ${PREFIX}/share/icons/hicolor/48x48/apps/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Frontends/VirtualBox/images/OSE/VirtualBox_48px.png ${PREFIX}/share/icons/hicolor/48x48/apps/VBox.png
+ ${MKDIR} ${PREFIX}/share/applications/
+ ${INSTALL_DATA} ${WRKSRC}/src/VBox/Installer/solaris/virtualbox.desktop ${PREFIX}/share/applications/virtualbox.desktop
+.endif
+ @${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/emulators/virtualbox/distinfo b/emulators/virtualbox/distinfo
new file mode 100644
index 000000000000..1362975548ad
--- /dev/null
+++ b/emulators/virtualbox/distinfo
@@ -0,0 +1,3 @@
+MD5 (virtualbox-2.2.51.r20457.tar.bz2) = e95b5130a0276224961c792047975531
+SHA256 (virtualbox-2.2.51.r20457.tar.bz2) = f321c04e20c47d7054b885bd70ea5abcab11bc047f2645dec0ca297dbdb3945b
+SIZE (virtualbox-2.2.51.r20457.tar.bz2) = 50707220
diff --git a/emulators/virtualbox/files/patch-Config.kmk b/emulators/virtualbox/files/patch-Config.kmk
new file mode 100644
index 000000000000..81e5f7062b4e
--- /dev/null
+++ b/emulators/virtualbox/files/patch-Config.kmk
@@ -0,0 +1,11 @@
+--- Config.kmk.orig 2009-06-04 18:02:20.000000000 +0200
++++ Config.kmk 2009-06-04 18:21:07.000000000 +0200
+@@ -1850,7 +1850,7 @@
+ VBOX_OPENSSL_ALL=1
+ endif
+
+-if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86)
++if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), win.x86 win.amd64 linux.x86 linux.amd64 solaris.x86 solaris.amd64 darwin.x86 darwin.amd64 freebsd.x86 freebsd.amd64)
+ VBOX_WITH_LIBCURL = 1
+ SDK_VBOX_LIBCURL = .
+ SDK_VBOX_LIBCURL_INCS ?= $(PATH_ROOT)/src/libs/curl-7.19.4/include
diff --git a/emulators/virtualbox/files/patch-configure b/emulators/virtualbox/files/patch-configure
new file mode 100644
index 000000000000..d296d38cd70e
--- /dev/null
+++ b/emulators/virtualbox/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orgi 2009-05-31 13:43:50.000000000 +0200
++++ configure 2009-05-31 13:45:47.000000000 +0200
+@@ -1698,7 +1698,7 @@
+ cat $ODIR.tmp_src.cc >> $LOG
+ echo "using the following command line:" >> $LOG
+ echo "$CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so" >> $LOG
+- $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so >> $LOG 2>&1
++ $CXX -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc -I$p/include/$d $p/$b/lib$d.so -pthread >> $LOG 2>&1
+ if [ $? -eq 0 ]; then
+ found=1
+ break
diff --git a/emulators/virtualbox/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c b/emulators/virtualbox/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
new file mode 100644
index 000000000000..64ed1b6899f8
--- /dev/null
+++ b/emulators/virtualbox/files/patch-src-VBox-Additions-common-VBoxGuest-VBoxGuest-freebsd.c
@@ -0,0 +1,14 @@
+--- src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c.old 2009-05-04 20:29:23.000000000 +0200
++++ src/VBox/Additions/common/VBoxGuest/VBoxGuest-freebsd.c 2009-05-04 20:30:28.000000000 +0200
+@@ -228,7 +228,11 @@
+ if (rc)
+ {
+ *ppDev = make_dev(&g_VBoxGuestFreeBSDChrDevSW,
++#if __FreeBSD_version < 800062
+ unit2minor(iUnit),
++#else
++ iUnit,
++#endif
+ UID_ROOT,
+ GID_WHEEL,
+ 0644,
diff --git a/emulators/virtualbox/files/pkg-install.in b/emulators/virtualbox/files/pkg-install.in
new file mode 100644
index 000000000000..5d5268d8e8ce
--- /dev/null
+++ b/emulators/virtualbox/files/pkg-install.in
@@ -0,0 +1,22 @@
+#!/bin/sh
+
+case $2 in
+POST-INSTALL)
+ GROUP=%%VBOXGROUP%%
+ GID=%%VBOXGID%%
+ PW=/usr/sbin/pw
+
+ if ${PW} group show "${GROUP}" 2>/dev/null; then
+ echo "You already have a group \"${GROUP}\", so I will use it."
+ else
+ if ${PW} groupadd ${GROUP} -g ${GID}; then
+ echo "Added group \"${GROUP}\"."
+ else
+ echo "Adding group \"${GROUP}\" failed..."
+ exit 1
+ fi
+ fi
+
+ exit 0
+ ;;
+esac
diff --git a/emulators/virtualbox/pkg-descr b/emulators/virtualbox/pkg-descr
new file mode 100644
index 000000000000..0b1e16c034af
--- /dev/null
+++ b/emulators/virtualbox/pkg-descr
@@ -0,0 +1,7 @@
+VirtualBox is a family of powerful x86 virtualization products for
+enterprise as well as home use. Not only is VirtualBox an extremely
+feature rich, high performance product for enterprise customers, it
+is also the only professional solution that is freely available as
+Open Source Software under the terms of the GNU General Public License.
+
+WWW: http://www.virtualbox.org/
diff --git a/emulators/virtualbox/pkg-message b/emulators/virtualbox/pkg-message
new file mode 100644
index 000000000000..053b176a7388
--- /dev/null
+++ b/emulators/virtualbox/pkg-message
@@ -0,0 +1,19 @@
+=============================================================================
+
+VirtualBox was installed.
+
+You need to load the vboxdrv kernel module and a mounted /proc filesystem.
+
+% mount -t procfs proc /proc
+% kldload vboxdrv
+
+You also have to add all users to your vboxusers group in order to use vbox.
+
+% pw groupmod vboxusers -m jerry
+
+Running VirtualBox as non-root user may fail with a fatal error
+NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
+
+Please report any problems to emulation@. Thanks!
+
+=============================================================================
diff --git a/emulators/virtualbox/pkg-plist b/emulators/virtualbox/pkg-plist
new file mode 100644
index 000000000000..76777e172b7e
--- /dev/null
+++ b/emulators/virtualbox/pkg-plist
@@ -0,0 +1,66 @@
+bin/VBoxBFE
+bin/VBoxHeadless
+bin/VBoxManage
+bin/VBoxNetDHCP
+bin/VBoxSDL
+bin/VBoxSVC
+bin/VBoxXPCOMIPCD
+%%QT4%%bin/VirtualBox
+lib/virtualbox/VBoxBFE
+lib/virtualbox/VBoxBFE.so
+lib/virtualbox/VBoxDD.so
+lib/virtualbox/VBoxDD2.so
+lib/virtualbox/VBoxDDU.so
+lib/virtualbox/VBoxGuestPropSvc.so
+lib/virtualbox/VBoxHeadless
+lib/virtualbox/VBoxHeadless.so
+%%QT4%%lib/virtualbox/VBoxKeyboard.so
+lib/virtualbox/VBoxManage
+lib/virtualbox/VBoxNetDHCP
+lib/virtualbox/VBoxNetDHCP.so
+lib/virtualbox/VBoxOGLhostcrutil.so
+lib/virtualbox/VBoxOGLhosterrorspu.so
+lib/virtualbox/VBoxOGLrenderspu.so
+lib/virtualbox/VBoxPython.so
+lib/virtualbox/VBoxREM.so
+%%I386%%lib/virtualbox/VBoxREM32.so
+%%I386%%lib/virtualbox/VBoxREM64.so
+lib/virtualbox/VBoxRT.so
+lib/virtualbox/VBoxSDL
+lib/virtualbox/VBoxSDL.so
+lib/virtualbox/VBoxSVC
+lib/virtualbox/VBoxSettings.so
+lib/virtualbox/VBoxSharedClipboard.so
+lib/virtualbox/VBoxSharedCrOpenGL.so
+lib/virtualbox/VBoxSharedFolders.so
+lib/virtualbox/VBoxVMM.so
+lib/virtualbox/VBoxXPCOM.so
+lib/virtualbox/VBoxXPCOMC.so
+lib/virtualbox/VBoxXPCOMIPCD
+%%QT4%%lib/virtualbox/VirtualBox
+%%QT4%%lib/virtualbox/VirtualBox.so
+lib/virtualbox/VBoxDD2GC.gc
+lib/virtualbox/VBoxDDGC.gc
+lib/virtualbox/VMMGC.gc
+lib/virtualbox/tstMicroGC.gc
+lib/virtualbox/VBoxDD2R0.r0
+lib/virtualbox/VBoxDDR0.r0
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions.iso
+%%GUESTADDITIONS%%lib/virtualbox/VBoxGuestAdditions_2.2.4.iso
+lib/virtualbox/VMMR0.r0
+lib/virtualbox/components/VirtualBox_XPCOM.xpt
+lib/virtualbox/components/VBoxXPCOMIPCC.so
+lib/virtualbox/components/VBoxSVCM.so
+lib/virtualbox/components/VBoxC.so
+lib/virtualbox/components/VBoxXPCOMBase.xpt
+%%QT4%%share/applications/virtualbox.desktop
+%%QT4%%share/icons/hicolor/48x48/apps/VBox.png
+%%QT4%%@dirrmtry share/icons/hicolor/48x48/apps
+%%QT4%%@dirrmtry share/icons/hicolor/48x48
+%%QT4%%@dirrmtry share/icons/hicolor
+%%QT4%%@dirrmtry share/icons
+%%QT4%%@dirrmtry share/applications
+@dirrm lib/virtualbox/components
+@dirrm lib/virtualbox
+@cwd /
+%%KMODDIR%%/vboxdrv.ko