mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-23 16:49:10 -07:00
virtualbox packages: Bump to versions 5.1.34 and 5.2.8
Package-Manager: Portage-2.3.24, Repoman-2.3.6
This commit is contained in:
@@ -1,2 +1,4 @@
|
||||
DIST VBoxGuestAdditions_5.1.32.iso 59512832 BLAKE2B 73fcbb3d1db1056970a86e9c1c1efe1f8ddc3566c327df5bb8e14b22b827fc603dcba580a6db60c75f3dff00f268313ac196d49355e184395793363c6d16df68 SHA512 073b103308f7cab18ca096bbb863d8cdea8efd8aa4896b2ab2a6326f549f1cf6afb70ccb55baa1dab85485879e522584a9f91adb4434c5f8bd649e73dae65900
|
||||
DIST VBoxGuestAdditions_5.1.34.iso 59619328 BLAKE2B e8e7786a82785c4d58c2206c3ede4119c435c2884eba470128cd12ad968077eea7a7850fb05c20ef18ec01fb27919ae29a706d4b059203a7a55dba94f7680564 SHA512 e8c376a558991d603fbb6554969d27c510621bfd8f53542126f57c3604d68f6da7f7732361369b6144794575f40c22e0df0a9b2b4190d3462d80c035b7f0451f
|
||||
DIST VBoxGuestAdditions_5.2.6.iso 57866240 BLAKE2B a9028dc084eaf8e2a759112a2dfcc9f15486a1479fbb0c3ab77484e2775b8ed8df3759d265b73bea18cf20e02d82c022c8af1f23e9a640b89f69d2a6bd8c3e26 SHA512 23fe9512455d77b4cade7f731c9244439882ae54068158384e96c988ba7b4e2721ba2414189f6366f7c2d13f6e5355a0fa0bff501db6087705b8d1242e9d0f2a
|
||||
DIST VBoxGuestAdditions_5.2.8.iso 57972736 BLAKE2B 4f78b5faa8379777f88be98af1c6e023863395004d5326a698801141ed939edbb04f5109967179e8777bdfae39a77ffa724c9f08f54a14a8898a074512318816 SHA512 29d1bd00e6f5f5ceb7fa50719dde6e05b17111583a0ada16f47cd1e38e9302a3d5d4d7708cef9c8c3f9c4eb2d5ccc276c792700e0733cec2dc611ba1e5bed098
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
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="https://www.virtualbox.org/"
|
||||
SRC_URI="https://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
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
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="https://www.virtualbox.org/"
|
||||
SRC_URI="https://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
|
||||
}
|
||||
@@ -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
|
||||
|
||||
287
app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild
Normal file
287
app-emulation/virtualbox-bin/virtualbox-bin-5.1.34.121010.ebuild
Normal file
@@ -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
|
||||
}
|
||||
287
app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild
Normal file
287
app-emulation/virtualbox-bin/virtualbox-bin-5.2.8.121009.ebuild
Normal file
@@ -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
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
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
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils multilib versionator
|
||||
|
||||
MAIN_PV="$(get_version_component_range 1-3)"
|
||||
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
|
||||
MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
|
||||
DEP_PV="${MY_PV}"
|
||||
MY_PV="${MY_PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
else
|
||||
MY_PV="${MAIN_PV}"
|
||||
DEP_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="https://www.virtualbox.org/"
|
||||
SRC_URI="https://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-${DEP_PV}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
|
||||
doins -r linux.${ARCH}
|
||||
doins ExtPack* PXE-Intel.rom
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils multilib versionator
|
||||
|
||||
MAIN_PV="$(get_version_component_range 1-3)"
|
||||
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
|
||||
MY_PV="${MAIN_PV}_$(get_version_component_range 5)"
|
||||
DEP_PV="${MY_PV}"
|
||||
MY_PV="${MY_PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
else
|
||||
MY_PV="${MAIN_PV}"
|
||||
DEP_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="https://www.virtualbox.org/"
|
||||
SRC_URI="https://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-${DEP_PV}"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
|
||||
doins -r linux.${ARCH}
|
||||
doins ExtPack* PXE-Intel.rom
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
DIST VirtualBox-5.1.32.tar.bz2 117268301 BLAKE2B 336df054e3407d7e701d6719258cfcba9beec1439cbe94f137570cfcbdea02df3e34374ac36d3b4387c47ebafd17a0f05c2fb710eb4f140d8200117b505aba98 SHA512 052ac1672515a36c4138e2d52672a466d4c768f219f52eefe98e747a292ebebe04e7de35547eae6803654be5dc937b8e6f4d358a65fd4f49a8333eac8862d138
|
||||
DIST VirtualBox-5.1.34.tar.bz2 117291269 BLAKE2B 0eb9b3f778f2d677ac3635fa59dfa6861d0fec3c0331582e5961b78ab55b5ab26bbf286de05a3e87e8a64e2b54861613a8d2c93f70736a07c551dca834786abd SHA512 0f828e58d68678a0a94a39c12313425105f9255ca207d40dd04065d0072857cdc4fc886f944b852c3fb63fed04d70a3449aecd2aab9e27af7f13b506143a4b6f
|
||||
DIST VirtualBox-5.2.6.tar.bz2 118530572 BLAKE2B 19d32a9252e9594a4c09828bc2bc739c46daf409745c01f764fb54bc17faa667081a27534ac11666cbf1b417057cb99a416faa42e3986ce4d2c08378e7e7240c SHA512 ed6f801c055e9b8e152118a1ebfecdc15c310fac2b007ea3cd4a404d17cbbbc83782a3baa76b979c72b9399616844291576846d820f8aefb7c4b4ec2eaf36482
|
||||
DIST VirtualBox-5.2.8.tar.bz2 118500065 BLAKE2B 64d0cc0f928d224332f59e7966ee1bed8adcf097d27c577b6ecea5cbf203e170e38acca9f2371d6d7aa11f63b73e705b43a0516ccbe5993171f928406b8a3876 SHA512 49a3bd1c60d2c4cbd3799ece5fbfe15d9b6a00c5af9692478a1365a8eb4975228410e17dba24a388c0cf5387cb79fb7492feb4e6b2f531bc17322c3d61de7887
|
||||
DIST virtualbox-5.1.30-patches-02.tar.xz 2608 BLAKE2B 08b05a26622a7acec455f6d0dc72858f5f2758488e50d219f83c3d12606419d48e9d99302cde5a275929fe79af900c1b3ea3957fe9dfdaa952aaa0da9933291a SHA512 8a490f7cc44e40262fc47819736251c177adb635256794e9500f52729197c85211d5b0c0d000268089953a4c185872a8ba03c5d42df6b80f05eac8b81335320a
|
||||
DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils linux-mod systemd user toolchain-funcs
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.32-patches-01.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="X? ( x11-apps/xrandr
|
||||
x11-apps/xrefresh
|
||||
x11-libs/libXmu
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
x11-libs/libXext
|
||||
x11-libs/libXau
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libSM
|
||||
x11-libs/libICE
|
||||
x11-proto/glproto )
|
||||
sys-apps/dbus
|
||||
!!x11-drivers/xf86-input-virtualbox"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998_pre20131130
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/pam
|
||||
sys-power/iasl
|
||||
X? ( x11-proto/renderproto )
|
||||
!X? ( x11-proto/xproto )"
|
||||
PDEPEND="X? ( ~x11-drivers/xf86-video-virtualbox-${PV} )"
|
||||
|
||||
BUILD_TARGETS="all"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
|
||||
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
|
||||
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
|
||||
|
||||
linux-mod_pkg_setup
|
||||
BUILD_PARAMS="KERN_DIR=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}"
|
||||
enewgroup vboxguest
|
||||
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
|
||||
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||
enewgroup vboxsf
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
# Create and unpack a tarball with the sources of the Linux guest
|
||||
# kernel modules, to include all the needed files
|
||||
"${S}"/src/VBox/Additions/linux/export_modules "${WORKDIR}/vbox-kmod.tar.gz"
|
||||
unpack ./vbox-kmod.tar.gz
|
||||
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
cd "${S}"
|
||||
rm -rf kBuild/bin tools
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# PaX fixes (see bug #298988)
|
||||
pushd "${WORKDIR}" &>/dev/null || die
|
||||
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Disable things unused or splitted into separate ebuilds
|
||||
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
|
||||
|
||||
# stupid new header references...
|
||||
for vboxheader in {product,revision,version}-generated.h ; do
|
||||
for mdir in vbox{guest,sf} ; do
|
||||
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
|
||||
"${WORKDIR}/${mdir}/${vboxheader}"
|
||||
done
|
||||
done
|
||||
|
||||
# Remove pointless GCC version check
|
||||
sed -e '/^check_gcc$/d' -i configure || die
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# build the user-space tools, warnings are harmless
|
||||
local cmd=(
|
||||
./configure
|
||||
--nofatal
|
||||
--disable-xpcom
|
||||
--disable-sdl-ttf
|
||||
--disable-pulse
|
||||
--disable-alsa
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--target-arch=${ARCH}
|
||||
--with-linux="${KV_OUT_DIR}"
|
||||
--build-headless
|
||||
)
|
||||
echo "${cmd[@]}"
|
||||
"${cmd[@]}" || die "configure failed"
|
||||
source ./env.sh
|
||||
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
MAKE="kmk" \
|
||||
emake TOOL_YASM_AS=yasm \
|
||||
VBOX_ONLY_ADDITIONS=1 \
|
||||
KBUILD_VERBOSE=2
|
||||
|
||||
# Now creating the kernel modules. We must do this _after_
|
||||
# we compiled the user-space tools as we need two of the
|
||||
# automatically generated header files. (>=3.2.0)
|
||||
linux-mod_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
|
||||
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
|
||||
|
||||
insinto /sbin
|
||||
newins mount.vboxsf mount.vboxsf
|
||||
fperms 4755 /sbin/mount.vboxsf
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
|
||||
|
||||
insinto /usr/sbin/
|
||||
newins VBoxService vboxguest-service
|
||||
fperms 0755 /usr/sbin/vboxguest-service
|
||||
|
||||
insinto /usr/bin
|
||||
doins VBoxControl
|
||||
fperms 0755 /usr/bin/VBoxControl
|
||||
|
||||
# VBoxClient user service and xrandr wrapper
|
||||
if use X ; then
|
||||
doins VBoxClient
|
||||
fperms 0755 /usr/bin/VBoxClient
|
||||
|
||||
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|
||||
|| die
|
||||
newins 98vboxadd-xclient VBoxClient-all
|
||||
fperms 0755 /usr/bin/VBoxClient-all
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# udev rule for vboxdrv
|
||||
local udev_rules_dir="/lib/udev/rules.d"
|
||||
dodir ${udev_rules_dir}
|
||||
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
|
||||
# VBoxClient autostart file
|
||||
insinto /etc/xdg/autostart
|
||||
doins "${FILESDIR}"/vboxclient.desktop
|
||||
|
||||
# sample xorg.conf
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins "${FILESDIR}"/xorg.conf.vbox
|
||||
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
if ! use X ; then
|
||||
elog "use flag X is off, enable it to install the"
|
||||
elog "X Window System video driver."
|
||||
fi
|
||||
elog ""
|
||||
elog "Please add users to the \"vboxguest\" group so they can"
|
||||
elog "benefit from seamless mode, auto-resize and clipboard."
|
||||
elog ""
|
||||
elog "The vboxsf group has been added to make automount services work."
|
||||
elog "These services are part of the shared folders support."
|
||||
elog ""
|
||||
elog "Please add:"
|
||||
elog "/etc/init.d/${PN}"
|
||||
elog "to the default runlevel in order to start"
|
||||
elog "needed services."
|
||||
elog "To use the VirtualBox X driver, use the following"
|
||||
elog "file as your /etc/X11/xorg.conf:"
|
||||
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
|
||||
elog ""
|
||||
elog "Also make sure you use the Mesa library for OpenGL:"
|
||||
elog " eselect opengl set xorg-x11"
|
||||
elog ""
|
||||
elog "An autostart .desktop file has been installed to start"
|
||||
elog "VBoxClient in desktop sessions."
|
||||
elog ""
|
||||
elog "You can mount shared folders with:"
|
||||
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
|
||||
elog ""
|
||||
elog "Warning:"
|
||||
elog "this ebuild is only needed if you are running gentoo"
|
||||
elog "inside a VirtualBox Virtual Machine, you don't need"
|
||||
elog "it to run VirtualBox itself."
|
||||
elog ""
|
||||
}
|
||||
@@ -0,0 +1,228 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils linux-mod systemd user toolchain-funcs
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.30-patches-02.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="X"
|
||||
|
||||
RDEPEND="
|
||||
X? ( x11-apps/xrandr
|
||||
x11-apps/xrefresh
|
||||
x11-libs/libXmu
|
||||
x11-libs/libX11
|
||||
x11-libs/libXt
|
||||
x11-libs/libXext
|
||||
x11-libs/libXau
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libSM
|
||||
x11-libs/libICE
|
||||
x11-proto/glproto )
|
||||
sys-apps/dbus
|
||||
!!x11-drivers/xf86-input-virtualbox
|
||||
!x11-drivers/xf86-video-virtualbox
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998.3127
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/pam
|
||||
sys-power/iasl
|
||||
X? ( x11-proto/renderproto )
|
||||
!X? ( x11-proto/xproto )
|
||||
"
|
||||
PDEPEND="
|
||||
X? ( x11-drivers/xf86-video-vboxvideo )
|
||||
"
|
||||
BUILD_TARGETS="all"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
|
||||
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
|
||||
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
|
||||
|
||||
linux-mod_pkg_setup
|
||||
BUILD_PARAMS="KERN_DIR=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}"
|
||||
enewgroup vboxguest
|
||||
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
|
||||
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
|
||||
enewgroup vboxsf
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
# Create and unpack a tarball with the sources of the Linux guest
|
||||
# kernel modules, to include all the needed files
|
||||
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
|
||||
unpack ./vbox-kmod.tar.gz
|
||||
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
cd "${S}"
|
||||
rm -rf kBuild/bin tools
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# PaX fixes (see bug #298988)
|
||||
pushd "${WORKDIR}" &>/dev/null || die
|
||||
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
|
||||
popd &>/dev/null || die
|
||||
|
||||
# Disable things unused or splitted into separate ebuilds
|
||||
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
|
||||
|
||||
# stupid new header references...
|
||||
for vboxheader in {product,revision,version}-generated.h ; do
|
||||
for mdir in vbox{guest,sf} ; do
|
||||
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
|
||||
"${WORKDIR}/${mdir}/${vboxheader}"
|
||||
done
|
||||
done
|
||||
|
||||
# Remove pointless GCC version check
|
||||
sed -e '/^check_gcc$/d' -i configure || die
|
||||
|
||||
rm "${WORKDIR}/patches/011_virtualbox-5.1.30-sysmacros.patch" || die
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# build the user-space tools, warnings are harmless
|
||||
local cmd=(
|
||||
./configure
|
||||
--nofatal
|
||||
--disable-xpcom
|
||||
--disable-sdl-ttf
|
||||
--disable-pulse
|
||||
--disable-alsa
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--target-arch=${ARCH}
|
||||
--with-linux="${KV_OUT_DIR}"
|
||||
--build-headless
|
||||
)
|
||||
echo "${cmd[@]}"
|
||||
"${cmd[@]}" || die "configure failed"
|
||||
source ./env.sh
|
||||
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
MAKE="kmk" \
|
||||
emake TOOL_YASM_AS=yasm \
|
||||
VBOX_ONLY_ADDITIONS=1 \
|
||||
KBUILD_VERBOSE=2
|
||||
|
||||
# Now creating the kernel modules. We must do this _after_
|
||||
# we compiled the user-space tools as we need two of the
|
||||
# automatically generated header files. (>=3.2.0)
|
||||
linux-mod_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
|
||||
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
|
||||
|
||||
insinto /sbin
|
||||
newins mount.vboxsf mount.vboxsf
|
||||
fperms 4755 /sbin/mount.vboxsf
|
||||
|
||||
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
|
||||
|
||||
insinto /usr/sbin/
|
||||
newins VBoxService vboxguest-service
|
||||
fperms 0755 /usr/sbin/vboxguest-service
|
||||
|
||||
insinto /usr/bin
|
||||
doins VBoxControl
|
||||
fperms 0755 /usr/bin/VBoxControl
|
||||
|
||||
# VBoxClient user service and xrandr wrapper
|
||||
if use X ; then
|
||||
doins VBoxClient
|
||||
fperms 0755 /usr/bin/VBoxClient
|
||||
|
||||
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|
||||
|| die
|
||||
newins 98vboxadd-xclient VBoxClient-all
|
||||
fperms 0755 /usr/bin/VBoxClient-all
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# udev rule for vboxdrv
|
||||
local udev_rules_dir="/lib/udev/rules.d"
|
||||
dodir ${udev_rules_dir}
|
||||
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
|
||||
>> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|
||||
|| die
|
||||
|
||||
# VBoxClient autostart file
|
||||
insinto /etc/xdg/autostart
|
||||
doins "${FILESDIR}"/vboxclient.desktop
|
||||
|
||||
# sample xorg.conf
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins "${FILESDIR}"/xorg.conf.vbox
|
||||
|
||||
systemd_dounit "${FILESDIR}/${PN}.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
if ! use X ; then
|
||||
elog "use flag X is off, enable it to install the"
|
||||
elog "X Window System video driver."
|
||||
fi
|
||||
elog ""
|
||||
elog "Please add users to the \"vboxguest\" group so they can"
|
||||
elog "benefit from seamless mode, auto-resize and clipboard."
|
||||
elog ""
|
||||
elog "The vboxsf group has been added to make automount services work."
|
||||
elog "These services are part of the shared folders support."
|
||||
elog ""
|
||||
elog "Please add:"
|
||||
elog "/etc/init.d/${PN}"
|
||||
elog "to the default runlevel in order to start"
|
||||
elog "needed services."
|
||||
elog "To use the VirtualBox X driver, use the following"
|
||||
elog "file as your /etc/X11/xorg.conf:"
|
||||
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
|
||||
elog ""
|
||||
elog "Also make sure you use the Mesa library for OpenGL:"
|
||||
elog " eselect opengl set xorg-x11"
|
||||
elog ""
|
||||
elog "An autostart .desktop file has been installed to start"
|
||||
elog "VBoxClient in desktop sessions."
|
||||
elog ""
|
||||
elog "You can mount shared folders with:"
|
||||
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
|
||||
elog ""
|
||||
elog "Warning:"
|
||||
elog "this ebuild is only needed if you are running gentoo"
|
||||
elog "inside a VirtualBox Virtual Machine, you don't need"
|
||||
elog "it to run VirtualBox itself."
|
||||
elog ""
|
||||
}
|
||||
@@ -1,2 +1,4 @@
|
||||
DIST vbox-kernel-module-src-5.1.32.tar.xz 626600 BLAKE2B eb3243d62d1a22f41f5ea2307b13a3f5ce17a19edcecb0340f94d34995e557b016195443a53edc9d68a313d064008e5af04c7fff28540ec513c6e9a5955e02e0 SHA512 10ead68e53ae6bd72e39b31d536fc36e0999fe506a6d7fd6a6f9e462d539213ad65deb56e2b926baa5cc4b16fb4071d89e105889e873fda0e4a1f20387a7cd39
|
||||
DIST vbox-kernel-module-src-5.1.34.tar.xz 627576 BLAKE2B c1bd2af511824e5a74c3b85b73b7bc1664dd3651db3c17bbcba06b5ef8d9ba11c1a5c92bf28f443fb17aee1d057310f20a62c1a4608ce84eb087de61cbe67c25 SHA512 6176036a22d316e15c6560c124cfce9e93c6508a78e189bbe8e431ccf006b74d5f34ea747c9ca307bbd90e0c6fa414056ae0b56a5aa8124c2263de3d0dbf97d1
|
||||
DIST vbox-kernel-module-src-5.2.6.tar.xz 635096 BLAKE2B 8c168b9e1d3de395ef663ca81edf63939cb7670f769995c20f9d4cb4f87194b22812707bfd62d52dd85e19de2562c27c182aad22f40928358cf07a0c5ac15d79 SHA512 c85f94e08357a11574af306b00e71c445b80ef6dea6c47d9cf1003c0d9f36d265ebadd2ae27b3dd96f41cc544e501d3eb0551559bebf25d35b9861a282f489bc
|
||||
DIST vbox-kernel-module-src-5.2.8.tar.xz 636172 BLAKE2B 0a0be16ee830dbf60e9bd8e0aa977ad020374d65c4ea19689bd20f7399da87633ac9ef57e2297963937e4d5eb82173a50beacd8ddd1b54943fe8d24fe723e3f4 SHA512 8875048d827ebbedec37864e219033305a228903b01d7ca22b371b02de9b23099d3bc76ddef4887b633f1215e73daa5db6e35c8d2e21f90200f439b15792d05f
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||
# package that comes from virtualbox-bin
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils linux-mod user
|
||||
|
||||
MY_P=vbox-kernel-module-src-${PV}
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
SRC_URI="https://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() {
|
||||
enewgroup vboxusers
|
||||
|
||||
CONFIG_CHECK="!TRIM_UNUSED_KSYMS"
|
||||
ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly."
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||
}
|
||||
|
||||
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
|
||||
eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
|
||||
fi
|
||||
|
||||
if kernel_is -ge 4 14 0 ; then
|
||||
eapply "${FILESDIR}"/${PN}-5.1.30-udp.patch
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
doins "${FILESDIR}"/virtualbox.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||
# package that comes from virtualbox-bin
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils linux-mod user
|
||||
|
||||
MY_P=vbox-kernel-module-src-${PV}
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
SRC_URI="https://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() {
|
||||
enewgroup vboxusers
|
||||
|
||||
CONFIG_CHECK="!TRIM_UNUSED_KSYMS"
|
||||
ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly."
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
BUILD_PARAMS="KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use pax_kernel && kernel_is -ge 3 0 0 ; then
|
||||
eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
doins "${FILESDIR}"/virtualbox.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
linux-mod_pkg_postinst
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
DIST VirtualBox-5.1.32.tar.bz2 117268301 BLAKE2B 336df054e3407d7e701d6719258cfcba9beec1439cbe94f137570cfcbdea02df3e34374ac36d3b4387c47ebafd17a0f05c2fb710eb4f140d8200117b505aba98 SHA512 052ac1672515a36c4138e2d52672a466d4c768f219f52eefe98e747a292ebebe04e7de35547eae6803654be5dc937b8e6f4d358a65fd4f49a8333eac8862d138
|
||||
DIST VirtualBox-5.1.34.tar.bz2 117291269 BLAKE2B 0eb9b3f778f2d677ac3635fa59dfa6861d0fec3c0331582e5961b78ab55b5ab26bbf286de05a3e87e8a64e2b54861613a8d2c93f70736a07c551dca834786abd SHA512 0f828e58d68678a0a94a39c12313425105f9255ca207d40dd04065d0072857cdc4fc886f944b852c3fb63fed04d70a3449aecd2aab9e27af7f13b506143a4b6f
|
||||
DIST VirtualBox-5.2.6.tar.bz2 118530572 BLAKE2B 19d32a9252e9594a4c09828bc2bc739c46daf409745c01f764fb54bc17faa667081a27534ac11666cbf1b417057cb99a416faa42e3986ce4d2c08378e7e7240c SHA512 ed6f801c055e9b8e152118a1ebfecdc15c310fac2b007ea3cd4a404d17cbbbc83782a3baa76b979c72b9399616844291576846d820f8aefb7c4b4ec2eaf36482
|
||||
DIST VirtualBox-5.2.8.tar.bz2 118500065 BLAKE2B 64d0cc0f928d224332f59e7966ee1bed8adcf097d27c577b6ecea5cbf203e170e38acca9f2371d6d7aa11f63b73e705b43a0516ccbe5993171f928406b8a3876 SHA512 49a3bd1c60d2c4cbd3799ece5fbfe15d9b6a00c5af9692478a1365a8eb4975228410e17dba24a388c0cf5387cb79fb7492feb4e6b2f531bc17322c3d61de7887
|
||||
DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2
|
||||
DIST virtualbox-5.2.0-patches-01.tar.xz 2460 BLAKE2B d3f973dc7ee0557c360f801c3bf84065a7e7bc9960984398b8f86d71fab32c59774e970c6cf873be07bcb9666af168570e8a78705a5999b1fc5d863dbbc6e538 SHA512 b91278dd81a50e412f5a281c72949f591a1c53303080549b74b28763cab9e3948948afb0256e0453d17736683cca3372a8e9c6d63f02f3eff3ef92c2a1ea332b
|
||||
|
||||
466
app-emulation/virtualbox/virtualbox-5.1.34.ebuild
Normal file
466
app-emulation/virtualbox/virtualbox-5.1.34.ebuild
Normal file
@@ -0,0 +1,466 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.1.32-patches-01.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="alsa debug doc headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev 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/libxml2
|
||||
media-libs/libpng:0=
|
||||
media-libs/libvpx:0=
|
||||
sys-libs/zlib
|
||||
!headless? (
|
||||
media-libs/libsdl:0[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
opengl? ( virtual/opengl media-libs/freeglut )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
opengl? ( dev-qt/qtopengl:5 )
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
)
|
||||
java? ( >=virtual/jre-1.6:= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
vnc? ( >=net-libs/libvncserver-0.9.9 )"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998_pre20131130-r1
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
doc? (
|
||||
app-text/docbook-sgml-dtd:4.4
|
||||
dev-texlive/texlive-basic
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-latexrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-fontsextra
|
||||
)
|
||||
!headless? ( x11-libs/libXinerama )
|
||||
java? ( >=virtual/jre-1.6:= )
|
||||
pam? ( sys-libs/pam )
|
||||
pax_kernel? ( sys-apps/elfix )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
qt5? ( dev-qt/linguist-tools:5 )
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
|
||||
usr/lib/virtualbox/VBoxSDL.so
|
||||
usr/lib/virtualbox/VBoxSharedFolders.so
|
||||
usr/lib/virtualbox/VBoxDD2.so
|
||||
usr/lib/virtualbox/VBoxOGLrenderspu.so
|
||||
usr/lib/virtualbox/VBoxPython.so
|
||||
usr/lib/virtualbox/VBoxDD.so
|
||||
usr/lib/virtualbox/VBoxDDU.so
|
||||
usr/lib/virtualbox/VBoxREM64.so
|
||||
usr/lib/virtualbox/VBoxSharedClipboard.so
|
||||
usr/lib/virtualbox/VBoxHeadless.so
|
||||
usr/lib/virtualbox/VBoxRT.so
|
||||
usr/lib/virtualbox/VBoxREM.so
|
||||
usr/lib/virtualbox/VBoxSettings.so
|
||||
usr/lib/virtualbox/VBoxKeyboard.so
|
||||
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
|
||||
usr/lib/virtualbox/VBoxVMM.so
|
||||
usr/lib/virtualbox/VirtualBox.so
|
||||
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
|
||||
usr/lib/virtualbox/components/VBoxC.so
|
||||
usr/lib/virtualbox/components/VBoxSVCM.so
|
||||
usr/lib/virtualbox/components/VBoxDDU.so
|
||||
usr/lib/virtualbox/components/VBoxRT.so
|
||||
usr/lib/virtualbox/components/VBoxREM.so
|
||||
usr/lib/virtualbox/components/VBoxVMM.so
|
||||
usr/lib/virtualbox/VBoxREM32.so
|
||||
usr/lib/virtualbox/VBoxPython2_7.so
|
||||
usr/lib/virtualbox/VBoxXPCOMC.so
|
||||
usr/lib/virtualbox/VBoxOGLhostcrutil.so
|
||||
usr/lib/virtualbox/VBoxNetDHCP.so
|
||||
usr/lib/virtualbox/VBoxNetNAT.so"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
java? ( sdk )
|
||||
python? ( sdk )
|
||||
vboxwebsrv? ( java )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if ! use headless && ! use qt5 ; then
|
||||
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
|
||||
elif use headless && use qt5 ; then
|
||||
einfo "You selected USE=\"headless qt5\", defaulting to"
|
||||
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
|
||||
fi
|
||||
|
||||
if ! use opengl ; then
|
||||
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||
einfo "the OpenGL feature."
|
||||
fi
|
||||
if ! use python ; then
|
||||
einfo "You have disabled the \"python\" USE flag. This will only"
|
||||
einfo "disable the python bindings being installed."
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
tc-ld-disable-gold #bug 488176
|
||||
tc-export CC CXX LD AR RANLIB
|
||||
export HOST_CC="$(tc-getBUILD_CC)"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
rm -r kBuild/bin tools || die
|
||||
|
||||
# Replace pointless GCC version check with something less stupid.
|
||||
# This is needed for the qt5 version check.
|
||||
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' -i configure || die
|
||||
|
||||
# Don't use "echo -n"
|
||||
sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die
|
||||
|
||||
# Disable things unused or split into separate ebuilds
|
||||
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||
|
||||
# Do not use hard-coded ld (related to bug #488176)
|
||||
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||
-i src/VBox/Devices/PC/ipxe/Makefile.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
|
||||
|
||||
# Only add nopie patch when we're on hardened
|
||||
if gcc-specs-pie ; then
|
||||
eapply "${FILESDIR}/050_virtualbox-5.1.24-nopie.patch"
|
||||
fi
|
||||
|
||||
# Only add paxmark patch when we're on pax_kernel
|
||||
if use pax_kernel ; then
|
||||
eapply "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch
|
||||
fi
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--disable-dbus
|
||||
--disable-kmods
|
||||
$(usex alsa '' --disable-alsa)
|
||||
$(usex debug --build-debug '')
|
||||
$(usex doc '' --disable-docs)
|
||||
$(usex java '' --disable-java)
|
||||
$(usex lvm '' --disable-devmapper)
|
||||
$(usex pulseaudio '' --disable-pulse)
|
||||
$(usex python '' --disable-python)
|
||||
$(usex vboxwebsrv --enable-webservice '')
|
||||
$(usex vnc --enable-vnc '')
|
||||
)
|
||||
if ! use headless ; then
|
||||
myconf+=(
|
||||
$(usex opengl '' --disable-opengl)
|
||||
$(usex qt5 '' --disable-qt)
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--build-headless
|
||||
--disable-opengl
|
||||
)
|
||||
fi
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
# not an autoconf script
|
||||
./configure ${myconf[@]} || die "configure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||
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_VERBOSE=2 \
|
||||
all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local binpath="release"
|
||||
use debug && binpath="debug"
|
||||
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
|
||||
|
||||
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
|
||||
|
||||
vbox_inst() {
|
||||
local binary="${1}"
|
||||
local perms="${2:-0750}"
|
||||
local path="${3:-${vbox_inst_path}}"
|
||||
|
||||
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
|
||||
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||
|
||||
insinto ${path}
|
||||
doins ${binary}
|
||||
fowners root:vboxusers ${path}/${binary}
|
||||
fperms ${perms} ${path}/${binary}
|
||||
}
|
||||
|
||||
# Create configuration files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||
|
||||
# Set the correct libdir
|
||||
sed \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
-i "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||
|
||||
# Install the wrapper script
|
||||
exeinto ${vbox_inst_path}
|
||||
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
|
||||
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||
fperms 0750 ${vbox_inst_path}/VBox
|
||||
|
||||
# Install binaries and libraries
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r components
|
||||
|
||||
# *.rc files for x86_64 are only available on multilib systems
|
||||
local rcfiles="*.rc"
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
rcfiles=""
|
||||
fi
|
||||
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
|
||||
vbox_inst ${each}
|
||||
done
|
||||
|
||||
# These binaries need to be suid root.
|
||||
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||
vbox_inst ${each} 4750
|
||||
done
|
||||
|
||||
# Install EFI Firmware files (bug #320757)
|
||||
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
|
||||
for fwfile in VBoxEFI{32,64}.fd ; do
|
||||
vbox_inst ${fwfile} 0644
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
|
||||
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||
# VBoxXPCOMIPCD (bug #524202)
|
||||
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||
pax-mark -m "${D}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
# Symlink binaries to the shipped wrapper
|
||||
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
|
||||
|
||||
if use pam ; then
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
fi
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
if ! use headless ; then
|
||||
vbox_inst VBoxSDL 4750
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
if use qt5 ; then
|
||||
vbox_inst VirtualBox 4750
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VirtualBox
|
||||
|
||||
if use opengl ; then
|
||||
vbox_inst VBoxTestOGL
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL
|
||||
fi
|
||||
|
||||
for each in virtualbox VirtualBox ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
|
||||
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
|
||||
fi
|
||||
|
||||
pushd "${S}"/src/VBox/Artwork/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
|
||||
doicon -s scalable ${PN}.svg
|
||||
popd &>/dev/null || die
|
||||
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||
icofile="${PN}-${ico}-${size}px.png"
|
||||
if [[ -f "${icofile}" ]] ; then
|
||||
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
if use lvm ; then
|
||||
vbox_inst VBoxVolInfo 4750
|
||||
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||
fi
|
||||
|
||||
if use sdk ; then
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r sdk
|
||||
|
||||
if use java ; then
|
||||
java-pkg_regjar "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${D}${vbox_inst_path}/libvboxjxpcom.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use udev ; then
|
||||
# New way of handling USB device nodes for VBox (bug #356215)
|
||||
local udevdir="$(get_udevdir)"
|
||||
insinto ${udevdir}
|
||||
doins VBoxCreateUSBNode.sh
|
||||
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
|
||||
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
|
||||
insinto ${udevdir}/rules.d
|
||||
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
|
||||
> "${T}"/10-virtualbox.rules || die
|
||||
doins "${T}"/10-virtualbox.rules
|
||||
fi
|
||||
|
||||
if use vboxwebsrv ; then
|
||||
vbox_inst vboxwebsrv
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
if use doc ; then
|
||||
dodoc UserManual.pdf
|
||||
fi
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
|
||||
if use udev ; then
|
||||
udevadm control --reload-rules \
|
||||
&& udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
|
||||
|
||||
if ! use headless && use qt5 ; 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 "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."
|
||||
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
|
||||
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
|
||||
elog "image, please emerge"
|
||||
elog " app-emulation/virtualbox-additions"
|
||||
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
|
||||
elog " app-emulation/virtualbox-extpack-oracle"
|
||||
if ! use udev ; then
|
||||
elog ""
|
||||
elog "WARNING!"
|
||||
elog "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||
elif [ -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
|
||||
}
|
||||
@@ -11,7 +11,7 @@ MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="http://www.virtualbox.org/"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.0-patches-01.tar.xz"
|
||||
|
||||
|
||||
466
app-emulation/virtualbox/virtualbox-5.2.8.ebuild
Normal file
466
app-emulation/virtualbox/virtualbox-5.2.8.ebuild
Normal file
@@ -0,0 +1,466 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit eutils flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
|
||||
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
|
||||
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.0-patches-01.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="alsa debug doc headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev 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/libxml2
|
||||
media-libs/libpng:0=
|
||||
media-libs/libvpx:0=
|
||||
sys-libs/zlib
|
||||
!headless? (
|
||||
media-libs/libsdl:0[X,video]
|
||||
x11-libs/libX11
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXext
|
||||
x11-libs/libXmu
|
||||
x11-libs/libXt
|
||||
opengl? ( virtual/opengl media-libs/freeglut )
|
||||
qt5? (
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtx11extras:5
|
||||
opengl? ( dev-qt/qtopengl:5 )
|
||||
x11-libs/libXinerama
|
||||
)
|
||||
)
|
||||
java? ( >=virtual/jre-1.6:= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
lvm? ( sys-fs/lvm2 )
|
||||
udev? ( >=virtual/udev-171 )
|
||||
vnc? ( >=net-libs/libvncserver-0.9.9 )"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/kbuild-0.1.9998.3127
|
||||
>=dev-lang/yasm-0.6.2
|
||||
sys-devel/bin86
|
||||
sys-libs/libcap
|
||||
sys-power/iasl
|
||||
virtual/pkgconfig
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
doc? (
|
||||
app-text/docbook-sgml-dtd:4.4
|
||||
dev-texlive/texlive-basic
|
||||
dev-texlive/texlive-latex
|
||||
dev-texlive/texlive-latexrecommended
|
||||
dev-texlive/texlive-latexextra
|
||||
dev-texlive/texlive-fontsrecommended
|
||||
dev-texlive/texlive-fontsextra
|
||||
)
|
||||
!headless? ( x11-libs/libXinerama )
|
||||
java? ( >=virtual/jre-1.6:= )
|
||||
pam? ( sys-libs/pam )
|
||||
pax_kernel? ( sys-apps/elfix )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
qt5? ( dev-qt/linguist-tools:5 )
|
||||
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
|
||||
usr/lib/virtualbox/VBoxSDL.so
|
||||
usr/lib/virtualbox/VBoxSharedFolders.so
|
||||
usr/lib/virtualbox/VBoxDD2.so
|
||||
usr/lib/virtualbox/VBoxOGLrenderspu.so
|
||||
usr/lib/virtualbox/VBoxPython.so
|
||||
usr/lib/virtualbox/VBoxDD.so
|
||||
usr/lib/virtualbox/VBoxDDU.so
|
||||
usr/lib/virtualbox/VBoxREM64.so
|
||||
usr/lib/virtualbox/VBoxSharedClipboard.so
|
||||
usr/lib/virtualbox/VBoxHeadless.so
|
||||
usr/lib/virtualbox/VBoxRT.so
|
||||
usr/lib/virtualbox/VBoxREM.so
|
||||
usr/lib/virtualbox/VBoxSettings.so
|
||||
usr/lib/virtualbox/VBoxKeyboard.so
|
||||
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
|
||||
usr/lib/virtualbox/VBoxVMM.so
|
||||
usr/lib/virtualbox/VirtualBox.so
|
||||
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
|
||||
usr/lib/virtualbox/components/VBoxC.so
|
||||
usr/lib/virtualbox/components/VBoxSVCM.so
|
||||
usr/lib/virtualbox/components/VBoxDDU.so
|
||||
usr/lib/virtualbox/components/VBoxRT.so
|
||||
usr/lib/virtualbox/components/VBoxREM.so
|
||||
usr/lib/virtualbox/components/VBoxVMM.so
|
||||
usr/lib/virtualbox/VBoxREM32.so
|
||||
usr/lib/virtualbox/VBoxPython2_7.so
|
||||
usr/lib/virtualbox/VBoxXPCOMC.so
|
||||
usr/lib/virtualbox/VBoxOGLhostcrutil.so
|
||||
usr/lib/virtualbox/VBoxNetDHCP.so
|
||||
usr/lib/virtualbox/VBoxNetNAT.so"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
REQUIRED_USE="
|
||||
java? ( sdk )
|
||||
python? ( sdk )
|
||||
vboxwebsrv? ( java )
|
||||
${PYTHON_REQUIRED_USE}
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
if ! use headless && ! use qt5 ; then
|
||||
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
|
||||
elif use headless && use qt5 ; then
|
||||
einfo "You selected USE=\"headless qt5\", defaulting to"
|
||||
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
|
||||
fi
|
||||
|
||||
if ! use opengl ; then
|
||||
einfo "No USE=\"opengl\" selected, this build will lack"
|
||||
einfo "the OpenGL feature."
|
||||
fi
|
||||
if ! use python ; then
|
||||
einfo "You have disabled the \"python\" USE flag. This will only"
|
||||
einfo "disable the python bindings being installed."
|
||||
fi
|
||||
java-pkg-opt-2_pkg_setup
|
||||
python-single-r1_pkg_setup
|
||||
|
||||
tc-ld-disable-gold #bug 488176
|
||||
tc-export CC CXX LD AR RANLIB
|
||||
export HOST_CC="$(tc-getBUILD_CC)"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
rm -r kBuild/bin tools || die
|
||||
|
||||
# Replace pointless GCC version check with something less stupid.
|
||||
# This is needed for the qt5 version check.
|
||||
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' -i configure || die
|
||||
|
||||
# Don't use "echo -n"
|
||||
sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die
|
||||
|
||||
# Disable things unused or split into separate ebuilds
|
||||
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
|
||||
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
|
||||
|
||||
# Do not use hard-coded ld (related to bug #488176)
|
||||
sed -e '/QUIET)ld /s@ld @$(LD) @' \
|
||||
-i src/VBox/Devices/PC/ipxe/Makefile.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
|
||||
|
||||
# Only add nopie patch when we're on hardened
|
||||
if gcc-specs-pie ; then
|
||||
eapply "${FILESDIR}/050_virtualbox-5.1.24-nopie.patch"
|
||||
fi
|
||||
|
||||
# Only add paxmark patch when we're on pax_kernel
|
||||
if use pax_kernel ; then
|
||||
eapply "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch
|
||||
fi
|
||||
|
||||
eapply "${WORKDIR}/patches"
|
||||
|
||||
eapply_user
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--disable-dbus
|
||||
--disable-kmods
|
||||
$(usex alsa '' --disable-alsa)
|
||||
$(usex debug --build-debug '')
|
||||
$(usex doc '' --disable-docs)
|
||||
$(usex java '' --disable-java)
|
||||
$(usex lvm '' --disable-devmapper)
|
||||
$(usex pulseaudio '' --disable-pulse)
|
||||
$(usex python '' --disable-python)
|
||||
$(usex vboxwebsrv --enable-webservice '')
|
||||
$(usex vnc --enable-vnc '')
|
||||
)
|
||||
if ! use headless ; then
|
||||
myconf+=(
|
||||
$(usex opengl '' --disable-opengl)
|
||||
$(usex qt5 '' --disable-qt)
|
||||
)
|
||||
else
|
||||
myconf+=(
|
||||
--build-headless
|
||||
--disable-opengl
|
||||
)
|
||||
fi
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
myconf+=( --disable-vmmraw )
|
||||
fi
|
||||
# not an autoconf script
|
||||
./configure ${myconf[@]} || die "configure failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
source ./env.sh || die
|
||||
|
||||
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
|
||||
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
|
||||
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
|
||||
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_VERBOSE=2 \
|
||||
all
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local binpath="release"
|
||||
use debug && binpath="debug"
|
||||
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
|
||||
|
||||
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
|
||||
|
||||
vbox_inst() {
|
||||
local binary="${1}"
|
||||
local perms="${2:-0750}"
|
||||
local path="${3:-${vbox_inst_path}}"
|
||||
|
||||
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
|
||||
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
|
||||
|
||||
insinto ${path}
|
||||
doins ${binary}
|
||||
fowners root:vboxusers ${path}/${binary}
|
||||
fperms ${perms} ${path}/${binary}
|
||||
}
|
||||
|
||||
# Create configuration files
|
||||
insinto /etc/vbox
|
||||
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
|
||||
|
||||
# Set the correct libdir
|
||||
sed \
|
||||
-e "s@MY_LIBDIR@$(get_libdir)@" \
|
||||
-i "${D}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
|
||||
|
||||
# Install the wrapper script
|
||||
exeinto ${vbox_inst_path}
|
||||
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
|
||||
fowners root:vboxusers ${vbox_inst_path}/VBox
|
||||
fperms 0750 ${vbox_inst_path}/VBox
|
||||
|
||||
# Install binaries and libraries
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r components
|
||||
|
||||
# *.rc files for x86_64 are only available on multilib systems
|
||||
local rcfiles="*.rc"
|
||||
if use amd64 && ! has_multilib_profile ; then
|
||||
rcfiles=""
|
||||
fi
|
||||
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
|
||||
vbox_inst ${each}
|
||||
done
|
||||
|
||||
# These binaries need to be suid root.
|
||||
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
|
||||
vbox_inst ${each} 4750
|
||||
done
|
||||
|
||||
# Install EFI Firmware files (bug #320757)
|
||||
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
|
||||
for fwfile in VBoxEFI{32,64}.fd ; do
|
||||
vbox_inst ${fwfile} 0644
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
|
||||
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
|
||||
# VBoxXPCOMIPCD (bug #524202)
|
||||
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
|
||||
pax-mark -m "${D}"${vbox_inst_path}/${each}
|
||||
done
|
||||
|
||||
# Symlink binaries to the shipped wrapper
|
||||
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
|
||||
|
||||
if use pam ; then
|
||||
# VRDPAuth only works with this (bug #351949)
|
||||
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
|
||||
fi
|
||||
|
||||
# set an env-variable for 3rd party tools
|
||||
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
|
||||
doenvd "${T}/90virtualbox"
|
||||
|
||||
if ! use headless ; then
|
||||
vbox_inst VBoxSDL 4750
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VBoxSDL
|
||||
|
||||
for each in vboxsdl VBoxSDL ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
if use qt5 ; then
|
||||
vbox_inst VirtualBox 4750
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VirtualBox
|
||||
|
||||
if use opengl ; then
|
||||
vbox_inst VBoxTestOGL
|
||||
pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL
|
||||
fi
|
||||
|
||||
for each in virtualbox VirtualBox ; do
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
|
||||
done
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r nls
|
||||
|
||||
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
|
||||
fi
|
||||
|
||||
pushd "${S}"/src/VBox/Artwork/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
|
||||
doicon -s scalable ${PN}.svg
|
||||
popd &>/dev/null || die
|
||||
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
|
||||
for size in 16 24 32 48 64 72 96 128 256 512 ; do
|
||||
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
|
||||
icofile="${PN}-${ico}-${size}px.png"
|
||||
if [[ -f "${icofile}" ]] ; then
|
||||
newicon -s ${size} ${icofile} ${PN}-${ico}.png
|
||||
fi
|
||||
done
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
if use lvm ; then
|
||||
vbox_inst VBoxVolInfo 4750
|
||||
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
|
||||
fi
|
||||
|
||||
if use sdk ; then
|
||||
insinto ${vbox_inst_path}
|
||||
doins -r sdk
|
||||
|
||||
if use java ; then
|
||||
java-pkg_regjar "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
|
||||
java-pkg_regso "${D}${vbox_inst_path}/libvboxjxpcom.so"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use udev ; then
|
||||
# New way of handling USB device nodes for VBox (bug #356215)
|
||||
local udevdir="$(get_udevdir)"
|
||||
insinto ${udevdir}
|
||||
doins VBoxCreateUSBNode.sh
|
||||
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
|
||||
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
|
||||
insinto ${udevdir}/rules.d
|
||||
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
|
||||
> "${T}"/10-virtualbox.rules || die
|
||||
doins "${T}"/10-virtualbox.rules
|
||||
fi
|
||||
|
||||
if use vboxwebsrv ; then
|
||||
vbox_inst vboxwebsrv
|
||||
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
|
||||
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
|
||||
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
|
||||
fi
|
||||
|
||||
if use doc ; then
|
||||
dodoc UserManual.pdf
|
||||
fi
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
|
||||
if use udev ; then
|
||||
udevadm control --reload-rules \
|
||||
&& udevadm trigger --subsystem-match=usb
|
||||
fi
|
||||
|
||||
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
|
||||
|
||||
if ! use headless && use qt5 ; 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 "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."
|
||||
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
|
||||
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
|
||||
elog "image, please emerge"
|
||||
elog " app-emulation/virtualbox-additions"
|
||||
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
|
||||
elog " app-emulation/virtualbox-extpack-oracle"
|
||||
if ! use udev ; then
|
||||
elog ""
|
||||
elog "WARNING!"
|
||||
elog "Without USE=udev, USB devices will likely not work in ${PN}."
|
||||
elif [ -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
|
||||
}
|
||||
@@ -1 +1,2 @@
|
||||
DIST VirtualBox-5.1.32.tar.bz2 117268301 BLAKE2B 336df054e3407d7e701d6719258cfcba9beec1439cbe94f137570cfcbdea02df3e34374ac36d3b4387c47ebafd17a0f05c2fb710eb4f140d8200117b505aba98 SHA512 052ac1672515a36c4138e2d52672a466d4c768f219f52eefe98e747a292ebebe04e7de35547eae6803654be5dc937b8e6f4d358a65fd4f49a8333eac8862d138
|
||||
DIST VirtualBox-5.1.34.tar.bz2 117291269 BLAKE2B 0eb9b3f778f2d677ac3635fa59dfa6861d0fec3c0331582e5961b78ab55b5ab26bbf286de05a3e87e8a64e2b54861613a8d2c93f70736a07c551dca834786abd SHA512 0f828e58d68678a0a94a39c12313425105f9255ca207d40dd04065d0072857cdc4fc886f944b852c3fb63fed04d70a3449aecd2aab9e27af7f13b506143a4b6f
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit eutils multilib python-single-r1 versionator toolchain-funcs
|
||||
|
||||
MY_PV="${PV/beta/BETA}"
|
||||
MY_PV="${MY_PV/rc/RC}"
|
||||
MY_P=VirtualBox-${MY_PV}
|
||||
DESCRIPTION="VirtualBox X11 video driver for Gentoo guest"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="dri"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
>=x11-base/xorg-server-1.7:=[-minimal]
|
||||
x11-libs/libXcomposite
|
||||
${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-lang/yasm-0.6.2
|
||||
>=dev-util/kbuild-0.1.9998_pre20131130
|
||||
sys-power/iasl
|
||||
x11-proto/fontsproto
|
||||
x11-proto/randrproto
|
||||
x11-proto/renderproto
|
||||
x11-proto/resourceproto
|
||||
x11-proto/scrnsaverproto
|
||||
x11-proto/xextproto
|
||||
x11-proto/xineramaproto
|
||||
x11-proto/xproto
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXau
|
||||
x11-libs/libX11
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXext
|
||||
dri? ( x11-proto/xf86driproto
|
||||
>=x11-libs/libdrm-2.4.5 )"
|
||||
PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )"
|
||||
|
||||
BUILD_TARGETS="all"
|
||||
BUILD_TARGET_ARCH="${ARCH}"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
MODULES_SRC_DIR="${S}/src/VBox/Additions/linux/drm"
|
||||
|
||||
PATCHES=(
|
||||
# Ugly hack to build the opengl part of the video driver
|
||||
"${FILESDIR}/${PN}-2.2.0-enable-opengl.patch"
|
||||
|
||||
# unset useless/problematic checks in configure
|
||||
"${FILESDIR}/${PN}-5.0.0_beta3-configure_checks.patch"
|
||||
|
||||
# xorg-1.19 patch from opensuse (bug #602784)
|
||||
"${FILESDIR}/${PN}-5.1.10-xorg119.patch"
|
||||
)
|
||||
|
||||
QA_TEXTRELS_x86="usr/lib/VBoxOGL.so"
|
||||
|
||||
pkg_setup() {
|
||||
if [ "${MERGE_TYPE}" != "binary" ]; then
|
||||
version_is_at_least 4.9 $(gcc-version) || die "Please set gcc 4.9 or higher as active in gcc-config to build ${PN}"
|
||||
fi
|
||||
|
||||
python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Prepare the vboxvideo_drm Makefiles and build dir
|
||||
eapply "${FILESDIR}"/${PN}-5.1.24-Makefile.module.kms.patch
|
||||
|
||||
# Remove shipped binaries (kBuild,yasm), see bug #232775
|
||||
rm -r kBuild/bin tools || die
|
||||
|
||||
# Disable things unused or splitted into separate ebuilds
|
||||
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
|
||||
|
||||
# Remove pointless GCC version check
|
||||
sed -e '/^check_gcc$/d' -i configure || die
|
||||
|
||||
default
|
||||
|
||||
# link with lazy on hardened #394757
|
||||
sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \
|
||||
-i Config.kmk || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# build the user-space tools, warnings are harmless
|
||||
local cmd=(
|
||||
./configure
|
||||
--nofatal
|
||||
--disable-xpcom
|
||||
--disable-sdl-ttf
|
||||
--disable-pulse
|
||||
--disable-alsa
|
||||
--with-gcc="$(tc-getCC)"
|
||||
--with-g++="$(tc-getCXX)"
|
||||
--target-arch=${ARCH}
|
||||
--with-linux="${KV_OUT_DIR}"
|
||||
--build-headless
|
||||
)
|
||||
echo "${cmd[@]}"
|
||||
"${cmd[@]}" || die "configure failed"
|
||||
source ./env.sh
|
||||
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local each targets=(
|
||||
Runtime
|
||||
Additions/common/VBoxGuestLib
|
||||
GuestHost/OpenGL
|
||||
Additions/x11/x11stubs
|
||||
Additions/common/crOpenGL
|
||||
Additions/x11/vboxvideo
|
||||
)
|
||||
|
||||
# need to use the upstream build system to create necessary objects properly
|
||||
use dri && targets+=( Additions/linux/drm )
|
||||
|
||||
for each in ${targets[@]} ; do
|
||||
pushd "${S}"/src/VBox/${each} &>/dev/null || die
|
||||
MAKE="kmk" \
|
||||
emake TOOL_YASM_AS=yasm \
|
||||
VBOX_USE_SYSTEM_XORG_HEADERS=1 \
|
||||
KBUILD_PATH="${S}/kBuild" \
|
||||
KBUILD_VERBOSE=2
|
||||
popd &>/dev/null || die
|
||||
done
|
||||
|
||||
if use dri; then
|
||||
local objdir="out/linux.${ARCH}/release/obj/vboxvideo_drm"
|
||||
# We need a Makefile, so use Makefile.module.kms
|
||||
ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die
|
||||
# All of these are expected to be in $(KBUILD_EXTMOD)/ so symlink them into place
|
||||
targets=(
|
||||
include
|
||||
src/VBox/Runtime/r0drv
|
||||
src/VBox/Installer/linux/Makefile.include.{head,foot}er
|
||||
out/linux.${ARCH}/release/{product,version,revision}-generated.h
|
||||
)
|
||||
for each in ${targets[@]} ; do
|
||||
ln -s "${S}"/${each} \
|
||||
"${MODULES_SRC_DIR}"/${each##*/} || die
|
||||
done
|
||||
# see the vboxvideo_drm_SOURCES list in Makefile.kmk for the below,
|
||||
# and replace '..' with 'dt'
|
||||
targets=(
|
||||
dt/dt/common/VBoxVideo/HGSMIBase.o
|
||||
dt/dt/common/VBoxVideo/Modesetting.o
|
||||
dt/dt/common/VBoxVideo/VBVABase.o
|
||||
dt/dt/dt/GuestHost/HGSMI/HGSMICommon.o
|
||||
dt/dt/dt/GuestHost/HGSMI/HGSMIMemAlloc.o
|
||||
dt/dt/dt/Runtime/common/alloc/heapoffset.o
|
||||
)
|
||||
for each in ${targets[@]} ; do
|
||||
ln -s "${S}"/${objdir}/${each} \
|
||||
"${MODULES_SRC_DIR}" || die
|
||||
ln -s "${S}"/${objdir}/${each}.dep \
|
||||
"${MODULES_SRC_DIR}" || die
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}/out/linux.${ARCH}/release/bin/additions" || die
|
||||
insinto /usr/$(get_libdir)/xorg/modules/drivers
|
||||
newins vboxvideo_drv_system.so vboxvideo_drv.so
|
||||
|
||||
# Guest OpenGL driver
|
||||
insinto /usr/$(get_libdir)
|
||||
doins -r VBoxOGL*
|
||||
|
||||
if use dri ; then
|
||||
dosym /usr/$(get_libdir)/VBoxOGL.so \
|
||||
/usr/$(get_libdir)/dri/vboxvideo_dri.so
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You need to edit the file /etc/X11/xorg.conf and set:"
|
||||
elog ""
|
||||
elog " Driver \"vboxvideo\""
|
||||
elog ""
|
||||
elog "in the Graphics device section (Section \"Device\")"
|
||||
}
|
||||
Reference in New Issue
Block a user