summaryrefslogtreecommitdiff
path: root/app-emulation/virtualbox/files
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/virtualbox/files')
-rw-r--r--app-emulation/virtualbox/files/10-virtualbox.rules7
-rw-r--r--app-emulation/virtualbox/files/vboxwebsrv-confd18
-rw-r--r--app-emulation/virtualbox/files/vboxwebsrv-initd24
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-asneeded.patch27
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-config1
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-localconfig45
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-makeself-check.patch10
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-mkisofs-check.patch10
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4-vnc.patch101
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4.0.2-restore_old_machines_dir.patch12
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4.0.4-gcc46.patch14
-rw-r--r--app-emulation/virtualbox/files/virtualbox-4.1.0-vboxpci-build.patch18
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3-config1
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3-localconfig45
-rwxr-xr-xapp-emulation/virtualbox/files/virtualbox-ose-3-wrapper104
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-3.2.8-mesa-check.patch36
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch16
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose-vnc.patch101
-rw-r--r--app-emulation/virtualbox/files/virtualbox-ose.desktop-28
19 files changed, 598 insertions, 0 deletions
diff --git a/app-emulation/virtualbox/files/10-virtualbox.rules b/app-emulation/virtualbox/files/10-virtualbox.rules
new file mode 100644
index 0000000..8efff24
--- /dev/null
+++ b/app-emulation/virtualbox/files/10-virtualbox.rules
@@ -0,0 +1,7 @@
+# create second tree of USB devices according to
+# http://www.virtualbox.org/ticket/7759#comment:5
+
+SUBSYSTEM=="usb_device", ACTION!="remove", RUN="/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb", ACTION!="remove", ENV{DEVTYPE}=="usb_device", RUN="/lib/udev/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN="/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="/lib/udev/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/app-emulation/virtualbox/files/vboxwebsrv-confd b/app-emulation/virtualbox/files/vboxwebsrv-confd
new file mode 100644
index 0000000..92d61e9
--- /dev/null
+++ b/app-emulation/virtualbox/files/vboxwebsrv-confd
@@ -0,0 +1,18 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/files/vboxwebsrv-confd,v 1.1 2011/01/06 22:47:33 polynomial-c Exp $
+
+# The host to bind to (defaults to "localhost").
+VBOXWEBSRV_HOST="localhost"
+
+# Which port to on the host (defaults to 18083).
+VBOXWEBSRV_PORT="18083"
+
+# Session timeout, in seconds. (defaults to 20).
+VBOXWEBSRV_TIMEOUT=20
+
+# The interval in which the webservice checks for
+# timed-out clients, in seconds. Normally does not
+# need to be changed (defaults to 5).
+VBOXWEBSRV_INTERVAL=5
+
diff --git a/app-emulation/virtualbox/files/vboxwebsrv-initd b/app-emulation/virtualbox/files/vboxwebsrv-initd
new file mode 100644
index 0000000..d04cdc2
--- /dev/null
+++ b/app-emulation/virtualbox/files/vboxwebsrv-initd
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/files/vboxwebsrv-initd,v 1.1 2011/01/06 22:47:34 polynomial-c Exp $
+
+depend() {
+ need net
+}
+
+start() {
+ #checkconfig || return $?
+
+ ebegin "Starting VirtualBox WebService"
+ start-stop-daemon --start --quiet --pidfile /var/run/vboxwebsrv.pid \
+ --background --make-pidfile --exec /usr/bin/vboxwebsrv \
+ -- -H ${VBOXWEBSRV_HOST} -p ${VBOXWEBSRV_PORT} -t ${VBOXWEBSRV_TIMEOUT} -i ${VBOXWEBSRV_INTERVAL}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping VirtualBox WebService"
+ start-stop-daemon --stop --quiet --pidfile /var/run/vboxwebsrv.pid
+ eend $?
+}
diff --git a/app-emulation/virtualbox/files/virtualbox-4-asneeded.patch b/app-emulation/virtualbox/files/virtualbox-4-asneeded.patch
new file mode 100644
index 0000000..5533bb0
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-asneeded.patch
@@ -0,0 +1,27 @@
+--- VirtualBox-4.0.0_OSE/src/libs/xpcom18a4/Makefile.kmk
++++ VirtualBox-4.0.0_OSE/src/libs/xpcom18a4/Makefile.kmk
+@@ -469,9 +469,11 @@
+ libIDL_config_cflags := $(shell $(VBOX_LIBIDL_CONFIG) --cflags)
+ libIDL_config_libs := $(shell $(VBOX_LIBIDL_CONFIG) --libs)
+ xpidl_CFLAGS = \
+- $(libIDL_config_cflags)
++ $(shell pkg-config --cflags libIDL-2.0)
+ xpidl_LDFLAGS = \
+- $(libIDL_config_libs)
++ $(shell pkg-config --libs-only-L libIDL-2.0)
++xpidl_LIBS.linux = \
++ $(shell pkg-config --libs-only-l libIDL-2.0 | sed -e 's/-l//g')
+ xpidl_LDFLAGS.linux = \
+ $(VBOX_LD_as_needed)
+ endif
+--- VirtualBox-4.0.0_OSE/Config.kmk
++++ VirtualBox-4.0.0_OSE/Config.kmk
+@@ -4053,7 +4053,7 @@
+ TEMPLATE_VBOXBLDPROG_LDFLAGS.amd64 = -m64
+ TEMPLATE_VBOXBLDPROG_LDFLAGS.sparc64 = -m64
+ ifeq ($(KBUILD_HOST),linux)
+-TEMPLATE_VBOXBLDPROG_LIBS = pthread m rt dl
++TEMPLATE_VBOXBLDPROG_LIBS = pthread m rt dl crypt
+ else ifeq ($(KBUILD_HOST),os2)
+ TEMPLATE_VBOXBLDPROG_TOOL = GXX3OMF
+ TEMPLATE_VBOXBLDPROG_LIBS = socket iconv \ No newline at end of file
diff --git a/app-emulation/virtualbox/files/virtualbox-4-config b/app-emulation/virtualbox/files/virtualbox-4-config
new file mode 100644
index 0000000..af78221
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-config
@@ -0,0 +1 @@
+INSTALL_DIR=/usr/MY_LIBDIR/virtualbox
diff --git a/app-emulation/virtualbox/files/virtualbox-4-localconfig b/app-emulation/virtualbox/files/virtualbox-4-localconfig
new file mode 100644
index 0000000..5138d92
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-localconfig
@@ -0,0 +1,45 @@
+# -*- Makefile -*-
+#
+# Overwrite some default kBuild settings
+#
+
+#
+# Copyright (C) 2006-2008 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation,
+# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+# distribution. VirtualBox OSE is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# shut up wine complaining about unknown locale
+EXEC_X86_WIN32 := wine
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_TESTSUITE :=
+VBOX_DOCBOOK_WITH_LATEX := 1
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+VBOX_WITH_HARDENING := 1
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/MY_LIBDIR/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)
+
+## don't build unwanted/splitted stuff
+VBOX_WITHOUT_ADDITIONS := 1
+VBOX_WITH_VBOXDRV :=
+VBOX_WITH_VBOXBFE :=
+VBOX_WITH_KCHMVIEWER :=
+
+## don't build with -Werror
+VBOX_WITH_WARNINGS_AS_ERRORS :=
+
diff --git a/app-emulation/virtualbox/files/virtualbox-4-makeself-check.patch b/app-emulation/virtualbox/files/virtualbox-4-makeself-check.patch
new file mode 100644
index 0000000..e1fcb8c
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-makeself-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2527,7 +2527,6 @@
+ check_compiler_h
+ [ "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
+ # tools/common/makeself*
+- [ $OSE -ge 1 ] && check_makeself
+ fi
+
+ [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/app-emulation/virtualbox/files/virtualbox-4-mkisofs-check.patch b/app-emulation/virtualbox/files/virtualbox-4-mkisofs-check.patch
new file mode 100644
index 0000000..8b0d591
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-mkisofs-check.patch
@@ -0,0 +1,10 @@
+--- VirtualBox-4.0.0_OSE/configure
++++ VirtualBox-4.0.0_OSE/configure
+@@ -2499,7 +2499,6 @@
+ # don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
+ # [ "$OS" != "darwin" ] && check_yasm
+ [ "$OS" != "darwin" ] && check_xsltproc
+-[ "$OS" != "darwin" ] && check_mkisofs
+
+ # the libraries
+ [ "$OS" != "darwin" ] && check_pthread
diff --git a/app-emulation/virtualbox/files/virtualbox-4-vnc.patch b/app-emulation/virtualbox/files/virtualbox-4-vnc.patch
new file mode 100644
index 0000000..76e2c68
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4-vnc.patch
@@ -0,0 +1,101 @@
+--- configure.old 2011-02-18 20:22:18.879463002 +0100
++++ configure 2011-02-18 20:30:22.355463011 +0100
+@@ -88,6 +88,7 @@
+ WITH_OPENGL=1
+ WITH_HARDENING=1
+ WITH_VDE=0
++WITH_VNC=0
+ WITH_DOCS=1
+ BUILD_LIBXML2=
+ BUILD_LIBXSLT=
+@@ -123,6 +124,8 @@
+ MESA="-lGL"
+ INCZ=""
+ LIBZ="-lz"
++INCVNCSERVER=""
++LIBVNCSERVER="-lvncserver"
+ CXX_FLAGS=""
+ if [ "$OS" = "freebsd" ]; then
+ INCCURL="-I/usr/local/include"
+@@ -956,6 +959,47 @@
+ }
+
+ #
++# Check for libvncserver, needed for VNC in OSE
++#
++check_vncserver()
++{
++ test_header libvncserver
++ cat > $ODIR.tmp_src.cc <<EOF
++#include <cstdio>
++#include <rfb/rfbconfig.h>
++
++extern "C" int main()
++{
++ const char* v=LIBVNCSERVER_VERSION;
++ unsigned int major = 0, minor = 0, micro = 0;
++
++ for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0';
++
++ printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION);
++ if (major*10000 + minor*100 + micro >= 907)
++ {
++ printf(", OK.\n");
++ return 0;
++ }
++ else
++ {
++ printf(", expected version 0.9.7 or higher\n");
++ return 1;
++ }
++}
++EOF
++ if test_compile "$LIBVNCSERVER $INCVNCSERVER" libvncserver libvncserver; then
++ if test_execute; then
++ cnf_append "VBOX_WITH_VNC" "1"
++ fi
++ fi
++}
++
++#
+ # Check for libcurl, needed by S3
+ #
+ check_curl()
+@@ -2115,6 +2159,7 @@
+ [ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)"
+ [ $WITH_OPENGL -eq 1 ] && echo " --disable-opengl disable OpenGL support (2D & 3D)"
+ [ $WITH_GSOAP -eq 0 ] && echo " --enable-webservice enable the webservice stuff"
++[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server"
+ [ $WITH_DOCS -eq 1 ] && echo " --disable-docs don't build the documentation"
+ [ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking"
+ cat << EOF
+@@ -2280,6 +2325,9 @@
+ --enable-webservice)
+ [ $WITH_GSOAP -eq 0 ] && WITH_GSOAP=1
+ ;;
++ --enable-vnc)
++ WITH_VNC=1
++ ;;
+ --disable-hardening)
+ WITH_HARDENING=0
+ ;;
+@@ -2553,6 +2601,15 @@
+ cnf_append "VBOX_WITH_DOCS_PACKING" ""
+ fi
+
++# VNC server support
++if [ $OSE -ge 1 ]; then
++ if [ $WITH_VNC = 1 ]; then
++ check_vncserver
++ else
++ cnf_append "VBOX_WITH_VNC" ""
++ fi
++fi
++
+ # success!
+ echo
+ echo "Successfully generated '$CNF' and '$ENV'."
diff --git a/app-emulation/virtualbox/files/virtualbox-4.0.2-restore_old_machines_dir.patch b/app-emulation/virtualbox/files/virtualbox-4.0.2-restore_old_machines_dir.patch
new file mode 100644
index 0000000..a79cd90
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4.0.2-restore_old_machines_dir.patch
@@ -0,0 +1,12 @@
+--- VirtualBox-4.0.2_OSE/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
++++ VirtualBox-4.0.2_OSE/src/VBox/Main/src-server/SystemPropertiesImpl.cpp
+@@ -1035,7 +1035,8 @@
+ // new default with VirtualBox 4.0: "$HOME/VirtualBox VMs"
+ HRESULT rc = getUserHomeDirectory(path);
+ if (FAILED(rc)) return rc;
+- path += RTPATH_SLASH_STR "VirtualBox VMs";
++ path += RTPATH_SLASH_STR ".VirtualBox";
++ path += RTPATH_SLASH_STR "Machines";
+ }
+
+ if (!RTPathStartsWithRoot(path.c_str()))
diff --git a/app-emulation/virtualbox/files/virtualbox-4.0.4-gcc46.patch b/app-emulation/virtualbox/files/virtualbox-4.0.4-gcc46.patch
new file mode 100644
index 0000000..a9f8077
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4.0.4-gcc46.patch
@@ -0,0 +1,14 @@
+--- VirtualBox-4.0.4_OSE.orig/configure 2011-02-18 00:30:48.000000000 +0800
++++ VirtualBox-4.0.4_OSE.orig/configure 2011-04-10 13:37:42.513743178 +0800
+@@ -409,9 +409,9 @@ check_gcc()
+ elif [ $cc_maj -lt 3 \
+ -o \( $cc_maj -eq 3 -a $cc_min -lt 2 \) \
+ -o \( $cc_maj -eq 4 -a $cc_min -lt 1 -a "$OS" != "darwin" \) \
+- -o \( $cc_maj -eq 4 -a $cc_min -gt 5 \) \
++ -o \( $cc_maj -eq 4 -a $cc_min -gt 6 \) \
+ -o $cc_maj -gt 4 ]; then
+- log_failure "gcc version $cc_ver found, expected gcc 3.x with x>1 or gcc 4.x with 0<x<5"
++ log_failure "gcc version $cc_ver found, expected gcc 3.x with x>1 or gcc 4.x with 0<x<=6"
+ fail really
+ else
+ log_success "found version $cc_ver"
diff --git a/app-emulation/virtualbox/files/virtualbox-4.1.0-vboxpci-build.patch b/app-emulation/virtualbox/files/virtualbox-4.1.0-vboxpci-build.patch
new file mode 100644
index 0000000..632e6a5
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-4.1.0-vboxpci-build.patch
@@ -0,0 +1,18 @@
+--- VirtualBox-4.1.0_OSE/src/VBox/HostDrivers/VBoxPci/Makefile.kmk
++++ VirtualBox-4.1.0_OSE/src/VBox/HostDrivers/VBoxPci/Makefile.kmk
+@@ -5,6 +5,7 @@
+
+ if1of ($(KBUILD_TARGET), linux)
+
++ ifdef VBOX_WITH_VBOXDRV
+ SYSMODS += VBoxPci
+ VBoxPci_TEMPLATE = VBOXR0DRV
+ VBoxPci_INST = $(INST_VBOXPCI)$(if $(eq $(KBUILD_TARGET),darwin),Contents/MacOS/)
+@@ -23,6 +24,7 @@
+ VBoxPci_LIBS += \
+ $(PATH_LIB)/SUPR0IdcClient$(VBOX_SUFF_LIB)
+
++ endif # VBOX_WITH_VBOXDRV
+ endif
+
+
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3-config b/app-emulation/virtualbox/files/virtualbox-ose-3-config
new file mode 100644
index 0000000..af78221
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3-config
@@ -0,0 +1 @@
+INSTALL_DIR=/usr/MY_LIBDIR/virtualbox
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig b/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig
new file mode 100644
index 0000000..5138d92
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3-localconfig
@@ -0,0 +1,45 @@
+# -*- Makefile -*-
+#
+# Overwrite some default kBuild settings
+#
+
+#
+# Copyright (C) 2006-2008 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License as published by the Free Software Foundation,
+# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
+# distribution. VirtualBox OSE is distributed in the hope that it will
+# be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+
+# shut up wine complaining about unknown locale
+EXEC_X86_WIN32 := wine
+
+# don't build testcases to save time, they are not needed for the package
+VBOX_WITH_TESTCASES :=
+VBOX_WITH_TESTSUITE :=
+VBOX_DOCBOOK_WITH_LATEX := 1
+
+KBUILD_MSG_STYLE := brief
+
+## paths, origin, hardening
+VBOX_WITH_HARDENING := 1
+VBOX_WITH_ORIGIN :=
+VBOX_PATH_APP_PRIVATE_ARCH := /usr/MY_LIBDIR/virtualbox
+VBOX_PATH_SHARED_LIBS := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_WITH_RUNPATH := $(VBOX_PATH_APP_PRIVATE_ARCH)
+VBOX_PATH_APP_PRIVATE := /usr/share/virtualbox
+VBOX_PATH_APP_DOCS = $(VBOX_PATH_PACKAGE_DOCS)
+
+## don't build unwanted/splitted stuff
+VBOX_WITHOUT_ADDITIONS := 1
+VBOX_WITH_VBOXDRV :=
+VBOX_WITH_VBOXBFE :=
+VBOX_WITH_KCHMVIEWER :=
+
+## don't build with -Werror
+VBOX_WITH_WARNINGS_AS_ERRORS :=
+
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3-wrapper b/app-emulation/virtualbox/files/virtualbox-ose-3-wrapper
new file mode 100755
index 0000000..6f2da49
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3-wrapper
@@ -0,0 +1,104 @@
+#!/bin/sh
+#
+# Sun VirtualBox
+#
+# Copyright (C) 2006-2009 Sun Microsystems, Inc.
+#
+# This file is part of VirtualBox Open Source Edition (OSE), as
+# available from http://www.virtualbox.org. This file is free software;
+# you can redistribute it and/or modify it under the terms of the GNU
+# General Public License (GPL) as published by the Free Software
+# Foundation, in version 2 as it comes in the "COPYING" file of the
+# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
+# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
+#
+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
+# Clara, CA 95054 USA or visit http://www.sun.com if you need
+# additional information or have any questions.
+#
+
+PATH="/usr/bin:/bin:/usr/sbin:/sbin"
+CONFIG="/etc/vbox/vbox.cfg"
+
+if [ ! -r "$CONFIG" ]; then
+ echo "Could not find VirtualBox installation. Please reinstall."
+ exit 1
+fi
+
+. "$CONFIG"
+
+# Note: This script must not fail if the module was not successfully installed
+# because the user might not want to run a VM but only change VM params!
+
+if [ "$1" = "shutdown" ]; then
+ SHUTDOWN="true"
+elif ! lsmod|grep -q vboxdrv; then
+ cat << EOF
+WARNING: The VirtualBox kernel modules are not loaded.
+ Please load all the needed kernel modules by:
+
+ for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+elif [ ! -c /dev/vboxdrv ]; then
+ cat << EOF
+WARNING: The character device /dev/vboxdrv does not exist.
+ Please try to reload all the needed kernel modules by:
+
+ for m in vbox{netflt,netadp,drv}; do rmmod \$m; done
+ for m in vbox{drv,netadp,netflt}; do modprobe \$m; done
+
+ and if that is not successful, try to re-install the package by:
+
+ emerge -1av app-emulation/virtualbox-modules
+
+ You will not be able to start VMs until this problem is fixed.
+EOF
+fi
+
+SERVER_PID=`ps -U \`whoami\` | grep VBoxSVC | awk '{ print $1 }'`
+if [ -z "$SERVER_PID" ]; then
+ # Server not running yet/anymore, cleanup socket path.
+ # See IPC_GetDefaultSocketPath()!
+ if [ -n "$LOGNAME" ]; then
+ rm -rf /tmp/.vbox-$LOGNAME-ipc > /dev/null 2>&1
+ else
+ rm -rf /tmp/.vbox-$USER-ipc > /dev/null 2>&1
+ fi
+fi
+
+if [ "$SHUTDOWN" = "true" ]; then
+ if [ -n "$SERVER_PID" ]; then
+ kill -TERM $SERVER_PID
+ sleep 2
+ fi
+ exit 0
+fi
+
+APP=`which $0`
+APP=`basename $APP`
+APP=${APP##/*/}
+case "$APP" in
+ VirtualBox)
+ exec "$INSTALL_DIR/VirtualBox" "$@"
+ ;;
+ VBoxManage)
+ exec "$INSTALL_DIR/VBoxManage" "$@"
+ ;;
+ VBoxSDL)
+ exec "$INSTALL_DIR/VBoxSDL" "$@"
+ ;;
+ VBoxVRDP)
+ exec "$INSTALL_DIR/VBoxHeadless" "$@"
+ ;;
+ VBoxHeadless)
+ exec "$INSTALL_DIR/VBoxHeadless" "$@"
+ ;;
+ vboxwebsrv)
+ exec "$INSTALL_DIR/vboxwebsrv" "$@"
+ ;;
+ *)
+ echo "Unknown application - $APP"
+ ;;
+esac
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-3.2.8-mesa-check.patch b/app-emulation/virtualbox/files/virtualbox-ose-3.2.8-mesa-check.patch
new file mode 100644
index 0000000..6813a17
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-3.2.8-mesa-check.patch
@@ -0,0 +1,36 @@
+--- configure
++++ configure
+@@ -1225,10 +1225,7 @@
+ XCloseDisplay(dpy);
+ }
+ EOF
+- [ -n "$INCX11" ] && I_INCX11=`prefix_I "$INCX11"`
+- if test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs; then
+- log_success "found"
+- fi
++ test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs
+ }
+
+
+@@ -1382,21 +1379,6 @@
+ #include <GL/glu.h>
+ extern "C" int main(void)
+ {
+- Display *dpy;
+- int major, minor;
+-
+- dpy = XOpenDisplay(NULL);
+- if (dpy)
+- {
+- Bool glx_version = glXQueryVersion(dpy, &major, &minor);
+- XCloseDisplay(dpy);
+- if (glx_version)
+- {
+- printf("found version %u.%u, OK.\n", major, minor);
+- return 0;
+- }
+- }
+- printf("found (inactive), OK.\n");
+ return 0;
+ }
+ EOF
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch b/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch
new file mode 100644
index 0000000..2eee125
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-asneeded.patch
@@ -0,0 +1,16 @@
+--- src/libs/xpcom18a4/Makefile.kmk
++++ src/libs/xpcom18a4/Makefile.kmk
+@@ -469,9 +469,10 @@
+ libIDL_config_cflags := $(shell $(VBOX_LIBIDL_CONFIG) --cflags)
+ libIDL_config_libs := $(shell $(VBOX_LIBIDL_CONFIG) --libs)
+ xpidl_CFLAGS = \
+- $(libIDL_config_cflags)
+- xpidl_LDFLAGS = \
+- $(libIDL_config_libs)
++ $(shell pkg-config --cflags libIDL-2.0)
++ xpidl_LDFLAGS = $(shell pkg-config --libs-only-L libIDL-2.0)
++ xpidl_LIBS.linux = $(shell pkg-config --libs-only-l libIDL-2.0 | sed -e 's/-l//g')
++
+ endif
+
+ #
diff --git a/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
new file mode 100644
index 0000000..b8a2088
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose-vnc.patch
@@ -0,0 +1,101 @@
+--- configure.orig 2010-11-20 20:35:43.399739771 +0100
++++ configure 2010-11-20 22:04:15.523490599 +0100
+@@ -87,6 +87,7 @@
+ WITH_OPENGL=1
+ WITH_HARDENING=1
+ WITH_VDE=0
++WITH_VNC=0
+ BUILD_LIBXML2=
+ BUILD_LIBXSLT=
+ BUILD_LIBCURL=
+@@ -122,6 +123,8 @@
+ LIBZ="-lz"
+ INCPNG=""
+ LIBPNG="-lpng"
++INCVNCSERVER=""
++LIBVNCSERVER="-lvncserver"
+ CXX_FLAGS=""
+ if [ "$OS" = "freebsd" ]; then
+ INCCURL="-I/usr/local/include"
+@@ -949,6 +952,47 @@
+ }
+
+ #
++# Check for libvncserver, needed for VNC in OSE
++#
++check_vncserver()
++{
++ test_header libvncserver
++ cat > $ODIR.tmp_src.cc <<EOF
++#include <cstdio>
++#include <rfb/rfbconfig.h>
++
++extern "C" int main()
++{
++ const char* v=LIBVNCSERVER_VERSION;
++ unsigned int major = 0, minor = 0, micro = 0;
++
++ for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0';
++ if (*v == '.') v++;
++ for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0';
++
++ printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION);
++ if (major*10000 + minor*100 + micro >= 907)
++ {
++ printf(", OK.\n");
++ return 0;
++ }
++ else
++ {
++ printf(", expected version 0.9.7 or higher\n");
++ return 1;
++ }
++}
++EOF
++ if test_compile "$LIBVNCSERVER $INCVNCSERVER" libvncserver libvncserver; then
++ if test_execute; then
++ cnf_append "VBOX_WITH_VNC" "1"
++ fi
++ fi
++}
++
++#
+ # Check for libcurl, needed by S3
+ #
+ check_curl()
+@@ -2063,6 +2107,7 @@
+ [ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)"
+ [ $WITH_OPENGL -eq 1 ] && echo " --disable-opengl disable OpenGL support (2D & 3D)"
+ [ $WITH_GSOAP -eq 0 ] && echo " --enable-webservice enable the webservice stuff"
++[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server"
+ [ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking"
+ cat << EOF
+ --disable-hardening don't be strict about /dev/vboxdrv access
+@@ -2224,6 +2269,9 @@
+ --enable-webservice)
+ [ $WITH_GSOAP -eq 0 ] && WITH_GSOAP=1
+ ;;
++ --enable-vnc)
++ WITH_VNC=1
++ ;;
+ --disable-hardening)
+ WITH_HARDENING=0
+ ;;
+@@ -2484,6 +2532,15 @@
+ fi
+ fi
+
++# VNC server support
++if [ $OSE -ge 1 ]; then
++ if [ $WITH_VNC = 1 ]; then
++ check_vncserver
++ else
++ cnf_append "VBOX_WITH_VNC" ""
++ fi
++fi
++
+ # success!
+ echo
+ echo "Successfully generated '$CNF' and '$ENV'."
diff --git a/app-emulation/virtualbox/files/virtualbox-ose.desktop-2 b/app-emulation/virtualbox/files/virtualbox-ose.desktop-2
new file mode 100644
index 0000000..ce798da
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-ose.desktop-2
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Oracle xVM VirtualBox
+Type=Application
+Comment=Run several virtual systems on a single host computer
+Exec=VirtualBox
+TryExec=VirtualBox
+Icon=virtualbox
+Categories=System;Emulator;