summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2018-02-28 11:39:39 +0100
committerLars Wendler <polynomial-c@gentoo.org>2018-02-28 11:39:39 +0100
commit6d42a65c201dbf0c72889a86a30eef7ecd0339ba (patch)
treed158b2b4950ba0bef8801272b273e796f24ad023 /app-emulation/virtualbox-bin
parentsys-libs/ldb: Removed old. (diff)
downloadgentoo-6d42a65c201dbf0c72889a86a30eef7ecd0339ba.tar.gz
gentoo-6d42a65c201dbf0c72889a86a30eef7ecd0339ba.tar.bz2
gentoo-6d42a65c201dbf0c72889a86a30eef7ecd0339ba.zip
virtualbox packages: Bump to versions 5.1.34 and 5.2.8
Package-Manager: Portage-2.3.24, Repoman-2.3.6
Diffstat (limited to 'app-emulation/virtualbox-bin')
-rw-r--r--app-emulation/virtualbox-bin/Manifest8
-rw-r--r--app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild287
-rw-r--r--app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild287
3 files changed, 582 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest
index e749dc55d027..34552b2e5dfc 100644
--- a/app-emulation/virtualbox-bin/Manifest
+++ b/app-emulation/virtualbox-bin/Manifest
@@ -1,8 +1,16 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.32-120294.tar.gz 19589163 BLAKE2B b35d9bb90216a77706fe5f0de624affaff4177d4b6e561f7c76003efd1a386a1f5b5f6b1c6b559cddde6ffb55ab5f7eba3e4c9b2135f31c09313b473ba6579e5 SHA512 c1e13fc59b9556f980bec02bb2860e717f752d42c3d810f70267e5c07898bb1aba9d3f3403fa5aa388478aa609397da49dcf10311836d68093101715a6ae200d
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.34-121010.tar.gz 19591849 BLAKE2B 573afe3624a3eace4272a067f472e32dbe344755814aefaa8d6685da0ff31e04faa7f6a22a58974938067fce3a0ea3d66a0c5d02db999105029cc7c5c8fea24b SHA512 4f05bc7abe989fbc0928aba259ad60b09f5b085859c0ddc3e24c052fdb4becb055795c8f0038fc4dd95be7b9954a3034afd499798bb58fe16522602cfe91e7fa
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.6-120293.tar.gz 19468503 BLAKE2B 5e1e490352fb06ceee868171583e50f8ca634a53799237cd1a3632566b6ca14d526e714156ccbeae48bf01aa4372a89d8926601cf5c1d8d34127d2d1e6a53edb SHA512 f81715b5e89ae21080d9a1b23cfd9be30bc35b32963c1b710262c1ee88bedc405dd9d2ff96761b8725716bd98625eea58fc076de6d42a4728078ebe303e195af
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.8-121009.tar.gz 19469421 BLAKE2B 81651876802ad767339f3984a26375118f01e4b99b4247398e0cea8d749905431b40945f8a72d0c7802b2743080f01d3044aafd21600c4927773994c5a114a1f SHA512 2b69e2acab91ce95e9807006c79862fc0d1d10fdd269bd9cdf8f11b6704821823b103c7a4a76ad99c10e0868bd397ffe0e72b2eb2aa4fc2bd81ff968c71c2280
DIST VirtualBox-5.1.32-120294-Linux_amd64.run 88360402 BLAKE2B f548855260467be536f2e5ff95ae110636b1fa824a78058cf9318b21592d9643bd780691984ff803c7b0ec998f8e1720d81731fb26df42718cfe3c7b56ad09e4 SHA512 3b7e722ee231ad087b4d2419406e46b6b33a7947d6dcc8ecc0456f04925fb551810c5f27a54d9c99b0d729c1bb0d5d79d17bb8720291c8210ab88c15215244ec
DIST VirtualBox-5.1.32-120294-Linux_x86.run 87387598 BLAKE2B 657842740d52f046c969196ca776e5572e3bfde55587575bdcc2a957863bb890a40954c9fa014e9184ee77e1e5a81388eadbc5fcfcd22a21c0485e25074bb900 SHA512 38cb01d89edb1fcb44940bdd94c69af824577ebc9fa30a5a2c7c837142fc70848326325b9ee131ad878a9dce71e10b9762854ef0aa66c9060c159abc40c89241
+DIST VirtualBox-5.1.34-121010-Linux_amd64.run 88309202 BLAKE2B 77b906e52f54926a3d6a41ec54de906b4beca3c7ae817d3db20a480352ba4804d28cc41d8b501e89893b4ba153e8c62c7d9d106acd771c35431a1c841e964cdb SHA512 28b0b9cd58e1deba8b008bd0a2f611400de426701d9256cad58527761cfaed52949bb817a7b2cc101e15f524c79a605972349d87b637b7497ada0816421ecf4c
+DIST VirtualBox-5.1.34-121010-Linux_x86.run 87377358 BLAKE2B 48a0011a8fe80604a660eeb833b5b406f19827d9e22a0ae1f7a1394951b554a3d141d2150640107ebbb3d381b783084b7f7a2c4265302727524b98ced947c756 SHA512 7866f35f315ad9207fe85e0cfdbff7e5fb19f55ec1bff07606cadf68a9f7f965169b7c95713599952db4c9ba346f0813169f944e0d69702c4f2c43f35ff6c61f
DIST VirtualBox-5.2.6-120293-Linux_amd64.run 88554959 BLAKE2B ca35ed89b47a65c82abdc5268ec2b85fc78f405981e0919198effb99ca307fa74e2329d3901fcae9a18fada1dbefc2c39feec78609b818acf89ed09036f3693a SHA512 501e3de48553e3664242303c6f403784ffa71cb064de36c141a2be67aebe1d44161aab62af2101ada277cc02d98678fffbabbeb3aee69a5f97dca5dddb3ea553
DIST VirtualBox-5.2.6-120293-Linux_x86.run 87725517 BLAKE2B 301a44c5086377cff6e8cce794238661bebd6417a645de64227cfd5dccda5091d2bd88c33beaf393ceba61d912aed672eeba6ca084dd56553e042dfb0709a1f2 SHA512 f44753fdaad115aea5a576ac0b04463b7c25958c5c0a2cb20de76ef24045addbbd6fdfee60b0070149f78add2225f3384a523abd7938ee83f2fd9e79414b0742
+DIST VirtualBox-5.2.8-121009-Linux_amd64.run 88493520 BLAKE2B 2986918bb2eda12447468fb642d3760d999d3af3e5595bf7260e94572f15a811655cd3f1348e1cf23a827011b1eebf84f07f13185f4eab3c353a957c58c105d4 SHA512 211f94910ef50a00b178482c0600be48ecddb48086846515b7705b111a36f81346efd4cbeb39255d85f3a0e778509e0dd7676e4c9bcbea49014988be8635910f
+DIST VirtualBox-5.2.8-121009-Linux_x86.run 87705037 BLAKE2B 8d6774d0be3a3e12cd258bb6799e6f3eb84a3cff670277c0b910671879014b513d1e2958ebf60f5aaa1ee4ef56be52cc0908b3cb5fa25fa78db77023fbbb3660 SHA512 ee75f64332a8d1df61b60a28661d7b7ef760c789dabca61b749f5cf33ffbe5ef09d64bde6da4255e659b1bf86d947eca8d18d697738e4de9f6b0b423ea647e9b
DIST VirtualBoxSDK-5.1.32-120294.zip 9860157 BLAKE2B c9222bc865bdd70cc2ac516b27d1a1c91e0c05b04129a0c9793701ca8080c184ae2d8157bf687995c074aa03b8242e931164b03c5942e4d57589def16aa21b57 SHA512 aa2f0b647e177f95543c41beca64546a5d9b68f2081365ceb9a4494e500747de55fc71e899f31d65b96a9b5a1c8bfeaf8518ddb45791fb25e0ad992776c4c186
+DIST VirtualBoxSDK-5.1.34-121010.zip 9863604 BLAKE2B 63c7a28d509a910d4b63e7784a85a2cb125c6d5f6b6bf311c971235c706c4279266f40853f4c735ad41b483fd4febbf36bf9f07477e73675d39846b20e9105d7 SHA512 8a3931132e4eaffbcd82d64e9b34d6c2cce0c2971731b10af97f4e79e926baecd3ba3ead4b454512115e59c3f186d466ddbc9b13c83230f2b80743f5e0d0578c
DIST VirtualBoxSDK-5.2.6-120293.zip 10149320 BLAKE2B cc42df0d5e6a3f100fe5b205c6ab930f5537a9671c69ade26f60fe0922dd57ee2e82354e142acfcf08da3a5bd89ae796fa17a02b672185a7d7a78685df93f4b3 SHA512 73c50891df9094e4a894fe6a39026f2fc267f4cf6be9ce3130a8e20650ca7787c76cdf456c3d0035111ec3110d8300b5a9d15a4de3f2bdaa583980a4b83d5d6f
+DIST VirtualBoxSDK-5.2.8-121009.zip 10153749 BLAKE2B 0534f568f83d73f70f4192389e0f602bc4184d45a4a1aa82983692bf4e35fac0589eef21f5aa561c88c736aaa398986de0077dcdf3aa211df655788f5592b423 SHA512 386e38ee6e584ff8b0444b9285a67d259bb93f53d6e6b6e082cefd4121578da91ea56e2eb329b6848ff5476a14ad3055287b806cd25a21155aa6f708c58244a5
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild
new file mode 100644
index 000000000000..256314a1aed2
--- /dev/null
+++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils xdg-utils 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 and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+ x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+ https://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? ( https://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? (
+ dev-libs/glib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libpng
+ media-libs/libsdl[X]
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXft
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ chm? ( dev-libs/expat )
+ )
+ dev-libs/libxml2
+ sys-fs/lvm2
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXt
+ x11-libs/libXmu
+ x11-libs/libSM
+ x11-libs/libICE
+ x11-libs/libXdmcp
+ ${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S=${WORKDIR}
+
+QA_PREBUILT="opt/VirtualBox/*"
+
+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
+ newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+
+ # set up symlinks (bug #572012)
+ dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
+
+ local size ico icofile
+ for size in 16 24 32 48 64 72 96 128 256 ; do
+ pushd "${S}"/icons/${size}x${size} &>/dev/null || die
+ if [[ -f "virtualbox.png" ]] ; then
+ doicon -s ${size} virtualbox.png
+ fi
+ for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+ icofile="virtualbox-${ico}.png"
+ if [[ -f "${icofile}" ]] ; then
+ doicon -s ${size} ${icofile}
+ fi
+ done
+ popd &>/dev/null || die
+ done
+ doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
+ insinto /usr/share/pixmaps
+ newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
+ 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. When py3 comes is unknown.
+ # The compile phase makes VBoxPython2_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 ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+ dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+ dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+ dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+ dosym ../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 ../VirtualBox/VBox.sh /opt/bin/VirtualBox
+ dosym ../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 ../VirtualBox/VBox.sh /opt/bin/VBoxManage
+ dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+ dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+ dosym ../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() {
+ xdg_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() {
+ xdg_desktop_database_update
+}
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild
new file mode 100644
index 000000000000..256314a1aed2
--- /dev/null
+++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild
@@ -0,0 +1,287 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils xdg-utils 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 and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+ x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+ https://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? ( https://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? (
+ dev-libs/glib
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/libpng
+ media-libs/libsdl[X]
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXft
+ x11-libs/libXi
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXrender
+ chm? ( dev-libs/expat )
+ )
+ dev-libs/libxml2
+ sys-fs/lvm2
+ x11-libs/libXau
+ x11-libs/libX11
+ x11-libs/libXt
+ x11-libs/libXmu
+ x11-libs/libSM
+ x11-libs/libICE
+ x11-libs/libXdmcp
+ ${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S=${WORKDIR}
+
+QA_PREBUILT="opt/VirtualBox/*"
+
+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
+ newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+
+ # set up symlinks (bug #572012)
+ dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
+
+ local size ico icofile
+ for size in 16 24 32 48 64 72 96 128 256 ; do
+ pushd "${S}"/icons/${size}x${size} &>/dev/null || die
+ if [[ -f "virtualbox.png" ]] ; then
+ doicon -s ${size} virtualbox.png
+ fi
+ for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+ icofile="virtualbox-${ico}.png"
+ if [[ -f "${icofile}" ]] ; then
+ doicon -s ${size} ${icofile}
+ fi
+ done
+ popd &>/dev/null || die
+ done
+ doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
+ insinto /usr/share/pixmaps
+ newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
+ 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. When py3 comes is unknown.
+ # The compile phase makes VBoxPython2_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 ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+ dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+ dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+ dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+ dosym ../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 ../VirtualBox/VBox.sh /opt/bin/VirtualBox
+ dosym ../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 ../VirtualBox/VBox.sh /opt/bin/VBoxManage
+ dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+ dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+ dosym ../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() {
+ xdg_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() {
+ xdg_desktop_database_update
+}