From 7846e8856440b44e1dc4e673c56f90cab89d791a Mon Sep 17 00:00:00 2001 From: Kolan Sh Date: Fri, 28 Mar 2014 11:39:49 +0400 Subject: [PATCH] VirtualBox 4.3.10 added --- app-emulation/virtualbox-additions/Manifest | 1 + .../virtualbox-additions-4.3.10-r1.ebuild | 36 ++ .../virtualbox-extpack-oracle/Manifest | 1 + ...tualbox-extpack-oracle-4.3.10.93012.ebuild | 41 ++ app-emulation/virtualbox-modules/Manifest | 1 + .../files/create_vbox_modules_tarball.sh | 29 ++ .../virtualbox-modules-4.1.4-pax-const.patch | 48 +++ .../virtualbox-modules/files/virtualbox.conf | 3 + .../virtualbox-modules-4.3.10.ebuild | 59 +++ app-emulation/virtualbox/Manifest | 12 +- .../virtualbox/virtualbox-4.3.10.ebuild | 402 ++++++++++++++++++ 11 files changed, 623 insertions(+), 10 deletions(-) create mode 100644 app-emulation/virtualbox-additions/Manifest create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-4.3.10-r1.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/Manifest create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-4.3.10.93012.ebuild create mode 100644 app-emulation/virtualbox-modules/Manifest create mode 100644 app-emulation/virtualbox-modules/files/create_vbox_modules_tarball.sh create mode 100644 app-emulation/virtualbox-modules/files/virtualbox-modules-4.1.4-pax-const.patch create mode 100644 app-emulation/virtualbox-modules/files/virtualbox.conf create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-4.3.10.ebuild create mode 100644 app-emulation/virtualbox/virtualbox-4.3.10.ebuild diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest new file mode 100644 index 00000000..82a1c7b6 --- /dev/null +++ b/app-emulation/virtualbox-additions/Manifest @@ -0,0 +1 @@ +DIST VBoxGuestAdditions_4.3.10.iso 64647168 SHA256 247e15e9a205dcd4761f6cb547ceca2a61e8d6905c1930870939fd323f4cd1ae SHA512 9af8e01abb8f29e1cd165ad73918b83c681b902636e608d49d2264d30be58d8fe3d2e3a1ad28bd37b644bc54b1a08b3fad32b3d55d7ec9f6b7c018c0ba64c866 WHIRLPOOL f9b3b6af97224ce2ff093f9ed23c465303d695140383bb599c52392fe2f03093f22431c975334bad962c32706832e2e5240a0317eb4bf403931b7ce9b4a0b172 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-4.3.10-r1.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-4.3.10-r1.ebuild new file mode 100644 index 00000000..bc0912a6 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-4.3.10-r1.ebuild @@ -0,0 +1,36 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-additions/virtualbox-additions-4.3.10-r1.ebuild,v 1.1 2014/03/27 12:34:03 polynomial-c Exp $ + +EAPI=5 + +inherit eutils + +MY_PN=VBoxGuestAdditions +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}_${MY_PV} + +DESCRIPTION="CD image containing guest additions for VirtualBox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso" + +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror" + +RDEPEND="!app-emulation/virtualbox-bin + !=app-emulation/virtualbox-9999" + +S="${WORKDIR}" + +src_unpack() { + return 0 +} + +src_install() { + insinto /usr/share/${PN/-additions} + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso +} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest new file mode 100644 index 00000000..6f237a6c --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -0,0 +1 @@ +DIST Oracle_VM_VirtualBox_Extension_Pack-4.3.10-93012.tar.gz 10432166 SHA256 ec3f2a98373d5e228acb4756ac07f44212c4d53f6b83deee81b791abb0d2608a SHA512 cb4551caf296f51ea2a11cac340335333fc7e7b56caa22dd354bbacf041c9c228e8b5262bc585033196b1381389e664c798197654049a334814fd94faeac3e56 WHIRLPOOL a4902e5d6fe3c156ca26607d2cde5ac5ff3ac6deeb520ad83293b4d1eae7f5ec46b7053195739b66bb39b4837aa22ec9c84f2bf627b7176de253cb8cd6c508bf diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-4.3.10.93012.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-4.3.10.93012.ebuild new file mode 100644 index 00000000..ef7edeb6 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-4.3.10.93012.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-4.3.10.93012.ebuild,v 1.1 2014/03/27 12:21:26 polynomial-c Exp $ + +EAPI=5 + +inherit eutils multilib versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_componen_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)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror strip" + +RDEPEND="~app-emulation/virtualbox-${MAIN_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest new file mode 100644 index 00000000..0bd727f1 --- /dev/null +++ b/app-emulation/virtualbox-modules/Manifest @@ -0,0 +1 @@ +DIST vbox-kernel-module-src-4.3.10.tar.xz 517568 SHA256 96fd82c79820fd099ddb970f281b86c070b6176c40fc65c61aa8e072bff8485f SHA512 d7d26d34a97ff4a90acb04b5969e2273b709d8857c2c163289b50d83d170aa191e337f07393b4088c4343a28e0fe8596f603de7db3ea7e28baaec578ab025b02 WHIRLPOOL df2e636945ba085d11f29430b8a2bbbf7a165f245a87a00fa504e6b04db9bc0220cce75ca36315009af10df6cca513e2956dc9ed544ec35daf231e1e2150eb93 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 100644 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-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-4.3.10.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-4.3.10.ebuild new file mode 100644 index 00000000..ea61d04a --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-4.3.10.ebuild @@ -0,0 +1,59 @@ +# Copyright 1999-2014 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.10.ebuild,v 1.1 2014/03/26 10:10:13 polynomial-c 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://dev.gentoo.org/~polynomial-c/virtualbox/${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} KERNOUT=${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:::' + 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 openRC, please add \"vboxdrv\", \"vboxnetflt\"" + elog "and \"vboxnetadp\" to:" + elog "/etc/conf.d/modules" +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 352822f4..d1f6d9c5 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -1,12 +1,4 @@ -AUX 10-virtualbox.rules 576 SHA256 12d1900c59fc92db58d6c32d15130d5b909853e4bc8205898439fd0510d15050 SHA512 12128375244e0fb090674e5a11cc70178f3c6208040830c009284addb91db7dc0a2d3cbd5d1056944782e936a63b0bcef03be0135683646c41d540413805f0ba WHIRLPOOL 489b5221a143f2f5f84f9695d1d3679b75e86b90502706a248e7f20b812709100a86713ca36a5266aae397a588876643f68084b1fdc872f9587571c6b07daaa5 -AUX vboxwebsrv-confd 683 SHA256 57d15be05b11a5d2df838e144f3e91c6443b6afb6ea2c105254947be72759bc8 SHA512 cc1bfe93733cc06fcab5384f6fc6b0e88cfff93b07b6ea3ef5f8226bab24249ecf9c0f857568527ebd257d4e5be987b5699d26e09940dc221917daf58492b184 WHIRLPOOL d7cec4f07dfa53623106bc47100068b2552a99c2114e166fb33e32b0e4c8f9b3517c87d31e83c7cadb8375a1584a2c3a653bca0f4339955af6fc610f0d1ec88f -AUX vboxwebsrv-initd 797 SHA256 51cafb25408343650ddcd8401ef0226c2df3cb5020a5ccdfd85e2de821a2ccf5 SHA512 60d2d1ad58e8f887d6a9b6a47a520ca84aa0e2e043571176bdc887ce76be063e443a980ea8f1b941394d533d69a434a1ca6a5c0cb8bd6b9cd4f38c1af2e10bbe WHIRLPOOL 3d22cef4e224738c504313a26e2c78915f49b42f4498309157e351805ceb8f6f9c25cea40dc51d4e58d6741b60c0206dc16ab9b48e26145ba2e6d5e41a91f266 -AUX virtualbox-4-config 38 SHA256 cc3cd896be49a421b06665683a22edb0fe17d6588fc259140b139c3d8a8581b5 SHA512 5455b70b8ac6f25365bae776b78c3ef5710ae2d5a9e939c7013d72c35f65f178268966ebd291a42666913e45f43c7196f8953331be0b0cc88eba66df39205b08 WHIRLPOOL c7f76904207198a77703c0a3866e10b1c646cf8b802ce2e01fc194f076d8ddcbe9862f55c376a385e6d81fa467fa867c08e1619046d27aa78fecf35398ce6db2 -AUX virtualbox-4-localconfig 1434 SHA256 e7d23a6c15b5982f7132c38ee5d660bae111a46c6a5603c2212488637cdcfe20 SHA512 0cac0eba680957a75e12544cc7e8e6074d4764c5d10b5ad8f0060ac36d1d03675a9132210c0f6894ec889163f8bf546913370c6f50da43c798141c094a589e4d WHIRLPOOL cde0d2cbd3e7411c7211c19f51998a0cc5c53b3b37b281270483a55b3a46135475ce003ee294573d5cbd5f8d73108e9b9f48a0548613f0ecffa8b7579dc3f82d -AUX virtualbox-ose-3-config 38 SHA256 cc3cd896be49a421b06665683a22edb0fe17d6588fc259140b139c3d8a8581b5 SHA512 5455b70b8ac6f25365bae776b78c3ef5710ae2d5a9e939c7013d72c35f65f178268966ebd291a42666913e45f43c7196f8953331be0b0cc88eba66df39205b08 WHIRLPOOL c7f76904207198a77703c0a3866e10b1c646cf8b802ce2e01fc194f076d8ddcbe9862f55c376a385e6d81fa467fa867c08e1619046d27aa78fecf35398ce6db2 -AUX virtualbox-ose-3-wrapper 2931 SHA256 7ed4834ece201cb6a9da57e36a1a9b47bd054057d2ac4a46343a9966ff460644 SHA512 adb6ba2b3252b19b4c0331c10a025d05fd2399642530ba9aec2efa2dc8dbea4188a95806935532ad8229db29f0767c3098ef7646204f5e540e291ceb350b76ac WHIRLPOOL b7d7e454cd5642e59bdf973bbfb7f7d52597b32b440630ec4ba08b8b89f91e4e5296a723429e1c9c5c72e6760264d0477e1232559631e54c85c98351cf170db5 -AUX virtualbox-ose.desktop-2 201 SHA256 fa7fc3dae940e768560559db944289c578acb691db2dcb51c8c85bfaf3298a25 SHA512 a678e237ad0451e8785f242ebf822b4f3b03d2e2280a62f71728f79bdcfc84d3465ee60cad90db75e64b2c89a1b0b224de00519728fb605df67ca7c9aee0874c WHIRLPOOL 080fc09f951f621976499e7721e1edaa6e89d6a3632c63d14806a23d1369ce1a7d3408a6375f8658f00603fccf69cef3b2f587e1861b02a09646262f365aee2c DIST VirtualBox-4.2.8.tar.bz2 76412088 SHA256 f336af12244db74e6564dc22e438bbcba70f994aaf0d117fdf70caca9fab1b78 SHA512 70eab0aa0c760937a99d4d199be81cd828bc37d656a796a5cdd25fd3869b6873d2bfac4fa1c719a9a79431312524c21bba995b9a6be8a8bcb8eb2444cca32c08 WHIRLPOOL 54642eaf1c495f46338c348e6f5abb29bf6e17b85d2dae1fd4b4988eebec7dda8a8dad903060b2ef3fa65c4e1aaecdc43bd384f7b993b16f59be86e4fb8d0355 +DIST VirtualBox-4.3.10.tar.bz2 90336343 SHA256 8152fcc959565fee63855dffb9731a1585563f01b4756def0a644de1223af37e SHA512 639ad7585d7459373156489ec2a229cf6323202045e14f41ffdaa80cdc38e8b376be84fdbb398dda04b85d5d68247bdfae51d4695a14805fb91adbb5d6f61b3f WHIRLPOOL fe22aaeef2066408bf172ffbd554d421bd1ff4512d7a81eac871ad1675954b16923640aa08868114300de4a839f2cd3a5116ca63cacb37fe68bfb2b890a2f911 DIST virtualbox-4.2.8-patches-01.tar.xz 11140 SHA256 6f738d7e7b0da7bdf284c9429b5db81433fa09977a46d7a27f049118d47dfd97 SHA512 868e9b5feeb26dca647f0f614a7e06eef961081b32a36f4d0a1e6648fb4a2603767d7b536ba913334cfa75c02133186dd5f825a37a7dff9676ef4d65a6cca1b0 WHIRLPOOL 29d6e5d38e02804ad9d7b58e18ad15d5ccee5bda14b71f9ccfd5d6c1447008d889b0f943fb85e5b493ba2ef5aa6848cd895fb947328ecc7075238fb8d4299ccf -EBUILD virtualbox-4.2.8-r1.ebuild 12663 SHA256 30e835fa76e14b5367a38fe0957cfb2d08c34978a176f15fccf31b792301fb4a SHA512 b2840f2086b91c052cbfa9727f73ad8a0d1cf123ba3af010dff0cc4016d62c360b8c1f2c6d54866774a57e8b2fd871854159811ba8bde1c83f2da356d137a2b4 WHIRLPOOL 47b67fdf4ba83ec707bdaf1fb3c271912515689d80f7e9ef06f12cce4deeb9b2abf85800884f230d14c3a2c5d1724a18fe20b10642450582647d2623f2775bfd -EBUILD virtualbox-4.2.8-r2.ebuild 12654 SHA256 50147a0df24e2294897d764ec15567cd673c8d59d0740891d8e5b4e28723a6d3 SHA512 da2b0a76a9643b0f36342c5d26056811403fc01d44fd6379dfb7e3eb4c24d800f4762c4afdb4068a87f1645458ce5ce66b6306038f8d4c4d6d8941c2b7503ad9 WHIRLPOOL 8c7b7d28cc5f7b8d7a2eef3931c61314b8b3f2ada745089b4edd5ea46341c6cdfe1ce1142815e3c9e243c647ca3f1963110f580afcd2ec85f14226a5e2589f51 +DIST virtualbox-4.3.4-patches-01.tar.xz 3512 SHA256 92602471590278f42db4e13aeb3975620ce0b8f1f883b82a534b6998bb4fc2e3 SHA512 3a487283066b96fb8abc765d446dbc3d3b34ed93a12d932e843b7ecdf644a02fc185f47764cfb3e4b996e104da8e1fc07432892ea126229c174e00f748468496 WHIRLPOOL 19b344f784e866b87c1f7583081746776da5203737bbb284a32b8bcb48a8546286cd209b6749c6c77c08ee02039afcf3838d49d179ae4cc1592ca1fbd5fd5b12 diff --git a/app-emulation/virtualbox/virtualbox-4.3.10.ebuild b/app-emulation/virtualbox/virtualbox-4.3.10.ebuild new file mode 100644 index 00000000..3adc1c6f --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-4.3.10.ebuild @@ -0,0 +1,402 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/virtualbox/virtualbox-4.3.10.ebuild,v 1.2 2014/03/27 12:31:16 polynomial-c Exp $ + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 qt4-r2 toolchain-funcs udev + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2 + http://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-4.3.4-patches-01.tar.xz" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise as well as home use" +HOMEPAGE="http://www.virtualbox.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions alsa doc extensions headless java pam pulseaudio +opengl python +qt4 +sdk vboxwebsrv vnc" + +RDEPEND="!app-emulation/virtualbox-bin + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/openssl + dev-libs/libxml2 + media-libs/libpng + media-libs/libvpx + sys-libs/zlib + >=virtual/udev-171 + !headless? ( + qt4? ( + dev-qt/qtgui:4 + dev-qt/qtcore:4 + opengl? ( dev-qt/qtopengl:4 ) + x11-libs/libXinerama + ) + opengl? ( virtual/opengl media-libs/freeglut ) + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + media-libs/libsdl:0[X,video] + ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) + java? ( || ( virtual/jre:1.7 virtual/jre:1.6 ) )" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-power/iasl + pam? ( sys-libs/pam ) + sys-libs/libcap + doc? ( + dev-texlive/texlive-basic + dev-texlive/texlive-latex + dev-texlive/texlive-latexrecommended + dev-texlive/texlive-latexextra + dev-texlive/texlive-fontsrecommended + dev-texlive/texlive-fontsextra + ) + java? ( || ( virtual/jdk:1.7 virtual/jdk:1.6 ) ) + virtual/pkgconfig + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( x11-libs/libXinerama ) + pulseaudio? ( media-sound/pulseaudio ) + vboxwebsrv? ( LocalConfig.kmk || die + + # Respect LDFLAGS + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \ + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die + + # Use PAM only when pam USE flag is enbaled (bug #376531) + if ! use pam ; then + elog "Disabling PAM removes the possibility to use the VRDP features." + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \ + src/VBox/HostServices/Makefile.kmk || die + fi + + # add correct java path + if use java ; then + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \ + -i "${S}"/Config.kmk || die + java-pkg-opt-2_src_prepare + fi + + if ! gcc-specs-pie ; then + EPATCH_EXCLUDE="050_${PN}-4.3.4-nopie.patch" + fi + + EPATCH_SUFFIX="patch" \ + EPATCH_FORCE="yes" \ + epatch "${WORKDIR}/patches" + + epatch_user +} + +src_configure() { + local myconf + use alsa || myconf+=" --disable-alsa" + use doc || myconf+=" --disable-docs" + use java || myconf+=" --disable-java" + use opengl || myconf+=" --disable-opengl" + use pulseaudio || myconf+=" --disable-pulse" + use python || myconf+=" --disable-python" + use vboxwebsrv && myconf+=" --enable-webservice" + use vnc && myconf+=" --enable-vnc" + if ! use headless ; then + use qt4 || myconf+=" --disable-qt4" + else + myconf+=" --build-headless --disable-opengl" + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=" --disable-vmmraw" + fi + # not an autoconf script + ./configure \ + --with-gcc="$(tc-getCC)" \ + --with-g++="$(tc-getCXX)" \ + --disable-kmods \ + --disable-dbus \ + --disable-devmapper \ + ${myconf} \ + || die "configure failed" +} + +src_compile() { + source ./env.sh + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + # and strip all flags + # strip-flags + + MAKE="kmk" emake \ + VBOX_BUILD_PUBLISHER=_Gentoo \ + TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \ + TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \ + TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \ + TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \ + VBOX_GCC_OPT="${CXXFLAGS}" \ + TOOL_YASM_AS=yasm KBUILD_PATH="${S}/kBuild" \ + KBUILD_VERBOSE=2 \ + all +} + +src_install() { + cd "${S}"/out/linux.${ARCH}/release/bin || die + + # Create configuration files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-4-config" vbox.cfg + + # Set the right libdir + sed -i \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed" + + # Symlink binaries to the shipped wrapper + exeinto /usr/$(get_libdir)/${PN} + newexe "${FILESDIR}/${PN}-ose-3-wrapper" "VBox" + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBox + fperms 0750 /usr/$(get_libdir)/${PN}/VBox + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxManage + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxVRDP + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxHeadless + dosym /usr/$(get_libdir)/${PN}/VBoxTunctl /usr/bin/VBoxTunctl + + # Install binaries and libraries + insinto /usr/$(get_libdir)/${PN} + doins -r components + + if use sdk ; then + doins -r sdk + fi + + if use vboxwebsrv ; then + doins vboxwebsrv + fowners root:vboxusers /usr/$(get_libdir)/${PN}/vboxwebsrv + fperms 0750 /usr/$(get_libdir)/${PN}/vboxwebsrv + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + local gcfiles="*gc" + if use amd64 && ! has_multilib_profile ; then + gcfiles="" + fi + + for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,ExtPackHelperApp} *so *r0 ${gcfiles} ; do + doins ${each} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} + fperms 0750 /usr/$(get_libdir)/${PN}/${each} + done + # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case.. + fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetAdpCtl + fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetDHCP + fperms 4750 /usr/$(get_libdir)/${PN}/VBoxNetNAT + + # VBoxSVC needs to be pax-marked (bug #403453) + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxSVC || die + + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxManage || die + + if ! use headless ; then + for each in VBox{SDL,Headless} ; do + doins ${each} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${each} + fperms 4750 /usr/$(get_libdir)/${PN}/${each} + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/${each} + done + + if use opengl && use qt4 ; then + doins VBoxTestOGL + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxTestOGL + fperms 0750 /usr/$(get_libdir)/${PN}/VBoxTestOGL + fi + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VBoxSDL + + if use qt4 ; then + doins VirtualBox + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VirtualBox + fperms 4750 /usr/$(get_libdir)/${PN}/VirtualBox + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VirtualBox \ + || die + + dosym /usr/$(get_libdir)/${PN}/VBox /usr/bin/VirtualBox + + newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop + fi + + pushd "${S}"/src/VBox/Resources/OSE &>/dev/null || die + for size in 16 32 48 64 128 ; do + newicon -s ${size} ${PN}-${size}px.png ${PN}.png + done + newicon ${PN}-48px.png ${PN}.png + popd &>/dev/null || die + else + doins VBoxHeadless + fowners root:vboxusers /usr/$(get_libdir)/${PN}/VBoxHeadless + fperms 4750 /usr/$(get_libdir)/${PN}/VBoxHeadless + pax-mark -m "${D}"/usr/$(get_libdir)/${PN}/VBoxHeadless || die + fi + + insinto /usr/$(get_libdir)/${PN} + # Install EFI Firmware files (bug #320757) + pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die + for fwfile in VBoxEFI{32,64}.fd ; do + doins ${fwfile} + fowners root:vboxusers /usr/$(get_libdir)/${PN}/${fwfile} + done + popd &>/dev/null || die + + # New way of handling USB device nodes for VBox (bug #356215) + local udevdir="$(udev_get_udevdir)" + insinto ${udevdir} + doins VBoxCreateUSBNode.sh + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh + insinto ${udevdir}/rules.d + doins "${FILESDIR}"/10-virtualbox.rules + sed "s@%UDEVDIR%@${udevdir}@" \ + -i "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + + insinto /usr/share/${PN} + if ! use headless && use qt4 ; then + doins -r nls + fi + + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so /usr/$(get_libdir)/${PN}/VRDPAuth.so + + # set an env-variable for 3rd party tools + echo -n "VBOX_APP_HOME=/usr/$(get_libdir)/${PN}" > "${T}/90virtualbox" + doenvd "${T}/90virtualbox" + + if use java ; then + java-pkg_regjar "${D}/usr/$(get_libdir)/${PN}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${D}/usr/$(get_libdir)/${PN}/libvboxjxpcom.so" + fi +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + if ! use headless && use qt4 ; then + elog "To launch VirtualBox just type: \"VirtualBox\"." + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "The latest user manual is available for download at:" + elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf" + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "IMPORTANT!" + elog "If you upgrade from app-emulation/virtualbox-ose make sure to run" + elog "\"env-update\" as root and logout and relogin as the user you wish" + elog "to run ${PN} as." + elog "" + elog "Starting with version 4.0.0, ${PN} has USB-1 support." + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge" + elog " app-emulation/virtualbox-extpack-oracle" + elog "package." + 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 +}