virtualbox packages: Bump to version 6.1.4

Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2020-02-20 17:30:28 +01:00
parent 0fcd09dced
commit fd3d7361b2
12 changed files with 1154 additions and 0 deletions

View File

@@ -5,3 +5,4 @@ DIST VBoxGuestAdditions_6.0.14.iso 77195264 BLAKE2B 5f87fa4f561aaed80678eaadf3cb
DIST VBoxGuestAdditions_6.0.16.iso 77201408 BLAKE2B 713381429cbef6685c4890c47dc0896571ca24cacc96d73903cdd91220a6b5ba7c6012c69d62489eaabd1fe75dd0000a3415d7d316fbc79b3b8ac2cf45cba75a SHA512 d17de374714023b02fef76bad53a15fe4d5d4bc752e900843419e9c3ba4988bd9bdc8fd6797bb4fdfa722d0f41ff144ed6865a0778609a7aea5e96de34c7beb8
DIST VBoxGuestAdditions_6.1.0.iso 59516928 BLAKE2B b5b5deac4a589fd56c6826d2191b3ddf72935de9f86f899ca5dc4a20b4339d750c5ccf2cbe614dc453ff03789e3eba90030856babddc6fc2d9dffc260c1ea2b6 SHA512 999679802fc5529a9ade01ebc1923296b247c833b71f0b6b99a4002078ecb1e7e4221d26f1e8e37caa1abbf804543e88e4933efaecbe6974f2efc6f01c6948dc
DIST VBoxGuestAdditions_6.1.2.iso 59539456 BLAKE2B 904105943fb4004d3f91ef48cf8999bb1e4a8d4658e99b8d815f8f7031cedb870a1ae5825473cabbaedb38d2e9e2df12e4e8ed52c33a7e4595e0a37f6d51ade4 SHA512 c0d916c50f7377feade9a00417c759666442dd881f9e863d9704e12dda274e14bd84313a5bd340192a8e1d634eab4d69379bfee06324207e1025fe7af1a8c07c
DIST VBoxGuestAdditions_6.1.4.iso 59688960 BLAKE2B e7c86bbb2eddfc1e9dd555a5d9e5b808194a0124f0cf3bfb09aa226a89cd348cf979f523361fbd0cc400912709310592f938e56ef410a9f81c1bb514db58c2e7 SHA512 a1e8f404c3d58adc60adb6a14cecc3e56f0705bd810891038d2fd6691e9f54f61daa4ffe804c77005b2764cb7c7c8d97fb67077e05aca94cf21c4afa89cd7f4a

View File

@@ -0,0 +1,34 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
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"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
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
}

View File

@@ -5,6 +5,7 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.14-133895.tar.gz 23160651 BLAKE2B c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.0-135406.tar.gz 10923164 BLAKE2B 8f09f2b0d6c290dffcdb8d1ee86a31b8ffa37653d198a3478cc96d2f276e6a0a359da82052fd53815509e2f4981279db237dd0287cf8bb78d7f92b747660975d SHA512 dd01cbaacf4dc606e83dfe964289718852e5d11fbb9f744ac19a5f525dd6c149ce292fa124336cede876e65aa32b1365b7f1601f102808dea4fe9f1d445a4657
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab
DIST VirtualBox-5.2.32-132073-Linux_amd64.run 83854803 BLAKE2B 3522df31f4f98efcd40adcaaf8ac458078adf0bbfed96c7d309d4726ddb8b8dd78eef830b3cfcb2f1fa6329bcc30ea2449f5c88cab66fa0c7d20818d7b5aa07a SHA512 aea9b27793f3363eba2ed627cc3b35ca51445946e6e9f20382fb3034afbb7470d27fdc476066c04acc595690a9e34109e8b8ce6dcab10fdc990b241b24ec47fb
DIST VirtualBox-5.2.32-132073-Linux_x86.run 82943439 BLAKE2B 31a22e8b52a53d6948a5af533b5c8f374d703c44736678c0bbe6fd9b5298bed4817996c32902a69c2c59dbf751cea04f22beb7203deaeadf79d2424e123e9d37 SHA512 05f99b673224c2b3d94b0d568067ae5ee74200c88a3b7f6665988a9d0c35f69f81c07292b838d07c07fd6d5484979615fd255650b138387501a593f3833b9071
DIST VirtualBox-5.2.34-133893-Linux_amd64.run 83895763 BLAKE2B 1f7212410c6cf1b2c58efcc0987980024a130a7d80f392ae5007c02aa7f5c3401f72c563c704a2e87282eb92d7d940e648cf6b4202010f068878005396474186 SHA512 ea369b80b8449280f7d605970f31784141bbc43420edde81ad394cb976eca19038455769d65fff9f9b2e4dd70a1c7ec406cc017dc7e50e1a6292bb7da074b845
@@ -15,6 +16,7 @@ DIST VirtualBox-6.0.14-133895-Linux_amd64.run 127200729 BLAKE2B dc39bcfd02d48beb
DIST VirtualBox-6.0.16-135674-Linux_amd64.run 127251928 BLAKE2B a0aa634be851ba5620ae89b0c324204aa4a069c1480fe0d7effcb3796900b688d39f1204778e16e407c266d06583d3531e7831b789de238bab380160a9821036 SHA512 d3cdd40a5f7d2bc1537244db1dd5c5cb58a5b7df527952c1abcd5bd701afd59dd77ec1aa90489cd7640fe88a01aac9b20cc8522750f534a5d11af6f7e125482c
DIST VirtualBox-6.1.0-135406-Linux_amd64.run 117093835 BLAKE2B 7eae87d07c327552978736cf4b52cbddab57471503e4c803464364c172b0d95b8b46ff0834cc3de11ce9aab245424358b593001f9bdab508714d3364b88e1fdd SHA512 6b1008742c3bda13f7bc319b74e4fc3900c1ed03e7652869d91ae3ff86558200bae4f51b99880f6495fd9492bc8a140b36f6ff7bbb19e0d22e88bf70c21d5469
DIST VirtualBox-6.1.2-135662-Linux_amd64.run 117165515 BLAKE2B cb2aeda9997d8b5f6cfc353e95532fe687362efde03256d6136b8546a74b0a87b9fdc0e9e273c1cde7f226951af7cf5d02218c68b962573ccc80ae94be987c0d SHA512 0775a5085b4eeba5244df3896afe270c79873da2e87038566bfab63f1552b90e235e20dff5703c6faac44f1c5c4ecbfac64c29608edd8b217bf34fb08cdc1999
DIST VirtualBox-6.1.4-136177-Linux_amd64.run 117185995 BLAKE2B 4ce483efd27c3183024f7baa3e07c1d6484767ba957582cad3111359c9d5b24b293f3b860ea566eb1bbc383710cb81b27b4e39c2aa24c9cc56dc6ba593fd1adb SHA512 14609ff7c76e93b561763456fc92dc3d3ed8d0c556af1ea0906abfb88a8fce9b8da6f392f3146945d03c7874f78d3f1f61df563c9f0160ef3315f30c286316e6
DIST VirtualBoxSDK-5.2.32-132073.zip 10200195 BLAKE2B 0de34e166b94889c605014233142887e7a8857d1915866156a0cc63850937730ec063e63b550f0d39ad241259158f033b028dbab7eec3f6f38c3715139413b3a SHA512 ccbe2af819bff46055bd6f079a03d69e721a09286e83d4f650583bc7692f5d19ae1a725cf3a6eb1b75167a2c73ff2e020d1f932bf9cfeee9ee709d1174c4cabf
DIST VirtualBoxSDK-5.2.34-133893.zip 10199934 BLAKE2B 4f1f82e374b90e002183272c467074608d437ed43b4a0cc6875f5560d7fafa7432c1fe32287e1afbfc5aac91cc65a226f7b164df2fd036c385c211aa11b24b04 SHA512 deaca4f2480771056079bd2f857ea4a4d834a77f19fd5fa04b6e959f6e54141e901de0387e77418fd8e6ba06de528a3dde1c7b335e9c6eb8bb3278ae08a44d7a
DIST VirtualBoxSDK-5.2.36-135684.zip 10203411 BLAKE2B 241dca39482d620063476b86514d3b71d69b3187be15fdf8774ee3fc34ff98ac66ba97baebe4cc107727a07594d3c124c05867a7f62661cf11bc6bd43528cdba SHA512 646bc84b605c236ecf9c38fd14cfc5f2d1ddf72a874482dd9a0f799bc099e3c2ca11512607d988c411495fcf12495ea49e0fabea2ca04a22e73efecb94928190
@@ -22,3 +24,4 @@ DIST VirtualBoxSDK-6.0.14-133895.zip 10801711 BLAKE2B 30f8befbd52bee336f3a630290
DIST VirtualBoxSDK-6.0.16-135674.zip 10803791 BLAKE2B 2b8507cf5143370ab753f55b27c1890ded25b1ed28457bb8ba094f2b2fa7e813d0605a25c5adbcbe828aec34c9fe7526e7a60c2e1cfc1085a611959474016280 SHA512 c7b811b89d6fa892c86c60e41922051d75ff079c9868eaf3b454aca73b3de77aa9361422216668203d105c910fffa94bd7b4bae4243c769660209c979009d7fe
DIST VirtualBoxSDK-6.1.0-135406.zip 11172803 BLAKE2B dc70b6cf571f5d4f4dc9eeb92d09a890607fe66a37cb39a7b8a3e496c60dadbf94fc0f1fda794383fd5483f4ebf58e461c7a300a1aba2552839ccc939464004b SHA512 c7e3f848ac85fae508dabf1b8add774394ef9541426d65c6043122d701e1cc3e2102cdd7422d70fe1e74c6b382ffae5f9616921f5e76ce6732498ad91e0678bd
DIST VirtualBoxSDK-6.1.2-135662.zip 11174224 BLAKE2B 54ca9c127b15ab2917d9150313ae3c779efa80e07440f8e24694f14440120a415b35aa0b906de4b03330dd9c73c9dcb978bb0a1b39e438f39f46da4dfa4ddc3a SHA512 4011690019ae7804d85cdbf2c1649588472ef0db019c54507f30cb319cb28ffe27a36bc8ee59d4f1cba60c9a04f0f52096ac0596c826e8a5bb4bba1a7941e134
DIST VirtualBoxSDK-6.1.4-136177.zip 11173848 BLAKE2B 816b18bcfe2cde169dca3c5f3e89854b61f2bb7b59d28749f994c8f9a60e18c5f1cbe659c53c7a3b49a0bcb90959c0cd0b36c2254879f735e835b463927b2190 SHA512 e7b2a0dc892a9989cd0142edad131d0cf4240029d98f80a230e3e401be3a6f1d8c82c810b19b7e865946145b77cd87d91602adc640c182a2dfbdae1c21821a48

View File

@@ -0,0 +1,291 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 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 )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist 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-${MY_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
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{,VM} VBoxKeyboard.so
fi
doins -r *
# 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,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/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 "${ED%/}"/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 "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_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_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

View File

@@ -5,3 +5,4 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.14-133895.tar.gz 23160651 BLAKE2B c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.0-135406.tar.gz 10923164 BLAKE2B 8f09f2b0d6c290dffcdb8d1ee86a31b8ffa37653d198a3478cc96d2f276e6a0a359da82052fd53815509e2f4981279db237dd0287cf8bb78d7f92b747660975d SHA512 dd01cbaacf4dc606e83dfe964289718852e5d11fbb9f744ac19a5f525dd6c149ce292fa124336cede876e65aa32b1365b7f1601f102808dea4fe9f1d445a4657
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab

View File

@@ -0,0 +1,43 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
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="$(ver_cut 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"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE=""
RESTRICT="bindist 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
}

View File

@@ -5,6 +5,7 @@ DIST VirtualBox-6.0.14.tar.bz2 154236138 BLAKE2B 18cd508269b2a809ec03b5bacc19713
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.1.0.tar.bz2 165322453 BLAKE2B ecd15bf1f454dd975562ce27fec9c87d266fcb509952492bd98e77101318149efbcf46b1e025157d569cf511e66b7b8d83dd0cfe5ff288b67010796064dd7685 SHA512 3709d54861e75efc5b4998bda82ebb868790228f4e19f5e64221322efd8f17916872afa89cc2494faa445fed9ae01ef97af16e4ad111a0a04552f0fac5db3618
DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.34-patches-01.tar.xz 2960 BLAKE2B e62ab64939e9251a715b3b54b479bc51315acf561ce3d542a4b1358cefb2158353a046003cb0a62e78015f01b626719afb39590090662dd58bfc587bd63cb994 SHA512 25f402c0f96ac25c4d1afdf5d9fff60292caabd2af032a7e2f3e1f70e85bb24f03bbe3625b8bdb7618f77d2890e4c0b9fa7ade2eed590f6658361cca3db4a4b9
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c

View File

@@ -0,0 +1,218 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit 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-6.1.0_rc1-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
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 )
sys-apps/dbus
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Provide kernel sources
pushd src/VBox/Additions &>/dev/null || die
ebegin "Extracting guest kernel module sources"
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
eend
popd &>/dev/null || die
# PaX fixes (see bug #298988)
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-6.0.6-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
# 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"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
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 ""
}

View File

@@ -5,3 +5,4 @@ DIST vbox-kernel-module-src-6.0.14.tar.xz 669396 BLAKE2B e2dc77f33176af16be0fcad
DIST vbox-kernel-module-src-6.0.16.tar.xz 669392 BLAKE2B 19e718097ee4da75c8dc3b565735f0a378d94547911ec89af52d8dccb36d67391a2f6700575c374552cd4fc4eb8a7e3d6618a800380e473429bd3759e0d1f9c0 SHA512 8979da4cba07c9095778864af0fd29c0acf10d71ea587819954a349e8c193a03b2268bf80dca9004803d8cf2a40974994fcd1f2c6e2ac657b5032f6c04977793
DIST vbox-kernel-module-src-6.1.0.tar.xz 664268 BLAKE2B 9007242bdfcc407283d183132867bef8cfcf75960e7032f1541be39e33c15de68ae1f49c0022422d776fe0397c1411c62866990efb55fe29f9dce27bf7b95b71 SHA512 a5b9f740589ca09b4115275e01d0da7d68535a927550a57007b75726c715422724593f4debc2a123fb8de43a27e49b372aba3832f17dda3ecfd8813d440a0cff
DIST vbox-kernel-module-src-6.1.2.tar.xz 664844 BLAKE2B 4fbdbac98558309c4dd1a25e44f061e2c7386c418f40b0da364914d58cf69048d9c3b1693fb75ce590c63280e79a124433ce7ff4f8f08e327ab67c5d55a163cf SHA512 f26e38a35b0cbf3ca51d98299ea2018641a35c17df5b1bc8a50352738afaafcc95efc9e61efc7d7406e203f3e514125b8afd8ed4406c190f82fe83934a042158
DIST vbox-kernel-module-src-6.1.4.tar.xz 664412 BLAKE2B b4cfe5b2792c8f5dc2bf6038f69e32d07aaead358b144e154806f404bcc0ffbb72d470db265b96f41ca714edc0588ce06748054b8358675c24848614253a7cfb SHA512 bb247a8d2450694937095bc9c263554f805c51676e2da726f124ce4f775c69bedab95286e8d00686e04c1d8fff67f6335aa29f51a0c0ec00b862ad4e56fe290c

View File

@@ -0,0 +1,56 @@
# Copyright 1999-2020 Gentoo Authors
# 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=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) 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 -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
# Remove vboxpci.ko from current running kernel
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
linux-mod_pkg_postinst
}

View File

@@ -5,6 +5,7 @@ DIST VirtualBox-6.0.14.tar.bz2 154236138 BLAKE2B 18cd508269b2a809ec03b5bacc19713
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.1.0.tar.bz2 165322453 BLAKE2B ecd15bf1f454dd975562ce27fec9c87d266fcb509952492bd98e77101318149efbcf46b1e025157d569cf511e66b7b8d83dd0cfe5ff288b67010796064dd7685 SHA512 3709d54861e75efc5b4998bda82ebb868790228f4e19f5e64221322efd8f17916872afa89cc2494faa445fed9ae01ef97af16e4ad111a0a04552f0fac5db3618
DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.34-patches-01.tar.xz 2960 BLAKE2B e62ab64939e9251a715b3b54b479bc51315acf561ce3d542a4b1358cefb2158353a046003cb0a62e78015f01b626719afb39590090662dd58bfc587bd63cb994 SHA512 25f402c0f96ac25c4d1afdf5d9fff60292caabd2af032a7e2f3e1f70e85bb24f03bbe3625b8bdb7618f77d2890e4c0b9fa7ade2eed590f6658361cca3db4a4b9
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c

View File

@@ -0,0 +1,504 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
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}-6.1.0_rc1-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
CDEPEND="
${PYTHON_DEPS}
!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/libxcb:=
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
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
DEPEND="
${CDEPEND}
alsa? ( >=media-libs/alsa-lib-1.0.13 )
!headless? ( x11-libs/libXinerama )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
"
BDEPEND="
${PYTHON_DEPS}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
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
)
java? ( >=virtual/jdk-1.6 )
"
RDEPEND="
${CDEPEND}
java? ( >=virtual/jre-1.6 )
"
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_pretend() {
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
}
pkg_setup() {
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="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
-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.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
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 opus '' --disable-libopus)
$(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
doecho ./configure ${myconf[@]}
}
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() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary 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 "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-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
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 iPxeBaseBin ; 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)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# 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 "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,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 rdesktop-vrdp
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${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
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
domenu ${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 "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${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
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
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_pkg_postrm
}