summaryrefslogtreecommitdiff
path: root/app-emulation
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/virtualbox-bin/Manifest4
-rw-r--r--app-emulation/virtualbox-bin/files/10-virtualbox.rules7
-rw-r--r--app-emulation/virtualbox-bin/files/vboxwebsrv-confd20
-rw-r--r--app-emulation/virtualbox-bin/files/vboxwebsrv-initd24
-rwxr-xr-xapp-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper104
-rw-r--r--app-emulation/virtualbox-bin/files/virtualbox-bin-config1
-rw-r--r--app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-28
-rw-r--r--app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild357
-rw-r--r--app-emulation/virtualbox-modules/Manifest1
-rwxr-xr-xapp-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh29
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-3.17.patch49
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch48
-rw-r--r--app-emulation/virtualbox-modules/files/virtualbox.conf3
-rw-r--r--app-emulation/virtualbox-modules/virtualbox-modules-5.0.0.ebuild59
14 files changed, 714 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest
new file mode 100644
index 00000000..c22fd70c
--- /dev/null
+++ b/app-emulation/virtualbox-bin/Manifest
@@ -0,0 +1,4 @@
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.0-101573.tar.gz 18028050 SHA256 c357e36368883df821ed092d261890a95c75e50422b75848c40ad20984086a7a SHA512 8eb21610ab4d4b5ada5901e25adcc99ad2b4ab20e86309c90f9bad993d71007f13eccf81e3670102e5400fa02d3df9c03d0901389f8980e9cdfa092b2d326271 WHIRLPOOL bd0cff1c58d90663b5c4f7983b05be9f3469f201143f30ef729723aaa55508685a34355b00ad952dc5132045589a1b26d71bbc5a5ee0d0fc32b99cf0a5f8e4f8
+DIST VirtualBox-5.0.0-101573-Linux_amd64.run 84284870 SHA256 19d6ffec4fd84924a70cbe07bb9021b77dea26b85082b5a008828e5ecf57e4bc SHA512 5e5aba2325118c60f4fcdf15c306ff0aa3fd036cd4dd7097455a5390b85c8d40a5a435143004085ef263367f987f6e9d7d03175ba7e64c2978be09d698c2900a WHIRLPOOL 20b123932afd3c3b407d1768eec84ab9469dfec7e92e07a73fdf0bd800736b21da113590b5edef85dcc1092040073ecbb3b17e35333600229ae25368c8438d5d
+DIST VirtualBox-5.0.0-101573-Linux_x86.run 83353025 SHA256 fddb7946ae68f235ef07a88dfc57130efd2c4e02ae76c9d809c30ecec8896905 SHA512 84363cac2b453469adaeeb58dd93a9b8a69dbc58c0355a0b7f55d5fc65ccebb808da144beb3e1f7550286ce7622cc583f2e0c5de6f99539a335bb5e5e490ce65 WHIRLPOOL fc8f1c948852fb10ab140a3ea9ea3946da35b275adb3382f37e14310cc2d815b7b63ce2b12a8c3bdb8d8e0dc0da1ddadd03e3c0091fa870a337cfebbae43420b
+DIST VirtualBoxSDK-5.0.0-101573.zip 9635666 SHA256 769267df1940ed6be0742ace40af98d141b9b79a832c8cc772af5e87628c0b7c SHA512 f115653cf2595bbed59add41c297cb1c96332fc87770cf7d2784a0f6148970492038b533a17a569dd5037f9bf136b14205bd8afa71cde0f54f37a2d722c2b13e WHIRLPOOL 022be41a5ec6d316c588447ced475219102103c4292a4d9bc05eee78d621680cff87c18ff809d0245f01f201b05d1163a014453179f790d58103846ae1c2091e
diff --git a/app-emulation/virtualbox-bin/files/10-virtualbox.rules b/app-emulation/virtualbox-bin/files/10-virtualbox.rules
new file mode 100644
index 00000000..014c164a
--- /dev/null
+++ b/app-emulation/virtualbox-bin/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="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb", ACTION!="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh $major $minor $attr{bDeviceClass}"
+SUBSYSTEM=="usb_device", ACTION=="remove", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor"
+SUBSYSTEM=="usb", ACTION=="remove", ENV{DEVTYPE}=="usb_device", RUN="%UDEVDIR%/VBoxCreateUSBNode.sh --remove $major $minor"
diff --git a/app-emulation/virtualbox-bin/files/vboxwebsrv-confd b/app-emulation/virtualbox-bin/files/vboxwebsrv-confd
new file mode 100644
index 00000000..2c24c124
--- /dev/null
+++ b/app-emulation/virtualbox-bin/files/vboxwebsrv-confd
@@ -0,0 +1,20 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/files/vboxwebsrv-confd,v 1.3 2012/03/16 22:38:49 hwoarang 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
+
+# User under which vboxwebsrv is running
+VBOXWEBSRV_USER="root"
diff --git a/app-emulation/virtualbox-bin/files/vboxwebsrv-initd b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd
new file mode 100644
index 00000000..68ec1146
--- /dev/null
+++ b/app-emulation/virtualbox-bin/files/vboxwebsrv-initd
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/files/vboxwebsrv-initd,v 1.7 2012/03/16 22:38:49 hwoarang Exp $
+
+depend() {
+ need net
+}
+
+start() {
+ #checkconfig || return $?
+
+ ebegin "Starting VirtualBox WebService"
+ start-stop-daemon --start --quiet --user ${VBOXWEBSRV_USER} --pidfile /var/run/vboxwebsrv.pid \
+ --background --make-pidfile --exec /opt/bin/vboxwebsrv \
+ -- -H ${VBOXWEBSRV_HOST} -p ${VBOXWEBSRV_PORT} -t ${VBOXWEBSRV_TIMEOUT} -i ${VBOXWEBSRV_INTERVAL}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping VirtualBox WebService"
+ start-stop-daemon --stop --user ${VBOXWEBSRV_USER} --quiet --pidfile /var/run/vboxwebsrv.pid
+ eend $?
+}
diff --git a/app-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper b/app-emulation/virtualbox-bin/files/virtualbox-bin-3-wrapper
new file mode 100755
index 00000000..6f2da490
--- /dev/null
+++ b/app-emulation/virtualbox-bin/files/virtualbox-bin-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-bin/files/virtualbox-bin-config b/app-emulation/virtualbox-bin/files/virtualbox-bin-config
new file mode 100644
index 00000000..f69e73e2
--- /dev/null
+++ b/app-emulation/virtualbox-bin/files/virtualbox-bin-config
@@ -0,0 +1 @@
+INSTALL_DIR=/opt/VirtualBox
diff --git a/app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-2 b/app-emulation/virtualbox-bin/files/virtualbox-bin.desktop-2
new file mode 100644
index 00000000..112e8f81
--- /dev/null
+++ b/app-emulation/virtualbox-bin/files/virtualbox-bin.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-bin
+Categories=System;Emulator;
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild
new file mode 100644
index 00000000..6418b1a1
--- /dev/null
+++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.0.101573.ebuild
@@ -0,0 +1,357 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-bin/virtualbox-bin-4.3.28.100309.ebuild,v 1.3 2015/06/14 11:53:19 zlogene Exp $
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator
+
+MAIN_PV="$(get_version_component_range 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+ MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
+ MY_PV="${MY_PV/beta/BETA}"
+ MY_PV="${MY_PV/rc/RC}"
+else
+ MY_PV="${MAIN_PV}"
+fi
+VBOX_BUILD_ID="$(get_version_component_range 4)"
+VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
+MY_P="VirtualBox-${VBOX_PV}-Linux"
+# needed as sometimes the extpack gets another build ID
+EXTP_PV="${VBOX_PV}"
+EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
+EXTP_P="${EXTP_PN}-${EXTP_PV}"
+# needed as sometimes the SDK gets another build ID
+SDK_PV="${VBOX_PV}"
+SDK_P="VirtualBoxSDK-${SDK_PV}"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use"
+HOMEPAGE="http://www.virtualbox.org/"
+SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+ x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+ http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
+
+LICENSE="GPL-2 PUEL"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
+RESTRICT="mirror"
+
+if [[ "${PV}" != *beta* ]] ; then
+ SRC_URI+="
+ sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
+ IUSE+=" sdk"
+fi
+
+DEPEND="app-arch/unzip
+ ${PYTHON_DEPS}"
+
+RDEPEND="!!app-emulation/virtualbox
+ !app-emulation/virtualbox-additions
+ ~app-emulation/virtualbox-modules-${MAIN_PV}
+ !headless? (
+ x11-libs/libXcursor
+ media-libs/libsdl[X]
+ x11-libs/libXrender
+ x11-libs/libXfixes
+ media-libs/libpng
+ x11-libs/libXi
+ x11-libs/libXrandr
+ x11-libs/libXinerama
+ x11-libs/libXft
+ media-libs/freetype
+ media-libs/fontconfig
+ x11-libs/libXext
+ dev-libs/glib
+ chm? ( dev-libs/expat )
+ )
+ x11-libs/libXt
+ dev-libs/libxml2
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libSM
+ x11-libs/libICE
+ x11-libs/libXdmcp
+ python? ( ${PYTHON_DEPS} )"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+S=${WORKDIR}
+
+QA_TEXTRELS_amd64="opt/VirtualBox/VBoxVMM.so"
+QA_TEXTRELS_x86="opt/VirtualBox/VBoxGuestPropSvc.so
+ opt/VirtualBox/VBoxSDL.so
+ opt/VirtualBox/VBoxDbg.so
+ opt/VirtualBox/VBoxSharedFolders.so
+ opt/VirtualBox/VBoxDD2.so
+ opt/VirtualBox/VBoxOGLrenderspu.so
+ opt/VirtualBox/VBoxPython.so
+ opt/VirtualBox/VBoxPython2_7.so
+ opt/VirtualBox/VBoxDD.so
+ opt/VirtualBox/VBoxVRDP.so
+ opt/VirtualBox/VBoxDDU.so
+ opt/VirtualBox/VBoxREM64.so
+ opt/VirtualBox/VBoxSharedClipboard.so
+ opt/VirtualBox/VBoxHeadless.so
+ opt/VirtualBox/VBoxRT.so
+ opt/VirtualBox/VRDPAuth.so
+ opt/VirtualBox/VBoxREM.so
+ opt/VirtualBox/VBoxSettings.so
+ opt/VirtualBox/VBoxKeyboard.so
+ opt/VirtualBox/VBoxSharedCrOpenGL.so
+ opt/VirtualBox/VBoxVMM.so
+ opt/VirtualBox/VirtualBox.so
+ opt/VirtualBox/VBoxOGLhosterrorspu.so
+ opt/VirtualBox/components/VBoxC.so
+ opt/VirtualBox/components/VBoxSVCM.so
+ opt/VirtualBox/VBoxREM32.so
+ opt/VirtualBox/VBoxXPCOMC.so
+ opt/VirtualBox/VBoxOGLhostcrutil.so
+ opt/VirtualBox/VBoxNetDHCP.so
+ opt/VirtualBox/VBoxGuestControlSvc.so"
+QA_PRESTRIPPED="opt/VirtualBox/VBoxDD.so
+ opt/VirtualBox/VBoxDD2.so
+ opt/VirtualBox/VBoxDDU.so
+ opt/VirtualBox/VBoxDbg.so
+ opt/VirtualBox/VBoxGuestControlSvc.so
+ opt/VirtualBox/VBoxGuestPropSvc.so
+ opt/VirtualBox/VBoxHeadless
+ opt/VirtualBox/VBoxHeadless.so
+ opt/VirtualBox/VBoxKeyboard.so
+ opt/VirtualBox/VBoxManage
+ opt/VirtualBox/VBoxNetAdpCtl
+ opt/VirtualBox/VBoxNetDHCP
+ opt/VirtualBox/VBoxNetDHCP.so
+ opt/VirtualBox/VBoxOGLhostcrutil.so
+ opt/VirtualBox/VBoxOGLhosterrorspu.so
+ opt/VirtualBox/VBoxOGLrenderspu.so
+ opt/VirtualBox/VBoxPython.so
+ opt/VirtualBox/VBoxPython2_7.so
+ opt/VirtualBox/VBoxREM.so
+ opt/VirtualBox/VBoxREM32.so
+ opt/VirtualBox/VBoxREM64.so
+ opt/VirtualBox/VBoxRT.so
+ opt/VirtualBox/VBoxSDL
+ opt/VirtualBox/VBoxSDL.so
+ opt/VirtualBox/VBoxSVC
+ opt/VirtualBox/VBoxSettings.so
+ opt/VirtualBox/VBoxSharedClipboard.so
+ opt/VirtualBox/VBoxSharedCrOpenGL.so
+ opt/VirtualBox/VBoxSharedFolders.so
+ opt/VirtualBox/VBoxTestOGL
+ opt/VirtualBox/VBoxTunctl
+ opt/VirtualBox/VBoxVMM.so
+ opt/VirtualBox/VBoxVRDP.so
+ opt/VirtualBox/VBoxXPCOM.so
+ opt/VirtualBox/VBoxXPCOMC.so
+ opt/VirtualBox/VBoxXPCOMIPCD
+ opt/VirtualBox/VRDPAuth.so
+ opt/VirtualBox/VirtualBox
+ opt/VirtualBox/VirtualBox.so
+ opt/VirtualBox/accessible/libqtaccessiblewidgets.so
+ opt/VirtualBox/components/VBoxC.so
+ opt/VirtualBox/components/VBoxSVCM.so
+ opt/VirtualBox/components/VBoxXPCOMIPCC.so
+ opt/VirtualBox/kchmviewer
+ opt/VirtualBox/libQtCoreVBox.so.4
+ opt/VirtualBox/libQtGuiVBox.so.4
+ opt/VirtualBox/libQtNetworkVBox.so.4
+ opt/VirtualBox/libQtOpenGLVBox.so.4
+ opt/VirtualBox/vboxwebsrv"
+
+PYTHON_UPDATER_IGNORE="1"
+
+src_unpack() {
+ unpack_makeself ${MY_P}_${ARCH}.run
+ unpack ./VirtualBox.tar.bz2
+
+ mkdir "${S}"/${EXTP_PN} || die
+ pushd "${S}"/${EXTP_PN} &>/dev/null || die
+ unpack ${EXTP_P}.tar.gz
+ popd &>/dev/null || die
+
+ if [[ "${PV}" != *beta* ]] && use sdk ; then
+ unpack VirtualBoxSDK-${SDK_PV}.zip
+ fi
+}
+
+src_configure() {
+ :;
+}
+
+src_compile() {
+ :;
+}
+
+src_install() {
+ # create virtualbox configurations files
+ insinto /etc/vbox
+ newins "${FILESDIR}/${PN}-config" vbox.cfg
+
+ if ! use headless ; then
+ pushd "${S}"/icons &>/dev/null || die
+ for size in * ; do
+ if [ -f "${size}/virtualbox.png" ] ; then
+ insinto "/usr/share/icons/hicolor/${size}/apps"
+ newins "${size}/virtualbox.png" ${PN}.png
+ fi
+ done
+ dodir /usr/share/pixmaps
+ cp "48x48/virtualbox.png" "${D}/usr/share/pixmaps/${PN}.png" \
+ || die
+ popd &>/dev/null || die
+
+ newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+ fi
+
+ pushd "${S}"/${EXTP_PN} &>/dev/null || die
+ insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
+ doins -r linux.${ARCH}
+ doins ExtPack* PXE-Intel.rom
+ popd &>/dev/null || die
+ rm -rf "${S}"/${EXTP_PN}
+
+ insinto /opt/VirtualBox
+ dodir /opt/bin
+
+ doins UserManual.pdf
+
+ if [[ "${PV}" != *beta* ]] && use sdk ; then
+ doins -r sdk
+ fi
+
+ if use additions; then
+ doins -r additions
+ fi
+
+ if use vboxwebsrv; then
+ doins vboxwebsrv
+ fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
+ fperms 0750 /opt/VirtualBox/vboxwebsrv
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
+ newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+ newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+ fi
+
+ if use rdesktop-vrdp; then
+ doins rdesktop-vrdp
+ doins -r rdesktop-vrdp-keymaps
+ fperms 0750 /opt/VirtualBox/rdesktop-vrdp
+ dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
+ fi
+
+ if ! use headless && use chm; then
+ doins kchmviewer VirtualBox.chm
+ fowners root:vboxusers /opt/VirtualBox/kchmviewer
+ fperms 0750 /opt/VirtualBox/kchmviewer
+ fi
+
+ # This ebuild / package supports only py2.7. Where py3 comes is unknown.
+ # The compile phase makes VBoxPython2_[4-7].so.
+ # py3 support would presumably require a binary pre-compiled by py3.
+ use python && doins VBoxPython.so VBoxPython2_7.so
+
+ rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
+ vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
+ VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
+ webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
+ 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
+ VBoxPython?_*.so
+
+ if use headless ; then
+ rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
+ fi
+
+ doins -r * || die
+
+ # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
+ dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+ dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+ dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+ dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+ dosym /opt/VirtualBox/VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
+
+ local each
+ for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
+ fowners root:vboxusers /opt/VirtualBox/${each}
+ fperms 0750 /opt/VirtualBox/${each}
+ pax-mark -m "${D}"/opt/VirtualBox/${each}
+ done
+ # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+ fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
+ fperms 4750 /opt/VirtualBox/VBoxNetDHCP
+ fperms 4750 /opt/VirtualBox/VBoxNetNAT
+
+ if ! use headless ; then
+ # Hardened build: Mark selected binaries set-user-ID-on-execution
+ for each in VBox{SDL,Headless} VirtualBox; do
+ fowners root:vboxusers /opt/VirtualBox/${each}
+ fperms 4510 /opt/VirtualBox/${each}
+ pax-mark -m "${D}"/opt/VirtualBox/${each}
+ done
+
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxSDL
+ else
+ # Hardened build: Mark selected binaries set-user-ID-on-execution
+ fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
+ fperms 4510 /opt/VirtualBox/VBoxHeadless
+ pax-mark -m "${D}"/opt/VirtualBox/VBoxHeadless
+ fi
+
+ exeinto /opt/VirtualBox
+ newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
+ fowners root:vboxusers /opt/VirtualBox/VBox.sh
+ fperms 0750 /opt/VirtualBox/VBox.sh
+
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+ dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+ dosym /opt/VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
+
+ # set an env-variable for 3rd party tools
+ echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
+ doenvd "${T}/90virtualbox"
+
+ local udevdir="$(get_udevdir)"
+ insinto ${udevdir}/rules.d
+ doins "${FILESDIR}"/10-virtualbox.rules
+ sed "s@%UDEVDIR%@${udevdir}@" \
+ -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die
+ # move udev scripts into ${udevdir} (bug #372491)
+ mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die
+ fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ gnome2_icon_cache_update
+
+ udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
+
+ elog ""
+ if ! use headless ; then
+ elog "To launch VirtualBox just type: \"VirtualBox\""
+ elog ""
+ fi
+ elog "You must be in the vboxusers group to use VirtualBox."
+ elog ""
+ elog "For advanced networking setups you should emerge:"
+ elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+ elog ""
+ elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+ elog "an overview about the different features of ${PN}"
+ elog "and virtualbox-ose"
+ if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
+ elog ""
+ elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
+ elog "or else USB in ${PN} won't work."
+ fi
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
new file mode 100644
index 00000000..7810f3c7
--- /dev/null
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -0,0 +1 @@
+DIST vbox-kernel-module-src-5.0.0.tar.xz 587980 SHA256 294fa70e8c7b6f6d98ea47841f9a63905defadba6bb52f5ff770f7489cd903ae SHA512 19a879dbf9f63d73cf1de483cb65aa741d3685057beb0615cea194a9c085f21c1d36b2d16b1a0e0a968c12d142b908ff2ba1617c9e5332332b1b4c816d4322f5 WHIRLPOOL 919c85f478702858154d016ffa5ede3e9ea3d96692e8aae66096d781994314e7fc83fc72ffaeafa96cf564984016013e860da1c4020ad2c1e2e9058fe897bc17
diff --git a/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh b/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh
new file mode 100755
index 00000000..756d2435
--- /dev/null
+++ b/app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+
+# Create a virtualbox modules tarball from a VirtualBox binary package.
+# We cannot download the package by this script because of the unpredictable
+# build number being in the filename.
+#
+# usage: create_vbox_modules_tarball.sh VirtualBox-4.1.18-78361-Linux_amd64.run
+
+[ -f "$1" ] || exit 1
+
+VBOX_PACKAGE="$1"
+VERSION_SUFFIX=""
+
+if [[ ${VBOX_PACKAGE} = *_BETA* ]] || [[ ${VBOX_PACKAGE} = *_RC* ]] ; then
+ VERSION_SUFFIX="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-[[:digit:]\.]\+\(_[[:alpha:]]\+[[:digit:]]\).*@\L\1@')"
+
+fi
+
+VBOX_VER="$(echo ${VBOX_PACKAGE} | sed 's@.*VirtualBox-\([[:digit:]\.]\+\).*@\1@')${VERSION_SUFFIX}"
+
+
+sh ${VBOX_PACKAGE} --noexec --keep --nox11 || exit 2
+cd install || exit 3
+tar -xaf VirtualBox.tar.bz2 || exit 4
+cd src/vboxhost || exit 5
+tar -cvJf ../../../vbox-kernel-module-src-${VBOX_VER}.tar.xz . || exit 6
+cd ../../.. && rm install -rf
+
+exit 0
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-3.17.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-3.17.patch
new file mode 100644
index 00000000..1d059c5a
--- /dev/null
+++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-3.17.patch
@@ -0,0 +1,49 @@
+diff -rupN work/vboxdrv/r0drv/linux/alloc-r0drv-linux.c work.new/vboxdrv/r0drv/linux/alloc-r0drv-linux.c
+--- work/vboxdrv/r0drv/linux/alloc-r0drv-linux.c 2014-01-14 04:27:06.000000000 -0600
++++ work.new/vboxdrv/r0drv/linux/alloc-r0drv-linux.c 2014-09-03 11:12:28.247795756 -0500
+@@ -191,7 +191,7 @@ static PRTMEMHDR rtR0MemAllocExecVmArea(
+ struct page **papPagesIterator = papPages;
+ pVmArea->nr_pages = cPages;
+ pVmArea->pages = papPages;
+- if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, &papPagesIterator))
++ if (!map_vm_area(pVmArea, PAGE_KERNEL_EXEC, papPagesIterator))
+ {
+ PRTMEMLNXHDREX pHdrEx = (PRTMEMLNXHDREX)pVmArea->addr;
+ pHdrEx->pVmArea = pVmArea;
+diff -rupN work/vboxnetadp/linux/VBoxNetAdp-linux.c work.new/vboxnetadp/linux/VBoxNetAdp-linux.c
+--- work/vboxnetadp/linux/VBoxNetAdp-linux.c 2013-10-09 06:02:09.000000000 -0500
++++ work.new/vboxnetadp/linux/VBoxNetAdp-linux.c 2014-09-03 11:13:55.999687819 -0500
+@@ -52,6 +52,25 @@
+
+ #define VBOXNETADP_FROM_IFACE(iface) ((PVBOXNETADP) ifnet_softc(iface))
+
++/*******************************
++source for the 4th parameter alloc_netdev fix for kernel 3.17-rc1 is:
++https://github.com/proski/madwifi/commit/c5246021b7b8580c2aeb0a145903acc07d246ac1
++*/
++#ifndef NET_NAME_UNKNOWN
++#undef alloc_netdev
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,23)
++#define alloc_netdev(sizeof_priv, name, name_assign_type, setup) \
++ alloc_netdev(sizeof_priv, name, setup)
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
++#define alloc_netdev(sizeof_priv, name, name_assign_type, setup) \
++ alloc_netdev_mq(sizeof_priv, name, setup, 1)
++#else
++#define alloc_netdev(sizeof_priv, name, name_assign_type, setup) \
++ alloc_netdev_mqs(sizeof_priv, name, setup, 1, 1)
++#endif
++#endif
++/*******************************/
++
+ /*******************************************************************************
+ * Internal Functions *
+ *******************************************************************************/
+@@ -183,6 +202,7 @@ int vboxNetAdpOsCreate(PVBOXNETADP pThis
+ /* No need for private data. */
+ pNetDev = alloc_netdev(sizeof(VBOXNETADPPRIV),
+ pThis->szName[0] ? pThis->szName : VBOXNETADP_LINUX_NAME,
++ NET_NAME_UNKNOWN,
+ vboxNetAdpNetDevInit);
+ if (pNetDev)
+ {
diff --git a/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch
new file mode 100644
index 00000000..4e4cde06
--- /dev/null
+++ b/app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch
@@ -0,0 +1,48 @@
+diff -urp vboxdrv.orig/SUPDrvIDC.h vboxdrv/SUPDrvIDC.h
+--- vboxdrv.orig/SUPDrvIDC.h 2011-09-06 15:53:27.852567531 +0200
++++ vboxdrv/SUPDrvIDC.h 2011-09-06 15:54:05.420565524 +0200
+@@ -160,7 +160,7 @@ typedef struct SUPDRVIDCREQGETSYM
+ {
+ /** The symbol address. */
+ PFNRT pfnSymbol;
+- } Out;
++ } __no_const Out;
+ } u;
+ } SUPDRVIDCREQGETSYM;
+ /** Pointer to a SUPDRV IDC get symbol request. */
+diff -urp vboxnetflt.orig/include/VBox/intnet.h vboxnetflt/include/VBox/intnet.h
+--- vboxnetflt.orig/include/VBox/intnet.h 2011-09-06 15:53:27.852567531 +0200
++++ vboxnetflt/include/VBox/intnet.h 2011-09-06 15:54:05.424565524 +0200
+@@ -783,7 +783,7 @@ typedef struct INTNETTRUNKFACTORY
+ DECLR0CALLBACKMEMBER(int, pfnCreateAndConnect,(struct INTNETTRUNKFACTORY *pIfFactory, const char *pszName,
+ PINTNETTRUNKSWPORT pSwitchPort, uint32_t fFlags,
+ PINTNETTRUNKIFPORT *ppIfPort));
+-} INTNETTRUNKFACTORY;
++} __no_const INTNETTRUNKFACTORY;
+ /** Pointer to the trunk factory. */
+ typedef INTNETTRUNKFACTORY *PINTNETTRUNKFACTORY;
+
+diff -urp vboxnetflt.orig/linux/VBoxNetFlt-linux.c vboxnetflt/linux/VBoxNetFlt-linux.c
+--- vboxnetflt.orig/linux/VBoxNetFlt-linux.c 2011-07-19 12:15:22.000000000 +0200
++++ vboxnetflt/linux/VBoxNetFlt-linux.c 2011-09-06 15:56:00.516559379 +0200
+@@ -840,7 +840,7 @@ typedef struct ethtool_ops OVR_OPSTYPE;
+
+ # else /* LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) */
+
+-typedef struct net_device_ops OVR_OPSTYPE;
++typedef net_device_ops_no_const OVR_OPSTYPE;
+ # define OVR_OPS netdev_ops
+ # define OVR_XMIT pOrgOps->ndo_start_xmit
+
+diff -urp vboxpci.orig/include/VBox/rawpci.h vboxpci/include/VBox/rawpci.h
+--- vboxpci.orig/include/VBox/rawpci.h 2011-04-18 17:01:12.000000000 +0200
++++ vboxpci/include/VBox/rawpci.h 2011-09-06 15:57:17.340555277 +0200
+@@ -545,7 +545,7 @@ typedef struct RAWPCIFACTORY
+ DECLR0CALLBACKMEMBER(void, pfnDeinitVm,(PRAWPCIFACTORY pFactory,
+ PVM pVM,
+ PRAWPCIPERVM pPciData));
+-} RAWPCIFACTORY;
++} __no_const RAWPCIFACTORY;
+
+ #define RAWPCIFACTORY_UUID_STR "ea089839-4171-476f-adfb-9e7ab1cbd0fb"
+
diff --git a/app-emulation/virtualbox-modules/files/virtualbox.conf b/app-emulation/virtualbox-modules/files/virtualbox.conf
new file mode 100644
index 00000000..6e882a17
--- /dev/null
+++ b/app-emulation/virtualbox-modules/files/virtualbox.conf
@@ -0,0 +1,3 @@
+vboxnetflt
+vboxnetadp
+vboxdrv
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.0.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.0.ebuild
new file mode 100644
index 00000000..b22589c2
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-modules/virtualbox-modules-4.3.28.ebuild,v 1.4 2015/06/14 18:10:40 mgorny Exp $
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+# package that comes from virtualbox-bin
+
+EAPI=5
+
+inherit eutils linux-mod user
+
+MY_P=vbox-kernel-module-src-${PV}
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="http://www.virtualbox.org/"
+SRC_URI="http://venerix.rogentos.ro/distfiles/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="pax_kernel"
+
+RDEPEND="!=app-emulation/virtualbox-9999"
+
+S=${WORKDIR}
+
+BUILD_TARGETS="all"
+BUILD_TARGET_ARCH="${ARCH}"
+MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+
+ BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR}"
+ enewgroup vboxusers
+}
+
+src_prepare() {
+ if kernel_is -ge 2 6 33 ; then
+ # evil patch for new kernels - header moved
+ grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:'
+ fi
+
+ if use pax_kernel && kernel_is -ge 3 0 0 ; then
+ epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
+ fi
+}
+
+src_install() {
+ linux-mod_src_install
+ insinto /usr/lib/modules-load.d/
+ doins "${FILESDIR}"/virtualbox.conf
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+ elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\""
+ elog "and \"vboxnetadp\" to:"
+ elog " /etc/conf.d/modules"
+}