virtualbox packages: Bump to versions 5.2.32 and 6.0.10
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 17 Jul 2019 08:11:34 +0000 (10:11 +0200)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 17 Jul 2019 08:16:29 +0000 (10:16 +0200)
Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
18 files changed:
app-emulation/virtualbox-additions/Manifest
app-emulation/virtualbox-additions/virtualbox-additions-5.2.32.ebuild [new file with mode: 0644]
app-emulation/virtualbox-additions/virtualbox-additions-6.0.10.ebuild [new file with mode: 0644]
app-emulation/virtualbox-bin/Manifest
app-emulation/virtualbox-bin/virtualbox-bin-5.2.32.132073.ebuild [new file with mode: 0644]
app-emulation/virtualbox-bin/virtualbox-bin-6.0.10.132072.ebuild [new file with mode: 0644]
app-emulation/virtualbox-extpack-oracle/Manifest
app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.32.132073.ebuild [new file with mode: 0644]
app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.10.132072.ebuild [new file with mode: 0644]
app-emulation/virtualbox-guest-additions/Manifest
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.32.ebuild [new file with mode: 0644]
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.10.ebuild [new file with mode: 0644]
app-emulation/virtualbox-modules/Manifest
app-emulation/virtualbox-modules/virtualbox-modules-5.2.32.ebuild [new file with mode: 0644]
app-emulation/virtualbox-modules/virtualbox-modules-6.0.10.ebuild [new file with mode: 0644]
app-emulation/virtualbox/Manifest
app-emulation/virtualbox/virtualbox-5.2.32.ebuild [new file with mode: 0644]
app-emulation/virtualbox/virtualbox-6.0.10.ebuild [new file with mode: 0644]

index 55527ec3093c0edc285ea62d0b9aa72d662c4382..67bbfd71d1d4a4f0d9153ee17c361d3eb3a0857f 100644 (file)
@@ -1,5 +1,7 @@
 DIST VBoxGuestAdditions_5.2.26.iso 58433536 BLAKE2B 1d7bae647923a57cdcee38a1609a07cd081d593a0852dcf67b549ed178508e93f7ee4d076ac700ab7e7ec828e660eb09cc8a55a0f2400b1ff0912cc2fafdff7f SHA512 fea91c442d3f05a35435155d3a3890e2c29e2523f1106cc8c7fb6513826263ff450e72b393796e0dff99b3bd85d85d8d55309e81f68ddfd39689df8f54bca1fe
 DIST VBoxGuestAdditions_5.2.28.iso 58568704 BLAKE2B cc7f0f0c18823f8c7dcae945d0e73b4b8c7d151a07be23bd8d21c44aa555f7964949857af817a9bc4e04d773a18cdc369dcbd8aadffe846ff7200477118aada8 SHA512 ccfdb2705a6c7daa79108fdb3bc6e6070e8de3f45eea308f821a0194e77c092b029119739239a2ccf9c5cb89045e919ba57950994668bc879443a55b53407c9c
 DIST VBoxGuestAdditions_5.2.30.iso 58578944 BLAKE2B 6a2565fa8e3b19363da82592ba4d93ddfb6d22e107e28e901aa4c0bce84aaa0bd63d781155e44462b90d9f491e4df589cfd346dd33fe8f016862e85d99c2092c SHA512 568312b26647f7932d94a42279f35b9a827145ef2bd0ea4ef00a865c355b1de55dee66e731a90d644ddd35cb301f61315edf684c9a321681882c1537c8159caa
+DIST VBoxGuestAdditions_5.2.32.iso 49620992 BLAKE2B 04853f4b9a95898263ca7238a78b5d8751882a21874e4745d675642185542eb617f2a74b3e55b4444067822511d33b6d358e37e179d1b1c6464d701a8ab45a54 SHA512 86f1d7071a9033b7826dcacbcf23822acc772d909af8a8a12345bd5fe68375677b522d0e1987f2908412d5a29369d0a1221fd099f8b692c8d25fe9cbe40fd11e
+DIST VBoxGuestAdditions_6.0.10.iso 77162496 BLAKE2B 71c95b89055a1eeaa38f650c2572d1fbabf4425d13e5473ae4a56a488125781a33e079c6390bcc5b2499b796221ef89e7373c641b8a75bbf31ffeede4f8f0ffc SHA512 d1d1602688ebdad4975b7b800012f6195774cfa29d00900fa49ded88f6cdfe4c1abdfd25ca55b08e2fc97a7f2f204511424dd561aebd68d4ee8222b9b0f0b8ff
 DIST VBoxGuestAdditions_6.0.6.iso 86321152 BLAKE2B d186d6c14500376b1721e084d9a4859bcbe3c64bfc22835a8e4b4425eee4a3a21c8dc4d48bfb072a793a8f2fb0d7f6ef83f53b1ebedbfb38c2e3fffbe3611d55 SHA512 ced893f8384b0ad74cce77f6d6f74fd748acf3acd18843a08c1b433b40ee73ce4c10d16ab8893aabba7fb3aac57e6faea599ed5733d4e91895bb78e7cf34c7ac
 DIST VBoxGuestAdditions_6.0.8.iso 86562816 BLAKE2B dddac0dff687982040543bff065719a6b900666886892247d6ca2e6968d601dfd7c01b0b4c79db28ca81f25ed15906ec65c3e77ac4128eeaaf9a8d6d16632336 SHA512 95396a04e436cf2b30f6897f4ee561acaaf3fd3b677bc2f2d58dc92649245f7b105bbf0ec1b8f5612f5465e2c46d8b55786863508192d0a68aa381ddc44a315c
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.32.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.32.ebuild
new file mode 100644 (file)
index 0000000..6faf7e7
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright 1999-2019 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"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RESTRICT="mirror"
+
+RDEPEND="!app-emulation/virtualbox-bin
+       !=app-emulation/virtualbox-9999"
+
+S="${WORKDIR}"
+
+src_unpack() {
+       return 0
+}
+
+src_install() {
+       insinto /usr/share/${PN/-additions}
+       newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
+}
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.0.10.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.10.ebuild
new file mode 100644 (file)
index 0000000..5124a81
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2019 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 ~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
+}
index fafc8b22fcd013fd41c8cb4633a27994e6ed7bf2..8598db156097104798ad2e06781fe8e1a90b3858 100644 (file)
@@ -1,6 +1,8 @@
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.26-128414.tar.gz 19684009 BLAKE2B 81787dcf3b70211fa9c84a40c668100eda0dfd2ce3e1d35c226cb6913ef74027f3444be93069a5e881d8e60905477460a180cb98919050286978edf9c1edcdf3 SHA512 deb4c62d58e2071f4413f0ff769e9ecd756362920b29482a6a3d77566c327b075cb5ecafdc65985305b8b798dc56ca2104a0f8244651fca89c4e15ef879c121e
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.28-130011.tar.gz 19719444 BLAKE2B 4b70bb91f4309efbc9a3127e85aaab2175dee1bd3535dce17f3e36747c60ea4b2951958020c3b922b3f832e5cc2a40785ec7fdbe9be6af8a93513ac3d8012d20 SHA512 9da57baaa508cd86663e57b9c545532207fd8460bddb9fd92c3a0058da05cd81e782f99f7c6cc3bbbe1811ebff67e9e7455ccf4a7851d2c3025c4d4d98acf10d
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.30-130521.tar.gz 26914147 BLAKE2B f595f32a76649a803be490a9a6d46702e82cc835274973f0867f957d944724252b59e9844167b0038b9ba2b91854443f6eeaf084278534f4ab4249444fb8755a SHA512 f08fde658c7c1e916ce2c0ccebe9b05e7963168bbf945156c96f75acbd06ef1dca2088371fc3a6f75c84232bee9ebbed3b6bf92dbd0702cb5ff496cdc11227c5
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.10-132072.tar.gz 23160596 BLAKE2B 5cd7d1490305236f99b759520b4c63afd207cab53e861aaca0b0c318fe96f991756db60652bf65b26b5b9690366b6a5df13c225b44df75a30c1cc04badc7dbb2 SHA512 2c99b9917c65b4287bd1b78e9b9312630850307becea526188f97de569f541fab6bfbc4d5cff2ea9aab784dc4bbb23ada3679f76116ba94169f9c73566cc6c09
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.6-130049.tar.gz 23309541 BLAKE2B 550dcee0893c820e3113344f5990528ec2ade766f0a3ff1efc0965c555f820224070bec1f4b4b8b835b2150a7279d1bf9b247433a42658f0e179326c7d78eb0c SHA512 e0b0061137f2e5db1cba0aaf287be2f06cc5379e8f9b562a661beae1f2cc8855f0a78e173473bf44906ca84d6a09c0afa82e0f4026cfb5fb64f9fe6267ab3044
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.8-130520.tar.gz 23309069 BLAKE2B bbb060e0e13e336ee445234d7a61ded3896a0948a6a24f3d4b1792da4a9003cfb5717b7f608ffd9c74b4bfe2b24ed918fa2e87cf90ec3aaa3a7b31a7ef33dee5 SHA512 f942c08dd905163cadf79897a0ad8e8a280c96a555bfb9b5d2fc50c25872e8fe69c2f30326bd6a074ed73ea2d6f99b02e143870c05c68c663ed32aee62abba1a
 DIST VirtualBox-5.2.26-128414-Linux_amd64.run 89220562 BLAKE2B d937e3a8f622ed1afc8ab7d2479401c6b41f6b1404197b2d86933d741a209071b1bc98de14ea4f25b2b0f2a22a328393908f85955f8879dbf8b28e2b981e4d04 SHA512 c8d7741408d234e7c05709dd0ed66d30b427b0f39976f232b1fe8a17160d36c4dda7d3adda46a38cbdd6626d34570805f582ac0aae2a975385a1f1d06e97f354
@@ -9,10 +11,15 @@ DIST VirtualBox-5.2.28-130011-Linux_amd64.run 89445843 BLAKE2B c5a91dad470ec1bf9
 DIST VirtualBox-5.2.28-130011-Linux_x86.run 88544719 BLAKE2B ed76962b9ddcd27136a4ced260cad88825542e690b633bd54a4aa8e877f47560ca93401ec67bb75224cd2a7247d5a477d7d532f78f11d341e69cab03240cbe9d SHA512 7c8292b898f7f701eeeeb7a27112f1350b7a255aaa095a7fb3a3037205d30948033acc368a28eeac70e9bd841f1032b946f802a7c9ab47b88105bbf343a14bb9
 DIST VirtualBox-5.2.30-130521-Linux_amd64.run 89855442 BLAKE2B ef1b8e2c83a8cc6404ccdc8cb446dfbe7ea827f88e857947779c916745f5058db33ef075c531914e4974d8abc00b4099fb531e0965a7116971d9a0560eb17a1f SHA512 36b5ee0e1815bebd5a75947004206c43c5f84341b7a967b33d37cf4b35fb6261594788859b636a918edaece4af9d08b1892db7c17e0a30a83bf9e69cd175b123
 DIST VirtualBox-5.2.30-130521-Linux_x86.run 88923599 BLAKE2B e8e5abf4b839c4edd4833c766824255675554cad2050f007d6459f28edc3f70bfd6346bbc893070630efdaf106a2e236974fe7fe09dc918e69dc1c9858edc369 SHA512 d6cddcab262422ee08ebbb796a4c2615dabad3ffde4fa5774a58a087cb14b2b813736053639dd132129a412fd68200d7666bdc110ce44d3ada864b9e7ebadaf5
+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-6.0.10-132072-Linux_amd64.run 127108569 BLAKE2B f2313b8e797f1292975d6d0f214985b16541b4b05cd0efa3f9b417a02b85ad7affa8c1d4929f161f90548242541628000c3ef39acece29a376f11aaf4d3536e9 SHA512 026c9b5d5f24714293cafb522840c2c84b86ebaa903f7e402472a916bd549cf3b279ef6de02ff0c9c7cb6df74ea402568df64ed224c0173d445d80f04a2d93d1
 DIST VirtualBox-6.0.6-130049-Linux_amd64.run 132914648 BLAKE2B 720d98a3d271a545e1ff3357731c44d592c2f1e3a5c685f68b1daeecd9880c784f19de905c5ca73fa6a7be77ecc550e97f672b08198f90ead13c059edb4c59d1 SHA512 ee1156e940b1c1c2e4c82d77148f56495845731d73ef68f4a5da9c19f008c978c6ef3e7693b70e7d16ebf44202deeba30928674a26ad3090dad7f5ae2a242a88
 DIST VirtualBox-6.0.8-130520-Linux_amd64.run 133672408 BLAKE2B 62c8d51502c4b3a15ba2a79356227c9e932c87480b31f3f70a5c89881f757a2725f4c1800ac312866f0e1e2e2970f6288d4970b52428ce94e390dfc68872ea7c SHA512 ea9061f420c2fce424c98903c8f7845cbb60eab83722de2f7ccd5723df81365b8e8b6fe80d183b4b38a30c13432fa4c567ea05e799ee176111130c3060bc25b7
 DIST VirtualBoxSDK-5.2.26-128414.zip 10159276 BLAKE2B 32a9e0a70cc63c8e0daa7080f8e10ac8a514837be98a66b00161cd0c9bf2cc42ef0a11f3a69a742a2f6745b4c8b8fe9e946e18f81cd5ef3ab2f68d5e3c95c568 SHA512 f3d1cc622734ecb0f56fcdf5728fcc747e3b084cb2358d420c55c1acd98d2f24870f0fd18cea430f118f34bca10199526ba195a314d6ce7fb6c4bc8281d89f09
 DIST VirtualBoxSDK-5.2.28-130011.zip 10157910 BLAKE2B 793918a663027a1396706b3aa0573679526b9c02aaaaadfe7cf4448744fc3ee6ea0484cdd01b07cb03169583b91fb1567d9c2f30046fc4bcb113d709aed30242 SHA512 90b25a1dddc50efe29cc1bd70819ca945be5f474c89e9fea90b0aa2f3ace448ec961ee749b6e3f41f763c05edd824d4a5e3c1c227db8e9a59267f91b87c24770
 DIST VirtualBoxSDK-5.2.30-130521.zip 10153996 BLAKE2B d0c24220f3d9d10528e10dd65a884d7431bb54b3fe186500685f7ee228b74aae2ed81650e695f7a47d7b8769fc94d7c8d8dfda443fe3ee0f11fc4773f1b34a2c SHA512 6305c7884ede60090726d9f9e6628a20030537d121892d2005e13abce5233df85fcfc465faee199fd38901431e1d9f86c9985698ddd6b0594f80842f34b8b8b3
+DIST VirtualBoxSDK-5.2.32-132073.zip 10200195 BLAKE2B 0de34e166b94889c605014233142887e7a8857d1915866156a0cc63850937730ec063e63b550f0d39ad241259158f033b028dbab7eec3f6f38c3715139413b3a SHA512 ccbe2af819bff46055bd6f079a03d69e721a09286e83d4f650583bc7692f5d19ae1a725cf3a6eb1b75167a2c73ff2e020d1f932bf9cfeee9ee709d1174c4cabf
+DIST VirtualBoxSDK-6.0.10-132072.zip 10801181 BLAKE2B 9ad30a0db9e0e87594277c10d869f915a1981c8a7fef294c34bbc904714141bc69e9ad80b79fa61b418ab537f65ccb574f72b6a2985110b51c54d8bfeac9f42a SHA512 b1cf9d3d289a3ba765e3ef9af2491b9f785e241c2c1ff9606009d3983c8fa8660a80dbd37404c773aa57b76a06fd2d1136644565643a58d1d4e1700a7cc329fd
 DIST VirtualBoxSDK-6.0.6-130049.zip 10759233 BLAKE2B f5fbcdeacfa3d4843b62728ecd2406785355eecd396292502ae2ebdadcdb38c24d0565a1304e935a1b3cc390880c443f9e8e490ab18adcc13f4b461c9750441a SHA512 45c5450249ab5ac43eb5dbc4d6e2b61cd4cd5a22005f38fd019d909f9d4b98147b959ff836ea05cceb7d730196a14763472ac6fe4113d1de7c11fad76300ac82
 DIST VirtualBoxSDK-6.0.8-130520.zip 10758177 BLAKE2B 6d4f8fc33cb57ff5055775cc0e9f676eede2cc07d62c73ee66813e9aae71ce6a73c2c81699234d5b5eab8244d9f15374a0485cfed1bedec429088e2d82bfd91a SHA512 2a94359904869b228337eb754bf545d32981bdc16ecc33544f30a6ce67d3ee1cec2d0c5bd02ed510ecfc7779871a53dc391a39a37a29fd725a403fd68789a081
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.32.132073.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.32.132073.ebuild
new file mode 100644 (file)
index 0000000..e4f5348
--- /dev/null
@@ -0,0 +1,287 @@
+# Copyright 1999-2019 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="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 "${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.10.132072.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.10.132072.ebuild
new file mode 100644 (file)
index 0000000..0d68ba8
--- /dev/null
@@ -0,0 +1,291 @@
+# Copyright 1999-2019 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="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
+
+       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 * || 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,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
+}
index 5786b229f9597b7a7b648e79ad4d9500383546ed..9a8c32291aec0f2dc0aae1b7874a9525bf21d201 100644 (file)
@@ -1,5 +1,7 @@
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.26-128414.tar.gz 19684009 BLAKE2B 81787dcf3b70211fa9c84a40c668100eda0dfd2ce3e1d35c226cb6913ef74027f3444be93069a5e881d8e60905477460a180cb98919050286978edf9c1edcdf3 SHA512 deb4c62d58e2071f4413f0ff769e9ecd756362920b29482a6a3d77566c327b075cb5ecafdc65985305b8b798dc56ca2104a0f8244651fca89c4e15ef879c121e
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.28-130011.tar.gz 19719444 BLAKE2B 4b70bb91f4309efbc9a3127e85aaab2175dee1bd3535dce17f3e36747c60ea4b2951958020c3b922b3f832e5cc2a40785ec7fdbe9be6af8a93513ac3d8012d20 SHA512 9da57baaa508cd86663e57b9c545532207fd8460bddb9fd92c3a0058da05cd81e782f99f7c6cc3bbbe1811ebff67e9e7455ccf4a7851d2c3025c4d4d98acf10d
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.30-130521.tar.gz 26914147 BLAKE2B f595f32a76649a803be490a9a6d46702e82cc835274973f0867f957d944724252b59e9844167b0038b9ba2b91854443f6eeaf084278534f4ab4249444fb8755a SHA512 f08fde658c7c1e916ce2c0ccebe9b05e7963168bbf945156c96f75acbd06ef1dca2088371fc3a6f75c84232bee9ebbed3b6bf92dbd0702cb5ff496cdc11227c5
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.10-132072.tar.gz 23160596 BLAKE2B 5cd7d1490305236f99b759520b4c63afd207cab53e861aaca0b0c318fe96f991756db60652bf65b26b5b9690366b6a5df13c225b44df75a30c1cc04badc7dbb2 SHA512 2c99b9917c65b4287bd1b78e9b9312630850307becea526188f97de569f541fab6bfbc4d5cff2ea9aab784dc4bbb23ada3679f76116ba94169f9c73566cc6c09
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.6-130049.tar.gz 23309541 BLAKE2B 550dcee0893c820e3113344f5990528ec2ade766f0a3ff1efc0965c555f820224070bec1f4b4b8b835b2150a7279d1bf9b247433a42658f0e179326c7d78eb0c SHA512 e0b0061137f2e5db1cba0aaf287be2f06cc5379e8f9b562a661beae1f2cc8855f0a78e173473bf44906ca84d6a09c0afa82e0f4026cfb5fb64f9fe6267ab3044
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.8-130520.tar.gz 23309069 BLAKE2B bbb060e0e13e336ee445234d7a61ded3896a0948a6a24f3d4b1792da4a9003cfb5717b7f608ffd9c74b4bfe2b24ed918fa2e87cf90ec3aaa3a7b31a7ef33dee5 SHA512 f942c08dd905163cadf79897a0ad8e8a280c96a555bfb9b5d2fc50c25872e8fe69c2f30326bd6a074ed73ea2d6f99b02e143870c05c68c663ed32aee62abba1a
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.32.132073.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.32.132073.ebuild
new file mode 100644 (file)
index 0000000..e598ba6
--- /dev/null
@@ -0,0 +1,42 @@
+# Copyright 1999-2019 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)"
+       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"
+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
+}
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.10.132072.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.10.132072.ebuild
new file mode 100644 (file)
index 0000000..a260ead
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 1999-2019 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 ~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
+}
index 8d4c030efe41aa910926c014adb0d5f4516f5ce2..148440c25f91ac601893f7558f167413f196f0d9 100644 (file)
@@ -1,6 +1,8 @@
 DIST VirtualBox-5.2.26.tar.bz2 118371765 BLAKE2B 32413b72e33f2f63835a2eb2d47dc75a7b63121934bdffd51ff58e9d63d68b77b4f8dac4605916ba8bd6896240d00024ccc3d7d002d4f6f92d6d9b1dc35995e3 SHA512 aee334c74bd02772ac5e0528d84d31661f61c775d0993c00febe125810efc78a2f779db41bf66283be51b19a35540fee14445bada59a8d3b7affa6ef6645005f
 DIST VirtualBox-5.2.28.tar.bz2 118655475 BLAKE2B 4e4e75b78de3cb3b6dc2fe2c2f306487cb924bf9ca2d1b0ffc6fc349774d3fa38886d386277a32067daaabfad6e8cd58ea058a78a70d16761d76f6ebed035d16 SHA512 085cfcab82851f98c757ea109ba420335d891a99df52a811e19815b3e55a92894cfb7b6fd4a5aaf15def71811f14e21527625adf885a394144cb5f971eb57782
 DIST VirtualBox-5.2.30.tar.bz2 118462289 BLAKE2B 87126b5af657815d0fcc8aadf49a23ce613ea0998b70f988f78e9d381138c414c7c73a0bf91955481cf484f5b71081ff1bab8dabe1b41fffde877e1003477625 SHA512 6230846ceda47b8ffe942aa8427f04f193095103371b7210d30e49cd9e384b9828d6917f75ef125e63e2c1810e8aa3b7c17b72f3ede7697c55d6de9da9d3f668
+DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
+DIST VirtualBox-6.0.10.tar.bz2 154284088 BLAKE2B 6aeb2384a777bb39e7c2692c1e262914296650f1448e8db45a03b864a824d3e8b337208087fa7f4469b1ee15e39c8cdae3707f742eb229872e8cb681d118880c SHA512 96fa3c672790239163829b3c40ac0d75d717b29a7b947ec48709eb7811c5800e314a0fc90d87810e4a03da40b3a65914605f648b287314386b371489e5d974c9
 DIST VirtualBox-6.0.6.tar.bz2 155297550 BLAKE2B a886ed99da3aee7a52d8c0654c33e50ae4155077e3d5061e1888a0cb5760b12dd63fb1205b75ec04419d50261f81e56036bdba79d20b57c836f073af232c913a SHA512 eb71ca94220680ac6cba7af13eb9eef132c21e57b1b27d6bc3c564bba58b000e682d19e36b63660bfa4f4471cd0632d365659ef8c4e3e526931622901a432d1b
 DIST VirtualBox-6.0.8.tar.bz2 155404889 BLAKE2B 3eb6ebf713c32e301db1673b22c367a89ce1ffb25d12baab6c7335389ce17e08efd744139acc4114231c4d4b69c6370b6e5d5b18ce97fe5494ca7a192fa43f7d SHA512 df18d5df2c82761b8a77e509b2873cdeaa46d11bc50ca166af1e6c30d3042b0cf5640957b1d411333f5bd5be3f03f382550f1afaecf0651d847bc88c95863d83
 DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.32.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.32.ebuild
new file mode 100644 (file)
index 0000000..a16a06c
--- /dev/null
@@ -0,0 +1,229 @@
+# Copyright 1999-2019 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-5.2.16-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 )
+       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}"
+
+pkg_setup() {
+       export DISTCC_DISABLE=1 #674256
+       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=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
+}
+
+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...
+       local vboxheader mdir
+       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/008_virtualbox-4.3.14-missing_define.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"' \
+               >> "${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
+       insinto /usr/share/doc/${PF}
+       doins "${FILESDIR}"/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 ""
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.10.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.10.ebuild
new file mode 100644 (file)
index 0000000..8162053
--- /dev/null
@@ -0,0 +1,219 @@
+# Copyright 1999-2019 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.0.0_beta2-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
+
+       rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.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"' \
+               >> "${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
+       insinto /usr/share/doc/${PF}
+       doins "${FILESDIR}"/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 ""
+}
index 7ffeaaa8b508560219ab2f2b5b1c20f7f43ed6d7..3f318e93b6457f0aae37ec67c0f09d7bbdf4cc5a 100644 (file)
@@ -1,5 +1,7 @@
 DIST vbox-kernel-module-src-5.2.26.tar.xz 642096 BLAKE2B fa908b8dda4c49e880005f22d4ec159ba4e84b20d3cf8f514ec5ad0ea556499b0df25fb714bb5f9a3474e6fc1cba67f6d56fddaee748b9561bbe31a003dd0657 SHA512 7f37be1b35772d59cd3df9b61dec436450de3c038faf2cd22fb891fee7270aa7f87f146f72497ffeb63dfe869cccd3f2788562d23fc51afd83ca19159f2a6810
 DIST vbox-kernel-module-src-5.2.28.tar.xz 642000 BLAKE2B 65ffe2345e978e0afba079e9291d55dc0419853718831d4c47e8e3e4f9fa194957342683aec0f362aa3f3924dca90d73ac30d947dec69ff54106d8e229510889 SHA512 bef0601b295d1a5cc0387262a6c75ec33777edaeaa543218bc7ddea5ced3995511978abfb624d2547fc6339c41e638054fb173ee7e0aeb46c7356a24834b3d83
 DIST vbox-kernel-module-src-5.2.30.tar.xz 642476 BLAKE2B 497a381b10f813ee333f0ac0a0b9f7893b0cc3c842757e85f119bc28dec4ed978bab827df116c8f99bafb412b8bf5a97592a964cf61f7e813284b2e74e7e8a6d SHA512 80511d96c44294a1faae165e874b838f76449a898cdc01411eae0dbdc5f7ee79f75f8c6a52e9e0c9c1ad8bd054c64751f6be6f7790d0053933db8d786dfbc53e
+DIST vbox-kernel-module-src-5.2.32.tar.xz 642428 BLAKE2B 0dda5cb5608c1eed22bea209564d53c5f7eab58ca620db2cc441e3c1ba9ad66609c4ef13df07fd29b691f2941a070f9852e8729cd386081df6a82ede345f33c5 SHA512 fadedab690cb7dee8b9a6747ed711d924bf3bce8999b24e7b64cb8738c53c2fa7372b1a8e8535e7e4ef0235aec02d4a3f1f67cd07d7621934fab684c5163329e
+DIST vbox-kernel-module-src-6.0.10.tar.xz 669008 BLAKE2B 80250aeca8421aa0b88efb1d090f78d0bc6c7b4b2c3b7e0c5c7953d9ef5246ee25df6fa14b75b821e1e3d05cda3ff975560ede89dc482e34faa801a592405a9f SHA512 afab0130c14b86e822f2a9528373388a9eeee952deec9ff7158e4b788b64343235f3a3da10218bfabcb71dd4d89c8ace0031ea9b64d7385140f6c580b5087333
 DIST vbox-kernel-module-src-6.0.6.tar.xz 667936 BLAKE2B 5eca0167ad6c624bb56978c07c0184ef39d789ca5752fee3fcb00a2f5a7af4d20a69dde4288fc5233111ea821eab69d6970a86861459d09d6050d93f09f8f2ef SHA512 aff4b1f200abfdb7e249e6c725ab9c2a4c83010bd0c7b6d2d6595ae7d7bc6b2bd291f77c1597b3fb2c39de61867447c18e06d865a50565ccb07120de2c34d141
 DIST vbox-kernel-module-src-6.0.8.tar.xz 668380 BLAKE2B 06deabe0bae37503ec2b2df3cf1edb820b190c9e453aad8e211278a27c9ffaf229b98c08b2d7510b3721a30ca53833b43184636fde7ce3e5ac0bcbc588330486 SHA512 a4fb626c5a58637cfef7ebc44ccfcf82d6f2a7e91af665a8854d9fafb0c9b042d473c6767dad64497aed5110aefd23299461d39b43f8e57aa0c255cfcc94b448
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.32.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.32.ebuild
new file mode 100644 (file)
index 0000000..c4b01a1
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright 1999-2019 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 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"
+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
+       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/
+       doins "${FILESDIR}"/virtualbox.conf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.10.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.10.ebuild
new file mode 100644 (file)
index 0000000..7257cb3
--- /dev/null
@@ -0,0 +1,52 @@
+# Copyright 1999-2019 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 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 ~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
+       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/
+       doins "${FILESDIR}"/virtualbox.conf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+}
index 8d4c030efe41aa910926c014adb0d5f4516f5ce2..148440c25f91ac601893f7558f167413f196f0d9 100644 (file)
@@ -1,6 +1,8 @@
 DIST VirtualBox-5.2.26.tar.bz2 118371765 BLAKE2B 32413b72e33f2f63835a2eb2d47dc75a7b63121934bdffd51ff58e9d63d68b77b4f8dac4605916ba8bd6896240d00024ccc3d7d002d4f6f92d6d9b1dc35995e3 SHA512 aee334c74bd02772ac5e0528d84d31661f61c775d0993c00febe125810efc78a2f779db41bf66283be51b19a35540fee14445bada59a8d3b7affa6ef6645005f
 DIST VirtualBox-5.2.28.tar.bz2 118655475 BLAKE2B 4e4e75b78de3cb3b6dc2fe2c2f306487cb924bf9ca2d1b0ffc6fc349774d3fa38886d386277a32067daaabfad6e8cd58ea058a78a70d16761d76f6ebed035d16 SHA512 085cfcab82851f98c757ea109ba420335d891a99df52a811e19815b3e55a92894cfb7b6fd4a5aaf15def71811f14e21527625adf885a394144cb5f971eb57782
 DIST VirtualBox-5.2.30.tar.bz2 118462289 BLAKE2B 87126b5af657815d0fcc8aadf49a23ce613ea0998b70f988f78e9d381138c414c7c73a0bf91955481cf484f5b71081ff1bab8dabe1b41fffde877e1003477625 SHA512 6230846ceda47b8ffe942aa8427f04f193095103371b7210d30e49cd9e384b9828d6917f75ef125e63e2c1810e8aa3b7c17b72f3ede7697c55d6de9da9d3f668
+DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
+DIST VirtualBox-6.0.10.tar.bz2 154284088 BLAKE2B 6aeb2384a777bb39e7c2692c1e262914296650f1448e8db45a03b864a824d3e8b337208087fa7f4469b1ee15e39c8cdae3707f742eb229872e8cb681d118880c SHA512 96fa3c672790239163829b3c40ac0d75d717b29a7b947ec48709eb7811c5800e314a0fc90d87810e4a03da40b3a65914605f648b287314386b371489e5d974c9
 DIST VirtualBox-6.0.6.tar.bz2 155297550 BLAKE2B a886ed99da3aee7a52d8c0654c33e50ae4155077e3d5061e1888a0cb5760b12dd63fb1205b75ec04419d50261f81e56036bdba79d20b57c836f073af232c913a SHA512 eb71ca94220680ac6cba7af13eb9eef132c21e57b1b27d6bc3c564bba58b000e682d19e36b63660bfa4f4471cd0632d365659ef8c4e3e526931622901a432d1b
 DIST VirtualBox-6.0.8.tar.bz2 155404889 BLAKE2B 3eb6ebf713c32e301db1673b22c367a89ce1ffb25d12baab6c7335389ce17e08efd744139acc4114231c4d4b69c6370b6e5d5b18ce97fe5494ca7a192fa43f7d SHA512 df18d5df2c82761b8a77e509b2873cdeaa46d11bc50ca166af1e6c30d3042b0cf5640957b1d411333f5bd5be3f03f382550f1afaecf0651d847bc88c95863d83
 DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
diff --git a/app-emulation/virtualbox/virtualbox-5.2.32.ebuild b/app-emulation/virtualbox/virtualbox-5.2.32.ebuild
new file mode 100644 (file)
index 0000000..05f9584
--- /dev/null
@@ -0,0 +1,496 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info 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.16-patches-02.tar.xz"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa debug doc dtrace headless java libressl lvm +opus 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/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="${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/jdk-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}"
+RDEPEND="${RDEPEND}
+       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="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -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
+
+       rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
+       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 --build-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() {
+       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 "${ED%/}"/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 "${ED%/}"${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 "${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 4750
+                       pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
+
+                       if use opengl ; then
+                               vbox_inst VBoxTestOGL
+                               pax-mark -m "${ED%/}"${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
+                       doins -r UnattendedTemplates
+
+                       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 "${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
+
+       if use vnc ; then
+               insinto ${vbox_inst_path}/ExtensionPacks
+               doins -r ExtensionPacks/VNC
+       fi
+
+       if use dtrace ; then
+               insinto ${vbox_inst_path}/ExtensionPacks
+               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_postinst() {
+       gnome2_icon_cache_update
+       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() {
+       gnome2_icon_cache_update
+       xdg_desktop_database_update
+}
diff --git a/app-emulation/virtualbox/virtualbox-6.0.10.ebuild b/app-emulation/virtualbox/virtualbox-6.0.10.ebuild
new file mode 100644 (file)
index 0000000..b581681
--- /dev/null
@@ -0,0 +1,511 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{5,6,7}} )
+inherit 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.0.0_beta2-patches-01.tar.xz"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
+
+CDEPEND="
+       !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(-)] )
+       ${PYTHON_DEPS}
+"
+BDEPEND="
+       >=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 )
+       ${PYTHON_DEPS}
+"
+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="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -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
+
+       rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die
+       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
+
+       # *.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{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} 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
+}