diff options
author | Lars Wendler <polynomial-c@gentoo.org> | 2020-06-13 23:06:11 +0200 |
---|---|---|
committer | Lars Wendler <polynomial-c@gentoo.org> | 2020-06-13 23:06:24 +0200 |
commit | ab5b46fcf3d20f30ff6cff94cabfa9c32142014b (patch) | |
tree | 337713e9daaff17d0dfc0330979914efbc24a856 /app-emulation/virtualbox-bin | |
parent | dev-ml/ocplib-simplex: respect LDFLAGS and remove warning (diff) | |
download | gentoo-ab5b46fcf3d20f30ff6cff94cabfa9c32142014b.tar.gz gentoo-ab5b46fcf3d20f30ff6cff94cabfa9c32142014b.tar.bz2 gentoo-ab5b46fcf3d20f30ff6cff94cabfa9c32142014b.zip |
virtualbox packages: Bump to versions 5.2.42, 6.0.22 and 6.1.10
Bug: https://bugs.gentoo.org/707082
Closes: https://bugs.gentoo.org/726340
Closes: https://bugs.gentoo.org/727292
Package-Manager: Portage-2.3.100, Repoman-2.3.22
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'app-emulation/virtualbox-bin')
4 files changed, 881 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 2f57c7d2d0f3..32bd9f171dce 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -1,10 +1,20 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.42-137960.tar.gz 26740542 BLAKE2B 0246148d436c163eab0363b6b5ed05ec43f2ce9a1124ef504cdf9f30e0bdd479567225f013d2fa2ef39bae0af18e60ef4996d37f65552cca74d8fc76d2976f40 SHA512 0f3a963abf99599094d6bff9617d401338209ce6dba08285a006e17a68b927cd19ea5e17151afc5466c9e00df1fe75ca01fdc5d11a45be5a9d7d4e7649916fc6 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c +DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.22-137980.tar.gz 23238402 BLAKE2B ea7105747fe776475ae66bf99354017c7a3e33343bb044722ccf5245daefa33581e2092fd04e03e9916b1150a7b46eb691ef4faaf28ecedb82a8e5c66b02a22f SHA512 c45cad50fbb521307fed127499955c261416fbc6958e87770238ef45865caefdd61837db17d61e57ef030a712f53ec1f452b89849fa5f7881f3cd62d481185eb +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.10-138449.tar.gz 10999054 BLAKE2B cf802b561882541399baff74c2d75b33aa70bf8f909b616bbddcde0d98b41927f65ec5ac25e5d89598ae931c1c3c9fe7cc9cba17cb52b87b8d7f46ef935a376b SHA512 9cea8f8547eb4e90df1ec43ee4d2bf4be17f6ec8dd62013589f23019a30e0dd15e37945dca67790628d3f49d6103cf1dc9c53344589d2ce785fef8acf7c81cb9 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68 DIST VirtualBox-5.2.40-137108-Linux_amd64.run 83865043 BLAKE2B d44f3ee6b05446fbe36b5672ec00d2ffcf5b8592ebfdfc6d091dd1bf92d821644976bad55ca390ad834d274dbe738341457888fb78030de9ddadd680362c4b11 SHA512 1f068f776ef65ed930eed0ecc6304a374ea36339c21dfc7b41a61b6e82d61f5c8de13f4b93f19500f9eccbe9e3d0f1a816c46b7b7b4d5ed195ce1ddc45c57e7f DIST VirtualBox-5.2.40-137108-Linux_x86.run 82994639 BLAKE2B 4f90a72d5d8952ae05bff9c50262e377c0ffbc134741eddc0aa6dccd9a575de746bcdcf0e0fc2db8f5ee36e730bcf814e0fd1291a739dd33260be7219f11c44a SHA512 580f8a6c7a1fe04132789b60ce4cb4db39f980590731e18b9c2cd7727d59efdd5250fbe80704a4542f8876d8fdc89cc048b669259e8170a28350157901bc14c4 +DIST VirtualBox-5.2.42-137960-Linux_amd64.run 83926483 BLAKE2B b57d50604a8d867cc8b508d3448dcd835415f669759e1e8a947e30e2cf0392a87e16560c0f4d970c6afbe593b874ff463f5407c14e6e15a3429d67fb9ba7c956 SHA512 29a870f35d783dd4e079d2d44f33154f9a990ab1639a0b0427a7721c4a98625490d978db51655de6961bc0d89aabbff0804cd1744014952b4207c411945c3f6e +DIST VirtualBox-5.2.42-137960-Linux_x86.run 83056078 BLAKE2B ad58f0693eb0d936833ad09b213707ed0bc66e2705d2f9f407e21b0681cd0d7f1fe062323f61e84e1f0bd0c88b9c0860fdfa2ea6085ac6c6e57ed2f7b5631bfb SHA512 16e2d4383a4ae0f86180222e14912fed25675290bcd8815a3c310cd8fad28081799b6d743d88197ebe78076612462bca0774c54fc8837cca03606ae87067f3d6 DIST VirtualBox-6.0.20-137117-Linux_amd64.run 127231448 BLAKE2B 2fa6307add56b318708cdb88615aa15e39577f43c0d65e74037d6f184a3937144ae8f5abcf217809776dd19e4f3141e5bb78adadebc0be63d47bc69786cfa0c7 SHA512 9ac9b893c7cad4dc58833f6132ec0da6564a11112d8bef881bf1dab584abf046e167513c2e4c4ed3c5ce2e4b845c9cf99721fda657b2993b5692eb4ca15d2f5b +DIST VirtualBox-6.0.22-137980-Linux_amd64.run 127405529 BLAKE2B 0f27d84c2e30ed6956921db3aa611ea2a959d11a20051a5c633560f2ab42d2b100ce3c886439226f6634461de6ccfcd564f194257c88b581d75422007ccb771c SHA512 a7d454112580639866c40506d3718d841600338dc33937382e16a52e7baf624fef7efcc98481eaa8633d32d11e74a37d23e5282bb22415e94790decc51a58dd2 +DIST VirtualBox-6.1.10-138449-Linux_amd64.run 111513049 BLAKE2B e97393873dc270fb7acf130aa8632ee12fc8c14b9f678cbe20bf9dc1c095aaccfbd0ed1c64dd4dfd9243b10728d9feb84d3dc283365e5dd736d300ce8d72a411 SHA512 a1df1805b056d6abe26782d2f7b98668a929282c4a3f25062da3cb806c709a0a93b3d3c6f6a9a8c5140882ff2f5b11a6226c8917776dcf7ad256b82144f2bed9 DIST VirtualBox-6.1.6-137129-Linux_amd64.run 110530008 BLAKE2B 9f2f2e65ace7bc5919dcaba23b0a979a1b246af65722fd955dfb6110bda0fc119f9388e8d404bbdbf00bd8a96c25c505dc7a3589fc98680cdb115f1c1327936d SHA512 a4ea1a37bcbc70a9be3bf201dac06e31bb5d8e4dd9d9f04fb8f2fc6387c6ae165c0812d357062e1593a2d5a6d7902ba068984bc8658750df49d991025b96dc05 DIST VirtualBoxSDK-5.2.40-137108.zip 10201020 BLAKE2B db4a2fd69fdc3ab4201c086c15f14144dd1f75e87d13c4493aaeaf2b69e06a599623416e17a3715c9836b7b7bf36aaba34c06e27ddd70900ca6c5fdd43e311e1 SHA512 15bf89ca622396a5b2f66fb42762959548e8d0b2e0bd3b63223bcccff449f5c094af0315deecae167e105276915fb6b2e61a1f71465be4e85b52a58e313a2830 +DIST VirtualBoxSDK-5.2.42-137960.zip 10203875 BLAKE2B 8979e023679daa17eda97037b8e5f40250c7dd34f2caad2b4ac0f7680c90418da050ce866a3099f20969932b559527accdabe20eb0b5593cbe8acacebd873d1d SHA512 70ff706c50937dcad9dbc3554b5dd88f2d8b674221fbe08e2124055c0a07f1c1ca00342cb5dcdb64e38583e3bb68bf9ecc7eaf5e88e381f205ffb3a4eaa64487 DIST VirtualBoxSDK-6.0.20-137117.zip 10803680 BLAKE2B aaec9c6b9f0d758528f8490920bc98c594e8aa2bd241f941e9093553d5353b4999f4041519198740344da92af3d7fb7992dcb6945a55d5471d9952a76daea4f5 SHA512 b2574f7d93c3d92a09a2cd18f68db3ac78d5c51d454cc322800b0d8555c4fdb541b5c797e11795dda51f5998f98dc9ed4839b836f4c64f8f95211b6ae71c198d +DIST VirtualBoxSDK-6.0.22-137980.zip 10804146 BLAKE2B f1a4ce9ef767343146d5f01bd75dbc9409e1ee4a8e3a73cb0546679421c2c013f24405c5353ded3bc34af477892d39205ca0e43a36b79bd1b884d59ef3ae7969 SHA512 5693c4b773c0ed3d3a502b8347129d3ec464da021cf904b7ae252db787cce93d7633cc4d8679da168d90239a03ae66de959e237765eeb56d9f4b17c74def7c50 +DIST VirtualBoxSDK-6.1.10-138449.zip 11178059 BLAKE2B 6eddb1ea9110d8d96506dc1be048aabdb77993b3bed0407f0cb9976c99f21d66065d9e622dbc78a812a4ad30e285073798e57187f27126c6c70dc9b20db1b724 SHA512 21d453d5932ad93c4d6509a2b97c61edcbc64f89ccfeed2af8392031c41168724842a346f4b61e86d520567e8c04a5a09d43ed7a112d6abee35784ad6a2bdef9 DIST VirtualBoxSDK-6.1.6-137129.zip 11176791 BLAKE2B 9ad2592604e9b007c8d302d8efb67a3b5e069549bca7e6330a417d1c719e2de533e0f429909f95cfb77a5633eb806955c4ae4113ad6707af33854b7605215531 SHA512 d46549657fd8f2eb95196c310a9d81163fb231ce663ac7e24e1e8ac15b5830b25188c547db91fdca5b9524c2ba340f0b638e34863f8e26b4d118bf832b7f99bf diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.42.137960.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.42.137960.ebuild new file mode 100644 index 000000000000..07efd355cdec --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.42.137960.ebuild @@ -0,0 +1,287 @@ +# 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)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +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 ) + 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="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-${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 * + + # 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 "${ED%/}"/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 "${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_desktop_database_update + + gnome2_icon_cache_update + + udevadm control --reload-rules && udevadm trigger --subsystem-match=usb + + elog "" + if ! use headless ; then + elog "To launch VirtualBox just type: \"VirtualBox\"" + elog "" + fi + elog "You must be in the vboxusers group to use VirtualBox." + elog "" + elog "For advanced networking setups you should emerge:" + elog "net-misc/bridge-utils and sys-apps/usermode-utilities" + elog "" + elog "Please visit http://www.virtualbox.org/wiki/Editions for" + elog "an overview about the different features of ${PN}" + elog "and virtualbox-ose" + if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then + elog "" + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\"" + elog "or else USB in ${PN} won't work." + fi +} + +pkg_postrm() { + xdg_desktop_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.22.137980.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.22.137980.ebuild new file mode 100644 index 000000000000..0b44094702c5 --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.22.137980.ebuild @@ -0,0 +1,292 @@ +# 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 + acct-group/vboxusers + ~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 + + 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 +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.10.138449.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.10.138449.ebuild new file mode 100644 index 000000000000..067dfbaf487d --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.10.138449.ebuild @@ -0,0 +1,292 @@ +# 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 + acct-group/vboxusers + ~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 +} |