virtualbox packages: Bump to versions 5.2.36, 6.0.16 and 6.1.2
authorLars Wendler <polynomial-c@gentoo.org>
Wed, 15 Jan 2020 16:41:32 +0000 (17:41 +0100)
committerLars Wendler <polynomial-c@gentoo.org>
Thu, 16 Jan 2020 08:51:01 +0000 (09:51 +0100)
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
24 files changed:
app-emulation/virtualbox-additions/Manifest
app-emulation/virtualbox-additions/virtualbox-additions-5.2.36.ebuild [new file with mode: 0644]
app-emulation/virtualbox-additions/virtualbox-additions-6.0.16.ebuild [new file with mode: 0644]
app-emulation/virtualbox-additions/virtualbox-additions-6.1.2.ebuild [new file with mode: 0644]
app-emulation/virtualbox-bin/Manifest
app-emulation/virtualbox-bin/virtualbox-bin-5.2.36.135684.ebuild [new file with mode: 0644]
app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674.ebuild [new file with mode: 0644]
app-emulation/virtualbox-bin/virtualbox-bin-6.1.2.135662.ebuild [new file with mode: 0644]
app-emulation/virtualbox-extpack-oracle/Manifest
app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.36.135684.ebuild [new file with mode: 0644]
app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.16.135674.ebuild [new file with mode: 0644]
app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.2.135662.ebuild [new file with mode: 0644]
app-emulation/virtualbox-guest-additions/Manifest
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.36.ebuild [new file with mode: 0644]
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.16.ebuild [new file with mode: 0644]
app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.2.ebuild [new file with mode: 0644]
app-emulation/virtualbox-modules/Manifest
app-emulation/virtualbox-modules/virtualbox-modules-5.2.36.ebuild [new file with mode: 0644]
app-emulation/virtualbox-modules/virtualbox-modules-6.0.16.ebuild [new file with mode: 0644]
app-emulation/virtualbox-modules/virtualbox-modules-6.1.2.ebuild [new file with mode: 0644]
app-emulation/virtualbox/Manifest
app-emulation/virtualbox/virtualbox-5.2.36.ebuild [new file with mode: 0644]
app-emulation/virtualbox/virtualbox-6.0.16.ebuild [new file with mode: 0644]
app-emulation/virtualbox/virtualbox-6.1.2.ebuild [new file with mode: 0644]

index ceed94b17b89d4056afab0eda386d918b65e974f..133c1d13602beb40a109fdd95d439ff4fd1ea52f 100644 (file)
@@ -1,5 +1,8 @@
 DIST VBoxGuestAdditions_5.2.32.iso 49620992 BLAKE2B 04853f4b9a95898263ca7238a78b5d8751882a21874e4745d675642185542eb617f2a74b3e55b4444067822511d33b6d358e37e179d1b1c6464d701a8ab45a54 SHA512 86f1d7071a9033b7826dcacbcf23822acc772d909af8a8a12345bd5fe68375677b522d0e1987f2908412d5a29369d0a1221fd099f8b692c8d25fe9cbe40fd11e
 DIST VBoxGuestAdditions_5.2.34.iso 49661952 BLAKE2B 2e1455d19e2e6be374b3ab4e2400b838202f8b978884a631317bcfd08ae3adfcb48dadc1ff1d26731c1c55df9e407de005291f37c28d020b7c72acc82fb77e87 SHA512 5e01d3f2692a0e0fa8651bcd4084761d67732f008d4438e3d8428e8ef39e8e5e10f0fb4637901fc733d2d773f9ddce6de7c62e471098824cf72b6fffdaf65f6f
+DIST VBoxGuestAdditions_5.2.36.iso 49661952 BLAKE2B 181c26b5362ebdd8508bcc5b3f75993fc6ab7036093004a614c5153a8c772e2bdaab309adc452cfe78ee09fbd528c00a875193f4183b75e3cb6ce169b4f68507 SHA512 4be8e943f61b17445b17d092db84ddd6841d933bf2b8dd1fad7cc0095d31932347f861e110917ca6d0ebec2ee62b2afa7e5977123830e50a4e0e4a6c1872e28e
 DIST VBoxGuestAdditions_6.0.12.iso 77195264 BLAKE2B bc7956a8eaf4a3ddc92b20c52696e298af63980bc607f8caea51ac00b826f62a3214a30a232070c3ded7a2db9d81114a81de2f6d9b04bdec1ea5cfb26808287e SHA512 83c9703588f14b6a24d878cb929fc09dddd94510f8a63092ff91864275abf8dd47f10e8bd300128305e1ed2e8504c76260b72e5d534c6d45de1e0d64d038ec58
 DIST VBoxGuestAdditions_6.0.14.iso 77195264 BLAKE2B 5f87fa4f561aaed80678eaadf3cb2b08edc5cc8de49aa6039c23621c736ad5b73b70ea5e4fcfb0a484dbd170010019350a1b1b4c712148648a9eb58d648f1682 SHA512 33b265b5a5635cb490a16ded64739ced39dcd4cc3c12d381f952b24ddac4ec2de9b36d34bc6e425f6d39f6a090250f64d3b517544f9b4ee91cbaf3de3984aea9
+DIST VBoxGuestAdditions_6.0.16.iso 77201408 BLAKE2B 713381429cbef6685c4890c47dc0896571ca24cacc96d73903cdd91220a6b5ba7c6012c69d62489eaabd1fe75dd0000a3415d7d316fbc79b3b8ac2cf45cba75a SHA512 d17de374714023b02fef76bad53a15fe4d5d4bc752e900843419e9c3ba4988bd9bdc8fd6797bb4fdfa722d0f41ff144ed6865a0778609a7aea5e96de34c7beb8
 DIST VBoxGuestAdditions_6.1.0.iso 59516928 BLAKE2B b5b5deac4a589fd56c6826d2191b3ddf72935de9f86f899ca5dc4a20b4339d750c5ccf2cbe614dc453ff03789e3eba90030856babddc6fc2d9dffc260c1ea2b6 SHA512 999679802fc5529a9ade01ebc1923296b247c833b71f0b6b99a4002078ecb1e7e4221d26f1e8e37caa1abbf804543e88e4933efaecbe6974f2efc6f01c6948dc
+DIST VBoxGuestAdditions_6.1.2.iso 59539456 BLAKE2B 904105943fb4004d3f91ef48cf8999bb1e4a8d4658e99b8d815f8f7031cedb870a1ae5825473cabbaedb38d2e9e2df12e4e8ed52c33a7e4595e0a37f6d51ade4 SHA512 c0d916c50f7377feade9a00417c759666442dd881f9e863d9704e12dda274e14bd84313a5bd340192a8e1d634eab4d69379bfee06324207e1025fe7af1a8c07c
diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.2.36.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.2.36.ebuild
new file mode 100644 (file)
index 0000000..89a7f0a
--- /dev/null
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=VBoxGuestAdditions
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
+
+LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
+SLOT="0"
+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.16.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.0.16.ebuild
new file mode 100644 (file)
index 0000000..1afb82d
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=VBoxGuestAdditions
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
+
+LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~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.1.2.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.2.ebuild
new file mode 100644 (file)
index 0000000..9726489
--- /dev/null
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PN=VBoxGuestAdditions
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
+
+LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE=""
+RESTRICT="mirror"
+
+RDEPEND="!app-emulation/virtualbox-bin
+       !=app-emulation/virtualbox-9999"
+
+S="${WORKDIR}"
+
+src_unpack() {
+       return 0
+}
+
+src_install() {
+       insinto /usr/share/${PN/-additions}
+       newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
+}
index 4db34da3faaefe8a460ac3cfbfee3e0adda01e2a..558cf4f391d1284dcfc18c29e3e6288642cc55ff 100644 (file)
@@ -1,17 +1,27 @@
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.34-133893.tar.gz 26985633 BLAKE2B 718bb568a8819250f90d57d57115f84e09da5c2e29539a8585c6916fd794bf2715ea9fc340dc349dbabeab8674230bab2b311686bfb5d343b0a7bdb23578effc SHA512 b932768bbf652f29a4e4ded8e65b944da63b76a02206da77dddf2bf8504cb165c67e215d270cdb4d9ff81adc4a24c146ad9793e074b0cf4e3a3fe77619017716
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.12-133076.tar.gz 23160551 BLAKE2B 6174296d97f9e32a79f29e119804b15d288100017ea9da20235325f095e1d10a7ea5acf478d914b4a2e874da7640520691ad9a881228855b047f5c0c529ad120 SHA512 f7d4785ce8e53836cb4b87920765967cb3148ba09ee5921ab67fc4547d8a90923bfbb8a432d67ec6b878775fd67f1dbd826dcf993b57481f71d2f8a71ce13bfd
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.14-133895.tar.gz 23160651 BLAKE2B c140375bae78f4efe02744ac1b55c76e736eefe58e6adc9edf1fd232433cc572183590963789ab88490f56c6c95154a2755ef16f044b6948801d56ff63edea20 SHA512 fdeedfefeab884a546e7f477b28052c32ab2a2782a66b3afca1e56804552f54d310fbb5dcfd494e4bdb99e7fe1df5f9e4de5263a6db2dcaf9218002607f2967f
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.0-135406.tar.gz 10923164 BLAKE2B 8f09f2b0d6c290dffcdb8d1ee86a31b8ffa37653d198a3478cc96d2f276e6a0a359da82052fd53815509e2f4981279db237dd0287cf8bb78d7f92b747660975d SHA512 dd01cbaacf4dc606e83dfe964289718852e5d11fbb9f744ac19a5f525dd6c149ce292fa124336cede876e65aa32b1365b7f1601f102808dea4fe9f1d445a4657
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
 DIST VirtualBox-5.2.32-132073-Linux_amd64.run 83854803 BLAKE2B 3522df31f4f98efcd40adcaaf8ac458078adf0bbfed96c7d309d4726ddb8b8dd78eef830b3cfcb2f1fa6329bcc30ea2449f5c88cab66fa0c7d20818d7b5aa07a SHA512 aea9b27793f3363eba2ed627cc3b35ca51445946e6e9f20382fb3034afbb7470d27fdc476066c04acc595690a9e34109e8b8ce6dcab10fdc990b241b24ec47fb
 DIST VirtualBox-5.2.32-132073-Linux_x86.run 82943439 BLAKE2B 31a22e8b52a53d6948a5af533b5c8f374d703c44736678c0bbe6fd9b5298bed4817996c32902a69c2c59dbf751cea04f22beb7203deaeadf79d2424e123e9d37 SHA512 05f99b673224c2b3d94b0d568067ae5ee74200c88a3b7f6665988a9d0c35f69f81c07292b838d07c07fd6d5484979615fd255650b138387501a593f3833b9071
 DIST VirtualBox-5.2.34-133893-Linux_amd64.run 83895763 BLAKE2B 1f7212410c6cf1b2c58efcc0987980024a130a7d80f392ae5007c02aa7f5c3401f72c563c704a2e87282eb92d7d940e648cf6b4202010f068878005396474186 SHA512 ea369b80b8449280f7d605970f31784141bbc43420edde81ad394cb976eca19038455769d65fff9f9b2e4dd70a1c7ec406cc017dc7e50e1a6292bb7da074b845
 DIST VirtualBox-5.2.34-133893-Linux_x86.run 82974159 BLAKE2B 30e4e41fa3e3e8aaf928638ad6665a3dc874373daf99032c40381ee0e7ab2146daaf02c5b1d65e32e1fa8286cec4f898d924a9b62fc253a097d1f568538a6939 SHA512 f5fb27bb6d338841357445823fbaa5893fa338d8ef7c146f800baf3ceebb778c29239a82a4d9ceb9e23980177c5d0ccf10b3fc9b63b8b2232f23077bda4332d7
+DIST VirtualBox-5.2.36-135684-Linux_amd64.run 83885521 BLAKE2B 6940d009069a80f46f0e568732e81e0151e18f7c24c5ff44dab3b305e5f21d4cf729ce162f67b21b4f034b8dc7ab4df4a07a24ab00a7349083bb15d3af27c0c4 SHA512 288a4ec1ba2f245771c87034876e1cfa59ea3eaed124bd77ffed20fadc54dbf3071624a94fefeb26a7d356fb55fe206d11510136194e15b10fa9585c8d5efe73
+DIST VirtualBox-5.2.36-135684-Linux_x86.run 82974158 BLAKE2B d2c44159f00111438c51c60d4356247693c6773e8b244fcdf24cd2029b423c36edbea20e2130cf414ca5f076d04b1c085e9fac9a6b8504a991dcf76e61feb2c0 SHA512 888fafda0986066edf32c208503857ce58f220251d142ac0a327989d0d24987b2d69798143142e749c49cf37fddec23b3fe624503914327d0c53e3794db2d688
 DIST VirtualBox-6.0.12-133076-Linux_amd64.run 127118808 BLAKE2B b654fce2e9134390c7cf27e30e2c2e15e5d3bfd40df85627b266f250c112b0f4f60062d3f50dbb0e5bc0ac7f4b819694cdb65d2148b4b015b8e0c5c71c13e4ec SHA512 cce0e95de6e7ecb879807ec47cff0f4423c471132fc157e4c1656824ab5c914684db53bf73c77f9a98e72f654a7af13b21ad2954ef8f5a961b39ab9bb7c04990
 DIST VirtualBox-6.0.14-133895-Linux_amd64.run 127200729 BLAKE2B dc39bcfd02d48bebba59eda8d70bed42c24ae68385b248f168b372a36145b8eb8043f2f59496ce6fa425c2eae4dcd1c78b0d6b44c147dba29ba1362bf6bd2f14 SHA512 4bb4cb398863ec812de9580a3a831cb5aed3ec8e471a519caf58dc988691deb5de7afe56b0c96d6295d2942da142786b4a014079fbc2f3dedae86680a4460cb1
+DIST VirtualBox-6.0.16-135674-Linux_amd64.run 127251928 BLAKE2B a0aa634be851ba5620ae89b0c324204aa4a069c1480fe0d7effcb3796900b688d39f1204778e16e407c266d06583d3531e7831b789de238bab380160a9821036 SHA512 d3cdd40a5f7d2bc1537244db1dd5c5cb58a5b7df527952c1abcd5bd701afd59dd77ec1aa90489cd7640fe88a01aac9b20cc8522750f534a5d11af6f7e125482c
 DIST VirtualBox-6.1.0-135406-Linux_amd64.run 117093835 BLAKE2B 7eae87d07c327552978736cf4b52cbddab57471503e4c803464364c172b0d95b8b46ff0834cc3de11ce9aab245424358b593001f9bdab508714d3364b88e1fdd SHA512 6b1008742c3bda13f7bc319b74e4fc3900c1ed03e7652869d91ae3ff86558200bae4f51b99880f6495fd9492bc8a140b36f6ff7bbb19e0d22e88bf70c21d5469
+DIST VirtualBox-6.1.2-135662-Linux_amd64.run 117165515 BLAKE2B cb2aeda9997d8b5f6cfc353e95532fe687362efde03256d6136b8546a74b0a87b9fdc0e9e273c1cde7f226951af7cf5d02218c68b962573ccc80ae94be987c0d SHA512 0775a5085b4eeba5244df3896afe270c79873da2e87038566bfab63f1552b90e235e20dff5703c6faac44f1c5c4ecbfac64c29608edd8b217bf34fb08cdc1999
 DIST VirtualBoxSDK-5.2.32-132073.zip 10200195 BLAKE2B 0de34e166b94889c605014233142887e7a8857d1915866156a0cc63850937730ec063e63b550f0d39ad241259158f033b028dbab7eec3f6f38c3715139413b3a SHA512 ccbe2af819bff46055bd6f079a03d69e721a09286e83d4f650583bc7692f5d19ae1a725cf3a6eb1b75167a2c73ff2e020d1f932bf9cfeee9ee709d1174c4cabf
 DIST VirtualBoxSDK-5.2.34-133893.zip 10199934 BLAKE2B 4f1f82e374b90e002183272c467074608d437ed43b4a0cc6875f5560d7fafa7432c1fe32287e1afbfc5aac91cc65a226f7b164df2fd036c385c211aa11b24b04 SHA512 deaca4f2480771056079bd2f857ea4a4d834a77f19fd5fa04b6e959f6e54141e901de0387e77418fd8e6ba06de528a3dde1c7b335e9c6eb8bb3278ae08a44d7a
+DIST VirtualBoxSDK-5.2.36-135684.zip 10203411 BLAKE2B 241dca39482d620063476b86514d3b71d69b3187be15fdf8774ee3fc34ff98ac66ba97baebe4cc107727a07594d3c124c05867a7f62661cf11bc6bd43528cdba SHA512 646bc84b605c236ecf9c38fd14cfc5f2d1ddf72a874482dd9a0f799bc099e3c2ca11512607d988c411495fcf12495ea49e0fabea2ca04a22e73efecb94928190
 DIST VirtualBoxSDK-6.0.12-133076.zip 10799655 BLAKE2B 93fc5093454a21bf5da26d00f35ab107410cddfed63c9af8494cd194cdc080a70ec8cc8af57233be0472b84a25709a3719f51d399585c1b474ddb4d40e6488ab SHA512 f270a6c404f1bf49ca6bbbc8c4fdba70e6c65001e9731a689f391e6d4c18866ceb14c94a241c15a4e5dd01e08f2c5c61f0fe7feb43ffe36acc9868a72a75603c
 DIST VirtualBoxSDK-6.0.14-133895.zip 10801711 BLAKE2B 30f8befbd52bee336f3a63029061d1ebd76975149af1a1960bca298de2e4fee95cde80f9a7e822e589a2cc0e5a7526d07c006575a0508328b2482034e2bd347a SHA512 fd9dc1f077f8c842e0c52e08750af456973eab534e3de4d771d2c212f6024ad953426a62e82ce89895ad77d8de65d1fb39defd9c370864cb16d3d37fd9a31699
+DIST VirtualBoxSDK-6.0.16-135674.zip 10803791 BLAKE2B 2b8507cf5143370ab753f55b27c1890ded25b1ed28457bb8ba094f2b2fa7e813d0605a25c5adbcbe828aec34c9fe7526e7a60c2e1cfc1085a611959474016280 SHA512 c7b811b89d6fa892c86c60e41922051d75ff079c9868eaf3b454aca73b3de77aa9361422216668203d105c910fffa94bd7b4bae4243c769660209c979009d7fe
 DIST VirtualBoxSDK-6.1.0-135406.zip 11172803 BLAKE2B dc70b6cf571f5d4f4dc9eeb92d09a890607fe66a37cb39a7b8a3e496c60dadbf94fc0f1fda794383fd5483f4ebf58e461c7a300a1aba2552839ccc939464004b SHA512 c7e3f848ac85fae508dabf1b8add774394ef9541426d65c6043122d701e1cc3e2102cdd7422d70fe1e74c6b382ffae5f9616921f5e76ce6732498ad91e0678bd
+DIST VirtualBoxSDK-6.1.2-135662.zip 11174224 BLAKE2B 54ca9c127b15ab2917d9150313ae3c779efa80e07440f8e24694f14440120a415b35aa0b906de4b03330dd9c73c9dcb978bb0a1b39e438f39f46da4dfa4ddc3a SHA512 4011690019ae7804d85cdbf2c1649588472ef0db019c54507f30cb319cb28ffe27a36bc8ee59d4f1cba60c9a04f0f52096ac0596c826e8a5bb4bba1a7941e134
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.2.36.135684.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.2.36.135684.ebuild
new file mode 100644 (file)
index 0000000..07efd35
--- /dev/null
@@ -0,0 +1,287 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5)"
+       MY_PV="${MY_PV/beta/BETA}"
+       MY_PV="${MY_PV/rc/RC}"
+else
+       MY_PV="${MAIN_PV}"
+fi
+VBOX_BUILD_ID="$(ver_cut 4)"
+VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
+MY_P="VirtualBox-${VBOX_PV}-Linux"
+# needed as sometimes the extpack gets another build ID
+EXTP_PV="${VBOX_PV}"
+EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
+EXTP_P="${EXTP_PN}-${EXTP_PV}"
+# needed as sometimes the SDK gets another build ID
+SDK_PV="${VBOX_PV}"
+SDK_P="VirtualBoxSDK-${SDK_PV}"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+       x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+       https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
+
+LICENSE="GPL-2 PUEL"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
+RESTRICT="bindist mirror"
+
+if [[ "${PV}" != *beta* ]] ; then
+       SRC_URI+="
+               sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
+       IUSE+=" sdk"
+fi
+
+DEPEND="app-arch/unzip
+       ${PYTHON_DEPS}"
+
+RDEPEND="!!app-emulation/virtualbox
+       !app-emulation/virtualbox-additions
+       ~app-emulation/virtualbox-modules-${MAIN_PV}
+       !headless? (
+               dev-libs/glib
+               media-libs/fontconfig
+               media-libs/freetype
+               media-libs/libpng
+               media-libs/libsdl[X]
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXft
+               x11-libs/libXi
+               x11-libs/libXinerama
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               chm? ( dev-libs/expat )
+       )
+       dev-libs/libxml2
+       sys-fs/lvm2
+       x11-libs/libXau
+       x11-libs/libX11
+       x11-libs/libXt
+       x11-libs/libXmu
+       x11-libs/libSM
+       x11-libs/libICE
+       x11-libs/libXdmcp
+       ${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/VirtualBox/*"
+
+PYTHON_UPDATER_IGNORE="1"
+
+src_unpack() {
+       unpack_makeself ${MY_P}_${ARCH}.run
+       unpack ./VirtualBox.tar.bz2
+
+       mkdir "${S}"/${EXTP_PN} || die
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       unpack ${EXTP_P}.tar.gz
+       popd &>/dev/null || die
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               unpack VirtualBoxSDK-${SDK_PV}.zip
+       fi
+}
+
+src_configure() {
+       :;
+}
+
+src_compile() {
+       :;
+}
+
+src_install() {
+       # create virtualbox configurations files
+       insinto /etc/vbox
+       newins "${FILESDIR}/${PN}-config" vbox.cfg
+
+       if ! use headless ; then
+               newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+
+               # set up symlinks (bug #572012)
+               dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
+
+               local size ico icofile
+               for size in 16 24 32 48 64 72 96 128 256 ; do
+                       pushd "${S}"/icons/${size}x${size} &>/dev/null || die
+                       if [[ -f "virtualbox.png" ]] ; then
+                               doicon -s ${size} virtualbox.png
+                       fi
+                       for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+                               icofile="virtualbox-${ico}.png"
+                               if [[ -f "${icofile}" ]] ; then
+                                       doicon -s ${size} ${icofile}
+                               fi
+                       done
+                       popd &>/dev/null || die
+               done
+               doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
+               insinto /usr/share/pixmaps
+               newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
+       fi
+
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+       popd &>/dev/null || die
+       rm -rf "${S}"/${EXTP_PN}
+
+       insinto /opt/VirtualBox
+       dodir /opt/bin
+
+       doins UserManual.pdf
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               doins -r sdk
+       fi
+
+       if use additions; then
+               doins -r additions
+       fi
+
+       if use vboxwebsrv; then
+               doins vboxwebsrv
+               fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
+               fperms 0750 /opt/VirtualBox/vboxwebsrv
+               dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
+               newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+               newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+       fi
+
+       if use rdesktop-vrdp; then
+               doins rdesktop-vrdp
+               doins -r rdesktop-vrdp-keymaps
+               fperms 0750 /opt/VirtualBox/rdesktop-vrdp
+               dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
+       fi
+
+       if ! use headless && use chm; then
+               doins kchmviewer VirtualBox.chm
+               fowners root:vboxusers /opt/VirtualBox/kchmviewer
+               fperms 0750 /opt/VirtualBox/kchmviewer
+       fi
+
+       # This ebuild / package supports only py2.7.  When py3 comes is unknown.
+       # The compile phase makes VBoxPython2_7.so.
+       # py3 support would presumably require a binary pre-compiled by py3.
+       use python && doins VBoxPython.so VBoxPython2_7.so
+
+       rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
+               vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
+               VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
+               webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
+               90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
+               VBoxPython?_*.so
+
+       if use headless ; then
+               rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
+       fi
+
+       doins -r *
+
+       # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
+       dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+       dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+       dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+       dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+       dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
+
+       local each
+       for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
+               fowners root:vboxusers /opt/VirtualBox/${each}
+               fperms 0750 /opt/VirtualBox/${each}
+               pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+       done
+       # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+       fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
+       fperms 4750 /opt/VirtualBox/VBoxNetDHCP
+       fperms 4750 /opt/VirtualBox/VBoxNetNAT
+
+       if ! use headless ; then
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               for each in VBox{SDL,Headless} VirtualBox; do
+                       fowners root:vboxusers /opt/VirtualBox/${each}
+                       fperms 4510 /opt/VirtualBox/${each}
+                       pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+               done
+
+               dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
+               dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
+       else
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
+               fperms 4510 /opt/VirtualBox/VBoxHeadless
+               pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
+       fi
+
+       exeinto /opt/VirtualBox
+       newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
+       fowners root:vboxusers /opt/VirtualBox/VBox.sh
+       fperms 0750 /opt/VirtualBox/VBox.sh
+
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+       dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
+
+       # set an env-variable for 3rd party tools
+       echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
+       doenvd "${T}/90virtualbox"
+
+       local udevdir="$(get_udevdir)"
+       insinto ${udevdir}/rules.d
+       doins "${FILESDIR}"/10-virtualbox.rules
+       sed "s@%UDEVDIR%@${udevdir}@" \
+               -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
+       # move udev scripts into ${udevdir} (bug #372491)
+       mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
+       fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
+}
+
+pkg_postinst() {
+       xdg_desktop_database_update
+
+       gnome2_icon_cache_update
+
+       udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
+
+       elog ""
+       if ! use headless ; then
+               elog "To launch VirtualBox just type: \"VirtualBox\""
+               elog ""
+       fi
+       elog "You must be in the vboxusers group to use VirtualBox."
+       elog ""
+       elog "For advanced networking setups you should emerge:"
+       elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+       elog ""
+       elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+       elog "an overview about the different features of ${PN}"
+       elog "and virtualbox-ose"
+       if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
+               elog ""
+               elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
+               elog "or else USB in ${PN} won't work."
+       fi
+}
+
+pkg_postrm() {
+       xdg_desktop_database_update
+}
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.0.16.135674.ebuild
new file mode 100644 (file)
index 0000000..d7fb148
--- /dev/null
@@ -0,0 +1,291 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
+       MY_PV="${MY_PV/beta/BETA}"
+       MY_PV="${MY_PV/rc/RC}"
+else
+       MY_PV="${MAIN_PV}"
+       KEYWORDS="~amd64" #~x86
+fi
+VBOX_BUILD_ID="$(ver_cut 4)"
+VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
+MY_P="VirtualBox-${VBOX_PV}-Linux"
+# needed as sometimes the extpack gets another build ID
+EXTP_PV="${VBOX_PV}"
+EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
+EXTP_P="${EXTP_PN}-${EXTP_PV}"
+# needed as sometimes the SDK gets another build ID
+SDK_PV="${VBOX_PV}"
+SDK_P="VirtualBoxSDK-${SDK_PV}"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+       https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
+       #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+
+LICENSE="GPL-2 PUEL"
+SLOT="0"
+IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
+RESTRICT="bindist mirror"
+
+if [[ "${PV}" != *beta* ]] ; then
+       SRC_URI+="
+               sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
+       IUSE+=" sdk"
+fi
+
+DEPEND="app-arch/unzip
+       ${PYTHON_DEPS}"
+
+RDEPEND="!!app-emulation/virtualbox
+       !app-emulation/virtualbox-additions
+       ~app-emulation/virtualbox-modules-${MAIN_PV}
+       !headless? (
+               dev-libs/glib
+               media-libs/fontconfig
+               media-libs/freetype
+               media-libs/libpng
+               media-libs/libsdl[X]
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXft
+               x11-libs/libXi
+               x11-libs/libXinerama
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               chm? ( dev-libs/expat )
+       )
+       dev-libs/libxml2
+       sys-fs/lvm2
+       x11-libs/libXau
+       x11-libs/libX11
+       x11-libs/libXt
+       x11-libs/libXmu
+       x11-libs/libSM
+       x11-libs/libICE
+       x11-libs/libXdmcp
+       ${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/VirtualBox/*"
+
+PYTHON_UPDATER_IGNORE="1"
+
+src_unpack() {
+       unpack_makeself ${MY_P}_${ARCH}.run
+       unpack ./VirtualBox.tar.bz2
+
+       mkdir "${S}"/${EXTP_PN} || die
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       unpack ${EXTP_P}.tar.gz
+       popd &>/dev/null || die
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               unpack VirtualBoxSDK-${SDK_PV}.zip
+       fi
+}
+
+src_configure() {
+       :;
+}
+
+src_compile() {
+       :;
+}
+
+src_install() {
+       # create virtualbox configurations files
+       insinto /etc/vbox
+       newins "${FILESDIR}/${PN}-config" vbox.cfg
+
+       if ! use headless ; then
+               newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+
+               # set up symlinks (bug #572012)
+               dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
+
+               local size ico icofile
+               for size in 16 24 32 48 64 72 96 128 256 ; do
+                       pushd "${S}"/icons/${size}x${size} &>/dev/null || die
+                       if [[ -f "virtualbox.png" ]] ; then
+                               doicon -s ${size} virtualbox.png
+                       fi
+                       for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+                               icofile="virtualbox-${ico}.png"
+                               if [[ -f "${icofile}" ]] ; then
+                                       doicon -s ${size} ${icofile}
+                               fi
+                       done
+                       popd &>/dev/null || die
+               done
+               doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
+               insinto /usr/share/pixmaps
+               newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
+       fi
+
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+       popd &>/dev/null || die
+       rm -rf "${S}"/${EXTP_PN}
+
+       insinto /opt/VirtualBox
+       dodir /opt/bin
+
+       doins UserManual.pdf
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               doins -r sdk
+       fi
+
+       if use additions; then
+               doins -r additions
+       fi
+
+       if use vboxwebsrv; then
+               doins vboxwebsrv
+               fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
+               fperms 0750 /opt/VirtualBox/vboxwebsrv
+               dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
+               newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+               newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+       fi
+
+       if use rdesktop-vrdp; then
+               doins rdesktop-vrdp
+               doins -r rdesktop-vrdp-keymaps
+               fperms 0750 /opt/VirtualBox/rdesktop-vrdp
+               dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
+       fi
+
+       if ! use headless && use chm; then
+               doins kchmviewer VirtualBox.chm
+               fowners root:vboxusers /opt/VirtualBox/kchmviewer
+               fperms 0750 /opt/VirtualBox/kchmviewer
+       fi
+
+       # This ebuild / package supports only py2.7.  When py3 comes is unknown.
+       # The compile phase makes VBoxPython2_7.so.
+       # py3 support would presumably require a binary pre-compiled by py3.
+       use python && doins VBoxPython.so
+
+       rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
+               vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
+               VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
+               webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
+               90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
+               VBoxPython?_*.so
+
+       if use headless ; then
+               rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
+       fi
+
+       doins -r *
+
+       # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
+       dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+       dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+       dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+       dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+       dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
+
+       local each
+       for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
+               fowners root:vboxusers /opt/VirtualBox/${each}
+               fperms 0750 /opt/VirtualBox/${each}
+               pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+       done
+       # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+       for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
+               fowners root:vboxusers /opt/VirtualBox/${each}
+               fperms 4750 /opt/VirtualBox/${each}
+               pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+       done
+
+       if ! use headless ; then
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               for each in VBox{SDL,Headless} ; do
+                       fowners root:vboxusers /opt/VirtualBox/${each}
+                       fperms 4510 /opt/VirtualBox/${each}
+                       pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+               done
+
+               dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
+               dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
+       else
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
+               fperms 4510 /opt/VirtualBox/VBoxHeadless
+               pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
+       fi
+
+       exeinto /opt/VirtualBox
+       newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
+       fowners root:vboxusers /opt/VirtualBox/VBox.sh
+       fperms 0750 /opt/VirtualBox/VBox.sh
+
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+       dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
+
+       # set an env-variable for 3rd party tools
+       echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
+       doenvd "${T}/90virtualbox"
+
+       local udevdir="$(get_udevdir)"
+       insinto ${udevdir}/rules.d
+       doins "${FILESDIR}"/10-virtualbox.rules
+       sed "s@%UDEVDIR%@${udevdir}@" \
+               -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
+       # move udev scripts into ${udevdir} (bug #372491)
+       mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
+       fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+
+       udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
+
+       elog ""
+       if ! use headless ; then
+               elog "To launch VirtualBox just type: \"VirtualBox\""
+               elog ""
+       fi
+       elog "You must be in the vboxusers group to use VirtualBox."
+       elog ""
+       elog "For advanced networking setups you should emerge:"
+       elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+       elog ""
+       elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+       elog "an overview about the different features of ${PN}"
+       elog "and virtualbox-ose"
+       if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
+               elog ""
+               elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
+               elog "or else USB in ${PN} won't work."
+       fi
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+}
diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-6.1.2.135662.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-6.1.2.135662.ebuild
new file mode 100644 (file)
index 0000000..2d743cb
--- /dev/null
@@ -0,0 +1,291 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
+       MY_PV="${MY_PV/beta/BETA}"
+       MY_PV="${MY_PV/rc/RC}"
+else
+       MY_PV="${MAIN_PV}"
+       KEYWORDS="~amd64" #~x86
+fi
+VBOX_BUILD_ID="$(ver_cut 4)"
+VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
+MY_P="VirtualBox-${VBOX_PV}-Linux"
+# needed as sometimes the extpack gets another build ID
+EXTP_PV="${VBOX_PV}"
+EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
+EXTP_P="${EXTP_PN}-${EXTP_PV}"
+# needed as sometimes the SDK gets another build ID
+SDK_PV="${VBOX_PV}"
+SDK_P="VirtualBoxSDK-${SDK_PV}"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
+       https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
+       #x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
+
+LICENSE="GPL-2 PUEL"
+SLOT="0"
+IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
+RESTRICT="bindist mirror"
+
+if [[ "${PV}" != *beta* ]] ; then
+       SRC_URI+="
+               sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
+       IUSE+=" sdk"
+fi
+
+DEPEND="app-arch/unzip
+       ${PYTHON_DEPS}"
+
+RDEPEND="!!app-emulation/virtualbox
+       !app-emulation/virtualbox-additions
+       ~app-emulation/virtualbox-modules-${MY_PV,,}
+       !headless? (
+               dev-libs/glib
+               media-libs/fontconfig
+               media-libs/freetype
+               media-libs/libpng
+               media-libs/libsdl[X]
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXfixes
+               x11-libs/libXft
+               x11-libs/libXi
+               x11-libs/libXinerama
+               x11-libs/libXrandr
+               x11-libs/libXrender
+               chm? ( dev-libs/expat )
+       )
+       dev-libs/libxml2
+       sys-fs/lvm2
+       x11-libs/libXau
+       x11-libs/libX11
+       x11-libs/libXt
+       x11-libs/libXmu
+       x11-libs/libSM
+       x11-libs/libICE
+       x11-libs/libXdmcp
+       ${PYTHON_DEPS}"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+S="${WORKDIR}"
+
+QA_PREBUILT="opt/VirtualBox/*"
+
+PYTHON_UPDATER_IGNORE="1"
+
+src_unpack() {
+       unpack_makeself ${MY_P}_${ARCH}.run
+       unpack ./VirtualBox.tar.bz2
+
+       mkdir "${S}"/${EXTP_PN} || die
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       unpack ${EXTP_P}.tar.gz
+       popd &>/dev/null || die
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               unpack VirtualBoxSDK-${SDK_PV}.zip
+       fi
+}
+
+src_configure() {
+       :;
+}
+
+src_compile() {
+       :;
+}
+
+src_install() {
+       # create virtualbox configurations files
+       insinto /etc/vbox
+       newins "${FILESDIR}/${PN}-config" vbox.cfg
+
+       if ! use headless ; then
+               newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
+
+               # set up symlinks (bug #572012)
+               dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
+
+               local size ico icofile
+               for size in 16 24 32 48 64 72 96 128 256 ; do
+                       pushd "${S}"/icons/${size}x${size} &>/dev/null || die
+                       if [[ -f "virtualbox.png" ]] ; then
+                               doicon -s ${size} virtualbox.png
+                       fi
+                       for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+                               icofile="virtualbox-${ico}.png"
+                               if [[ -f "${icofile}" ]] ; then
+                                       doicon -s ${size} ${icofile}
+                               fi
+                       done
+                       popd &>/dev/null || die
+               done
+               doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
+               insinto /usr/share/pixmaps
+               newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
+       fi
+
+       pushd "${S}"/${EXTP_PN} &>/dev/null || die
+       insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+       popd &>/dev/null || die
+       rm -rf "${S}"/${EXTP_PN}
+
+       insinto /opt/VirtualBox
+       dodir /opt/bin
+
+       doins UserManual.pdf
+
+       if [[ "${PV}" != *beta* ]] && use sdk ; then
+               doins -r sdk
+       fi
+
+       if use additions; then
+               doins -r additions
+       fi
+
+       if use vboxwebsrv; then
+               doins vboxwebsrv
+               fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
+               fperms 0750 /opt/VirtualBox/vboxwebsrv
+               dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
+               newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+               newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+       fi
+
+       if use rdesktop-vrdp; then
+               doins rdesktop-vrdp
+               doins -r rdesktop-vrdp-keymaps
+               fperms 0750 /opt/VirtualBox/rdesktop-vrdp
+               dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
+       fi
+
+       if ! use headless && use chm; then
+               doins kchmviewer VirtualBox.chm
+               fowners root:vboxusers /opt/VirtualBox/kchmviewer
+               fperms 0750 /opt/VirtualBox/kchmviewer
+       fi
+
+       # This ebuild / package supports only py2.7.  When py3 comes is unknown.
+       # The compile phase makes VBoxPython2_7.so.
+       # py3 support would presumably require a binary pre-compiled by py3.
+       use python && doins VBoxPython.so
+
+       rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
+               vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
+               VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
+               webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
+               90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
+               VBoxPython?_*.so
+
+       if use headless ; then
+               rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
+       fi
+
+       doins -r *
+
+       # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
+       dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
+       dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
+       dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
+       dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
+       dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
+
+       local each
+       for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
+               fowners root:vboxusers /opt/VirtualBox/${each}
+               fperms 0750 /opt/VirtualBox/${each}
+               pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+       done
+       # VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
+       for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
+               fowners root:vboxusers /opt/VirtualBox/${each}
+               fperms 4750 /opt/VirtualBox/${each}
+               pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+       done
+
+       if ! use headless ; then
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               for each in VBox{SDL,Headless} ; do
+                       fowners root:vboxusers /opt/VirtualBox/${each}
+                       fperms 4510 /opt/VirtualBox/${each}
+                       pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
+               done
+
+               dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
+               dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
+       else
+               # Hardened build: Mark selected binaries set-user-ID-on-execution
+               fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
+               fperms 4510 /opt/VirtualBox/VBoxHeadless
+               pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
+       fi
+
+       exeinto /opt/VirtualBox
+       newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
+       fowners root:vboxusers /opt/VirtualBox/VBox.sh
+       fperms 0750 /opt/VirtualBox/VBox.sh
+
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
+       dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
+       dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
+
+       # set an env-variable for 3rd party tools
+       echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
+       doenvd "${T}/90virtualbox"
+
+       local udevdir="$(get_udevdir)"
+       insinto ${udevdir}/rules.d
+       doins "${FILESDIR}"/10-virtualbox.rules
+       sed "s@%UDEVDIR%@${udevdir}@" \
+               -i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
+       # move udev scripts into ${udevdir} (bug #372491)
+       mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
+       fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
+}
+
+pkg_postinst() {
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+
+       udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
+
+       elog ""
+       if ! use headless ; then
+               elog "To launch VirtualBox just type: \"VirtualBox\""
+               elog ""
+       fi
+       elog "You must be in the vboxusers group to use VirtualBox."
+       elog ""
+       elog "For advanced networking setups you should emerge:"
+       elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+       elog ""
+       elog "Please visit http://www.virtualbox.org/wiki/Editions for"
+       elog "an overview about the different features of ${PN}"
+       elog "and virtualbox-ose"
+       if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
+               elog ""
+               elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
+               elog "or else USB in ${PN} won't work."
+       fi
+}
+
+pkg_postrm() {
+       xdg_icon_cache_update
+       xdg_desktop_database_update
+       xdg_mimeinfo_database_update
+}
index a75cb9e25af41423a14298a0798be808d9691946..e55a1bee4e37db780c875df06aa455ecf7bf11a8 100644 (file)
@@ -1,5 +1,8 @@
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
 DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.34-133893.tar.gz 26985633 BLAKE2B 718bb568a8819250f90d57d57115f84e09da5c2e29539a8585c6916fd794bf2715ea9fc340dc349dbabeab8674230bab2b311686bfb5d343b0a7bdb23578effc SHA512 b932768bbf652f29a4e4ded8e65b944da63b76a02206da77dddf2bf8504cb165c67e215d270cdb4d9ff81adc4a24c146ad9793e074b0cf4e3a3fe77619017716
+DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.12-133076.tar.gz 23160551 BLAKE2B 6174296d97f9e32a79f29e119804b15d288100017ea9da20235325f095e1d10a7ea5acf478d914b4a2e874da7640520691ad9a881228855b047f5c0c529ad120 SHA512 f7d4785ce8e53836cb4b87920765967cb3148ba09ee5921ab67fc4547d8a90923bfbb8a432d67ec6b878775fd67f1dbd826dcf993b57481f71d2f8a71ce13bfd
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.14-133895.tar.gz 23160651 BLAKE2B c140375bae78f4efe02744ac1b55c76e736eefe58e6adc9edf1fd232433cc572183590963789ab88490f56c6c95154a2755ef16f044b6948801d56ff63edea20 SHA512 fdeedfefeab884a546e7f477b28052c32ab2a2782a66b3afca1e56804552f54d310fbb5dcfd494e4bdb99e7fe1df5f9e4de5263a6db2dcaf9218002607f2967f
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.0-135406.tar.gz 10923164 BLAKE2B 8f09f2b0d6c290dffcdb8d1ee86a31b8ffa37653d198a3478cc96d2f276e6a0a359da82052fd53815509e2f4981279db237dd0287cf8bb78d7f92b747660975d SHA512 dd01cbaacf4dc606e83dfe964289718852e5d11fbb9f744ac19a5f525dd6c149ce292fa124336cede876e65aa32b1365b7f1601f102808dea4fe9f1d445a4657
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.2-135662.tar.gz 10925771 BLAKE2B dee75544489c467873c7cd46456be3ece0119d68947f05ac3f4163322b8023dfc9066377794d18b2662b34ff9adee11fa8afb70628e0b9014ee0b127ae0087c2 SHA512 0d86696179ccda05583fb0c876567751734904677e13bfdd8f922751dfe949bbd12753d31048fc5f32df75d89b6cb59a662c2d1f524582adab8eb90b10da1b23
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.36.135684.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.2.36.135684.ebuild
new file mode 100644 (file)
index 0000000..2fc240e
--- /dev/null
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5)"
+       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="bindist mirror strip"
+
+RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
+
+src_install() {
+       insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+}
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.16.135674.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.0.16.135674.ebuild
new file mode 100644 (file)
index 0000000..f47c45c
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
+       DEP_PV="${MY_PV}"
+       MY_PV="${MY_PV/beta/BETA}"
+       MY_PV="${MY_PV/rc/RC}"
+else
+       MY_PV="${MAIN_PV}"
+       DEP_PV="${MAIN_PV}"
+fi
+VBOX_BUILD_ID="$(ver_cut 4)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
+
+DESCRIPTION="PUEL extensions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
+
+LICENSE="PUEL"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+RESTRICT="bindist mirror strip"
+
+RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
+
+src_install() {
+       insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+}
diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.2.135662.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.2.135662.ebuild
new file mode 100644 (file)
index 0000000..80cbd84
--- /dev/null
@@ -0,0 +1,43 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit multilib
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+       MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
+       DEP_PV="${MY_PV}"
+       MY_PV="${MY_PV/beta/BETA}"
+       MY_PV="${MY_PV/rc/RC}"
+else
+       MY_PV="${MAIN_PV}"
+       DEP_PV="${MAIN_PV}"
+fi
+VBOX_BUILD_ID="$(ver_cut 4)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
+
+DESCRIPTION="PUEL extensions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
+
+LICENSE="PUEL"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE=""
+RESTRICT="bindist mirror strip"
+
+RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
+
+src_install() {
+       insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+       doins -r linux.${ARCH}
+       doins ExtPack* PXE-Intel.rom
+}
index 88650e4bb95803c2e0c1a7cb00c45692f2775a8a..ff05da6dfb281fdbca7b155c78ee427de6663c1e 100644 (file)
@@ -1,8 +1,14 @@
 DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
 DIST VirtualBox-5.2.34.tar.bz2 118268064 BLAKE2B 2ac0359e35012662e850e16e6ee74c4c00898a02eaa9a3dcf4299c444efaf56c17e02b33f165c37a22598ab3967169d32c03c383ca253aaaaa3d9d5bafc9b50f SHA512 a5f8771ddcdf2271006f2ce7de497cfb73cee46c51b0c761c9e79d03bbdf44441e3f1e4ce569967de5c33c469b7b664901c998ca9107acee7fe0ea83896bf0c2
+DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
 DIST VirtualBox-6.0.12.tar.bz2 154250538 BLAKE2B 1c0da29a1d4f4a9ce57280593b219d1fe507fa31dd419d5ef7e62fa8b76bc8b7b21a414edec79ce03b7b4471176e322cb5a0a592a7f61c1f6096c59ca16072ce SHA512 a2182750c6b7e2f7fe8548a923829c05167b739ad84ed025e6cfd85ce787aaa43d41c72c5a93f17e6b976561bae0aa538d81830c52c1d326b75f5a32ba3d441c
 DIST VirtualBox-6.0.14.tar.bz2 154236138 BLAKE2B 18cd508269b2a809ec03b5bacc197131ebd775354e16b9141573ddd037de9ba180e3186347e77067a1767169d2ab1e9ff21590a2702b7705c87cf326204d3424 SHA512 e1a64c6633987e178b368dc17e738c6fbef4ab262c574188819f1186bf33f38d8c5accd6a566279a12ccd3544bab4ee5a1f8dce7c8c56d7373489c5ff7f8556d
+DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
 DIST VirtualBox-6.1.0.tar.bz2 165322453 BLAKE2B ecd15bf1f454dd975562ce27fec9c87d266fcb509952492bd98e77101318149efbcf46b1e025157d569cf511e66b7b8d83dd0cfe5ff288b67010796064dd7685 SHA512 3709d54861e75efc5b4998bda82ebb868790228f4e19f5e64221322efd8f17916872afa89cc2494faa445fed9ae01ef97af16e4ad111a0a04552f0fac5db3618
+DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
 DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
 DIST virtualbox-5.2.34-patches-01.tar.xz 2960 BLAKE2B e62ab64939e9251a715b3b54b479bc51315acf561ce3d542a4b1358cefb2158353a046003cb0a62e78015f01b626719afb39590090662dd58bfc587bd63cb994 SHA512 25f402c0f96ac25c4d1afdf5d9fff60292caabd2af032a7e2f3e1f70e85bb24f03bbe3625b8bdb7618f77d2890e4c0b9fa7ade2eed590f6658361cca3db4a4b9
+DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
 DIST virtualbox-6.0.0_beta2-patches-01.tar.xz 2732 BLAKE2B a138e715d99f135f16ca21c92781bf6cd8913f7f766bb598eddcd63e98280e568e646f56bbd0a3714f273457ca90db0b77ec7940ba25028506a22891f1af7b2d SHA512 954e4b40d6e272efe756ee0965adb4110d45f764433a89080fda7ebaebbc20031f86a3e0027dfdaa1c6a7d6379a1af557cea71512504e4b57b5f5adbfc86b56e
+DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
+DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.36.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.2.36.ebuild
new file mode 100644 (file)
index 0000000..2678fa2
--- /dev/null
@@ -0,0 +1,229 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-mod systemd user toolchain-funcs
+
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P="VirtualBox-${MY_PV}"
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+RDEPEND="
+       X? ( x11-apps/xrandr
+               x11-apps/xrefresh
+               x11-libs/libXmu
+               x11-libs/libX11
+               x11-libs/libXt
+               x11-libs/libXext
+               x11-libs/libXau
+               x11-libs/libXdmcp
+               x11-libs/libSM
+               x11-libs/libICE )
+       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
+       dodoc "${FILESDIR}"/xorg.conf.vbox
+       docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
+
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_preinst() {
+       enewgroup vboxguest
+       enewuser vboxguest -1 /bin/sh /dev/null vboxguest
+       # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+       enewgroup vboxsf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       if ! use X ; then
+               elog "use flag X is off, enable it to install the"
+               elog "X Window System video driver."
+       fi
+       elog ""
+       elog "Please add users to the \"vboxguest\" group so they can"
+       elog "benefit from seamless mode, auto-resize and clipboard."
+       elog ""
+       elog "The vboxsf group has been added to make automount services work."
+       elog "These services are part of the shared folders support."
+       elog ""
+       elog "Please add:"
+       elog "/etc/init.d/${PN}"
+       elog "to the default runlevel in order to start"
+       elog "needed services."
+       elog "To use the VirtualBox X driver, use the following"
+       elog "file as your /etc/X11/xorg.conf:"
+       elog "    /usr/share/doc/${PF}/xorg.conf.vbox"
+       elog ""
+       elog "Also make sure you use the Mesa library for OpenGL:"
+       elog "    eselect opengl set xorg-x11"
+       elog ""
+       elog "An autostart .desktop file has been installed to start"
+       elog "VBoxClient in desktop sessions."
+       elog ""
+       elog "You can mount shared folders with:"
+       elog "    mount -t vboxsf <shared_folder_name> <mount_point>"
+       elog ""
+       elog "Warning:"
+       elog "this ebuild is only needed if you are running gentoo"
+       elog "inside a VirtualBox Virtual Machine, you don't need"
+       elog "it to run VirtualBox itself."
+       elog ""
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.16.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.0.16.ebuild
new file mode 100644 (file)
index 0000000..d62a598
--- /dev/null
@@ -0,0 +1,219 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-mod systemd user toolchain-funcs
+
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P="VirtualBox-${MY_PV}"
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.16-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
+       dodoc "${FILESDIR}"/xorg.conf.vbox
+       docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
+
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_preinst() {
+       enewgroup vboxguest
+       enewuser vboxguest -1 /bin/sh /dev/null vboxguest
+       # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+       enewgroup vboxsf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       if ! use X ; then
+               elog "use flag X is off, enable it to install the"
+               elog "X Window System video driver."
+       fi
+       elog ""
+       elog "Please add users to the \"vboxguest\" group so they can"
+       elog "benefit from seamless mode, auto-resize and clipboard."
+       elog ""
+       elog "The vboxsf group has been added to make automount services work."
+       elog "These services are part of the shared folders support."
+       elog ""
+       elog "Please add:"
+       elog "/etc/init.d/${PN}"
+       elog "to the default runlevel in order to start"
+       elog "needed services."
+       elog "To use the VirtualBox X driver, use the following"
+       elog "file as your /etc/X11/xorg.conf:"
+       elog "    /usr/share/doc/${PF}/xorg.conf.vbox"
+       elog ""
+       elog "Also make sure you use the Mesa library for OpenGL:"
+       elog "    eselect opengl set xorg-x11"
+       elog ""
+       elog "An autostart .desktop file has been installed to start"
+       elog "VBoxClient in desktop sessions."
+       elog ""
+       elog "You can mount shared folders with:"
+       elog "    mount -t vboxsf <shared_folder_name> <mount_point>"
+       elog ""
+       elog "Warning:"
+       elog "this ebuild is only needed if you are running gentoo"
+       elog "inside a VirtualBox Virtual Machine, you don't need"
+       elog "it to run VirtualBox itself."
+       elog ""
+}
diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.2.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.2.ebuild
new file mode 100644 (file)
index 0000000..f8665c2
--- /dev/null
@@ -0,0 +1,219 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-mod systemd user toolchain-funcs
+
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P="VirtualBox-${MY_PV}"
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.0_rc1-patches-01.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+RDEPEND="
+       X? ( x11-apps/xrandr
+               x11-apps/xrefresh
+               x11-libs/libXmu
+               x11-libs/libX11
+               x11-libs/libXt
+               x11-libs/libXext
+               x11-libs/libXau
+               x11-libs/libXdmcp
+               x11-libs/libSM
+               x11-libs/libICE )
+       sys-apps/dbus
+"
+DEPEND="
+       ${RDEPEND}
+       >=dev-util/kbuild-0.1.9998.3127
+       >=dev-lang/yasm-0.6.2
+       sys-devel/bin86
+       sys-libs/pam
+       sys-power/iasl
+       x11-base/xorg-proto
+"
+PDEPEND="
+       X? ( x11-drivers/xf86-video-vboxvideo )
+"
+BUILD_TARGETS="all"
+BUILD_TARGET_ARCH="${ARCH}"
+
+S="${WORKDIR}/${MY_P}"
+VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
+
+pkg_setup() {
+       export DISTCC_DISABLE=1 #674256
+       MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
+               vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
+       use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
+
+       linux-mod_pkg_setup
+       BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
+}
+
+src_prepare() {
+       # Remove shipped binaries (kBuild,yasm), see bug #232775
+       rm -r kBuild/bin tools || die
+
+       # Provide kernel sources
+       pushd src/VBox/Additions &>/dev/null || die
+       ebegin "Extracting guest kernel module sources"
+       kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
+       eend
+       popd &>/dev/null || die
+
+       # PaX fixes (see bug #298988)
+       pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
+       eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
+       popd &>/dev/null || die
+
+       # Disable things unused or splitted into separate ebuilds
+       cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+       use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
+
+       # Remove pointless GCC version check
+       sed -e '/^check_gcc$/d' -i configure || die
+
+       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
+       dodoc "${FILESDIR}"/xorg.conf.vbox
+       docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
+
+       systemd_dounit "${FILESDIR}/${PN}.service"
+}
+
+pkg_preinst() {
+       enewgroup vboxguest
+       enewuser vboxguest -1 /bin/sh /dev/null vboxguest
+       # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+       enewgroup vboxsf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       if ! use X ; then
+               elog "use flag X is off, enable it to install the"
+               elog "X Window System video driver."
+       fi
+       elog ""
+       elog "Please add users to the \"vboxguest\" group so they can"
+       elog "benefit from seamless mode, auto-resize and clipboard."
+       elog ""
+       elog "The vboxsf group has been added to make automount services work."
+       elog "These services are part of the shared folders support."
+       elog ""
+       elog "Please add:"
+       elog "/etc/init.d/${PN}"
+       elog "to the default runlevel in order to start"
+       elog "needed services."
+       elog "To use the VirtualBox X driver, use the following"
+       elog "file as your /etc/X11/xorg.conf:"
+       elog "    /usr/share/doc/${PF}/xorg.conf.vbox"
+       elog ""
+       elog "Also make sure you use the Mesa library for OpenGL:"
+       elog "    eselect opengl set xorg-x11"
+       elog ""
+       elog "An autostart .desktop file has been installed to start"
+       elog "VBoxClient in desktop sessions."
+       elog ""
+       elog "You can mount shared folders with:"
+       elog "    mount -t vboxsf <shared_folder_name> <mount_point>"
+       elog ""
+       elog "Warning:"
+       elog "this ebuild is only needed if you are running gentoo"
+       elog "inside a VirtualBox Virtual Machine, you don't need"
+       elog "it to run VirtualBox itself."
+       elog ""
+}
index 934b231da4592ba9a43bc1e2de4865a4d2501df6..2434020fe89f54ea2dbec46579e779daefd37f87 100644 (file)
@@ -1,5 +1,8 @@
 DIST vbox-kernel-module-src-5.2.32.tar.xz 642428 BLAKE2B 0dda5cb5608c1eed22bea209564d53c5f7eab58ca620db2cc441e3c1ba9ad66609c4ef13df07fd29b691f2941a070f9852e8729cd386081df6a82ede345f33c5 SHA512 fadedab690cb7dee8b9a6747ed711d924bf3bce8999b24e7b64cb8738c53c2fa7372b1a8e8535e7e4ef0235aec02d4a3f1f67cd07d7621934fab684c5163329e
 DIST vbox-kernel-module-src-5.2.34.tar.xz 642756 BLAKE2B 8a1dacc71b0c033130db84f46ab6029839e4c95cd20b6c982716fde9a83070f4597a9418ef2747c5b5714eafd5c1453c67eb1477104cd1185baf408301bc0226 SHA512 2feefa7867c664f1a1af04181e6db4cf2ab18e8a42dc57afe5fe13d35de889c2a88b79eb43642e024d99decfdd79c42891989158016edb09d5001783c4cb7ac3
+DIST vbox-kernel-module-src-5.2.36.tar.xz 643160 BLAKE2B 50f1aee4d56c8b78a5e7512cb843b4e36137c38b160ca0419b2061892f29a98edaa266afb8f94ee0952e4c8af57b41da24a7d70b43a5adf5c5a15b2a4ac867b9 SHA512 b8aa3e8de1573ac728dc00d85ffbb0c25cdb118af92f16f7a4c1a7d394526b8f3005aab1b4422af6251bdafb958c6dc86b31f13c1f35116c8ff39a9288aed277
 DIST vbox-kernel-module-src-6.0.12.tar.xz 669148 BLAKE2B 2291e3fcb9f049ce5657288151d182dfc9a3d6d6e8e1b32047e4b682f35e56f0a5bb5d3ad7efbc98082d2d1823aeb821099e9878b8a237322e8900fb2e2d65de SHA512 e9d8fcbfc076bf4e7d4dc5954e0c24509273c6358ee2de9ddfa87ea650b69fdc31d223595d610c1dd921efd6620ba5285f7f6a10170e90e706bf731e3629dc51
 DIST vbox-kernel-module-src-6.0.14.tar.xz 669396 BLAKE2B e2dc77f33176af16be0fcad8851dd42eb2b7b21da35dc434951e3300e45fec4b516741f6122ae43aed2ee332323221098f047b5206ca63eb7741925a40682728 SHA512 1bcc78dff3305bb7186cec2a844188411a62fe32d0581c4de21843ee513925d5dfc9bd4dedb3cc90f0e1c165c7ae6d856590cc359e36cc8605b164c2c9979380
+DIST vbox-kernel-module-src-6.0.16.tar.xz 669392 BLAKE2B 19e718097ee4da75c8dc3b565735f0a378d94547911ec89af52d8dccb36d67391a2f6700575c374552cd4fc4eb8a7e3d6618a800380e473429bd3759e0d1f9c0 SHA512 8979da4cba07c9095778864af0fd29c0acf10d71ea587819954a349e8c193a03b2268bf80dca9004803d8cf2a40974994fcd1f2c6e2ac657b5032f6c04977793
 DIST vbox-kernel-module-src-6.1.0.tar.xz 664268 BLAKE2B 9007242bdfcc407283d183132867bef8cfcf75960e7032f1541be39e33c15de68ae1f49c0022422d776fe0397c1411c62866990efb55fe29f9dce27bf7b95b71 SHA512 a5b9f740589ca09b4115275e01d0da7d68535a927550a57007b75726c715422724593f4debc2a123fb8de43a27e49b372aba3832f17dda3ecfd8813d440a0cff
+DIST vbox-kernel-module-src-6.1.2.tar.xz 664844 BLAKE2B 4fbdbac98558309c4dd1a25e44f061e2c7386c418f40b0da364914d58cf69048d9c3b1693fb75ce590c63280e79a124433ce7ff4f8f08e327ab67c5d55a163cf SHA512 f26e38a35b0cbf3ca51d98299ea2018641a35c17df5b1bc8a50352738afaafcc95efc9e61efc7d7406e203f3e514125b8afd8ed4406c190f82fe83934a042158
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.2.36.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.2.36.ebuild
new file mode 100644 (file)
index 0000000..0f31804
--- /dev/null
@@ -0,0 +1,59 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+#      package that comes from virtualbox-bin
+
+EAPI=7
+
+inherit linux-mod 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"
+MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
+MODULESD_VBOXDRV_ENABLED="yes"
+MODULESD_VBOXNETADP_ENABLED="no"
+MODULESD_VBOXNETFLT_ENABLED="no"
+# The following is a security measure that comes directly from usptream.
+# Do NOT remove this!!!
+MODULESD_VBOXPCI_ADDITIONS=(
+       "blacklist vboxpci"
+       "install vboxpci /bin/true"
+)
+
+pkg_setup() {
+       enewgroup vboxusers
+       linux-mod_pkg_setup
+       BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
+}
+
+src_prepare() {
+       if use pax_kernel && kernel_is -ge 3 0 0 ; then
+               eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
+       fi
+
+       default
+}
+
+src_install() {
+       linux-mod_src_install
+       insinto /usr/lib/modules-load.d/
+       newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.0.16.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.0.16.ebuild
new file mode 100644 (file)
index 0000000..732a710
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+#      package that comes from virtualbox-bin
+
+EAPI=7
+
+inherit linux-mod 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"
+MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
+MODULESD_VBOXDRV_ENABLED="yes"
+MODULESD_VBOXNETADP_ENABLED="no"
+MODULESD_VBOXNETFLT_ENABLED="no"
+# The following is a security measure that comes directly from usptream.
+# Do NOT remove this!!!
+MODULESD_VBOXPCI_ADDITIONS=(
+       "blacklist vboxpci"
+       "install vboxpci /bin/true"
+)
+
+pkg_setup() {
+       enewgroup vboxusers
+       linux-mod_pkg_setup
+       BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
+}
+
+src_prepare() {
+       if use pax_kernel && kernel_is -ge 3 0 0 ; then
+               eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
+       fi
+
+       default
+}
+
+src_install() {
+       linux-mod_src_install
+       insinto /usr/lib/modules-load.d/
+       newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.2.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.2.ebuild
new file mode 100644 (file)
index 0000000..1ebd524
--- /dev/null
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+#      package that comes from virtualbox-bin
+
+EAPI=7
+
+inherit linux-mod user
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE="pax_kernel"
+
+RDEPEND="!=app-emulation/virtualbox-9999"
+
+S="${WORKDIR}"
+
+BUILD_TARGETS="all"
+MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
+MODULESD_VBOXDRV_ENABLED="yes"
+MODULESD_VBOXNETADP_ENABLED="no"
+MODULESD_VBOXNETFLT_ENABLED="no"
+
+pkg_setup() {
+       enewgroup vboxusers
+       linux-mod_pkg_setup
+       BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
+}
+
+src_prepare() {
+       if use pax_kernel && kernel_is -ge 3 0 0 ; then
+               eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
+       fi
+
+       default
+}
+
+src_install() {
+       linux-mod_src_install
+       insinto /usr/lib/modules-load.d/
+       newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
+
+pkg_postinst() {
+       # Remove vboxpci.ko from current running kernel
+       find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
+       linux-mod_pkg_postinst
+}
index 3f7134ec1b60449ad21d37ca4fe0db9d3e1a310e..d6d8068bbd3129ad0d0b0cc9cb15d6c8fa2ec342 100644 (file)
@@ -1,10 +1,15 @@
 DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
 DIST VirtualBox-5.2.34.tar.bz2 118268064 BLAKE2B 2ac0359e35012662e850e16e6ee74c4c00898a02eaa9a3dcf4299c444efaf56c17e02b33f165c37a22598ab3967169d32c03c383ca253aaaaa3d9d5bafc9b50f SHA512 a5f8771ddcdf2271006f2ce7de497cfb73cee46c51b0c761c9e79d03bbdf44441e3f1e4ce569967de5c33c469b7b664901c998ca9107acee7fe0ea83896bf0c2
+DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
 DIST VirtualBox-6.0.12.tar.bz2 154250538 BLAKE2B 1c0da29a1d4f4a9ce57280593b219d1fe507fa31dd419d5ef7e62fa8b76bc8b7b21a414edec79ce03b7b4471176e322cb5a0a592a7f61c1f6096c59ca16072ce SHA512 a2182750c6b7e2f7fe8548a923829c05167b739ad84ed025e6cfd85ce787aaa43d41c72c5a93f17e6b976561bae0aa538d81830c52c1d326b75f5a32ba3d441c
 DIST VirtualBox-6.0.14.tar.bz2 154236138 BLAKE2B 18cd508269b2a809ec03b5bacc197131ebd775354e16b9141573ddd037de9ba180e3186347e77067a1767169d2ab1e9ff21590a2702b7705c87cf326204d3424 SHA512 e1a64c6633987e178b368dc17e738c6fbef4ab262c574188819f1186bf33f38d8c5accd6a566279a12ccd3544bab4ee5a1f8dce7c8c56d7373489c5ff7f8556d
+DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
 DIST VirtualBox-6.1.0.tar.bz2 165322453 BLAKE2B ecd15bf1f454dd975562ce27fec9c87d266fcb509952492bd98e77101318149efbcf46b1e025157d569cf511e66b7b8d83dd0cfe5ff288b67010796064dd7685 SHA512 3709d54861e75efc5b4998bda82ebb868790228f4e19f5e64221322efd8f17916872afa89cc2494faa445fed9ae01ef97af16e4ad111a0a04552f0fac5db3618
+DIST VirtualBox-6.1.2.tar.bz2 165400546 BLAKE2B 38eec6064896a250f4b7079f4bd52f23e43a6482d94bd8bba0a1102bd1cfaf00bd227f8dd2cc8382194c7d18509c6412440b8deb0d283e1e26550eb8a4cc96cc SHA512 476dedd9dd7a213bd70920f4cdf594b5336555f31e5becb15b5c01d88fa7bed917258831af31600514362384401fd7040cb748a7c76896e4a027bef05026b585
 DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
 DIST virtualbox-5.2.34-patches-01.tar.xz 2960 BLAKE2B e62ab64939e9251a715b3b54b479bc51315acf561ce3d542a4b1358cefb2158353a046003cb0a62e78015f01b626719afb39590090662dd58bfc587bd63cb994 SHA512 25f402c0f96ac25c4d1afdf5d9fff60292caabd2af032a7e2f3e1f70e85bb24f03bbe3625b8bdb7618f77d2890e4c0b9fa7ade2eed590f6658361cca3db4a4b9
+DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
 DIST virtualbox-6.0.0_beta2-patches-01.tar.xz 2732 BLAKE2B a138e715d99f135f16ca21c92781bf6cd8913f7f766bb598eddcd63e98280e568e646f56bbd0a3714f273457ca90db0b77ec7940ba25028506a22891f1af7b2d SHA512 954e4b40d6e272efe756ee0965adb4110d45f764433a89080fda7ebaebbc20031f86a3e0027dfdaa1c6a7d6379a1af557cea71512504e4b57b5f5adbfc86b56e
 DIST virtualbox-6.0.14-patches-01.tar.xz 2972 BLAKE2B 80f6c6774323add039675e4b372c824610ac312d01ff7de6ae546764e61e8b5cca7f96a6ed71c90337911dd4fa4ad7425072f453454358969d46f5acf2dff80a SHA512 38941fc8f09419f8a2ee251580c5b3cd5e4993db536b33f43ff1454d053e856ba4d0d96cee87f0399e5c63e6bbb930ab7c04ccedb13cef83db512cabb0592ee5
+DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
 DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42
diff --git a/app-emulation/virtualbox/virtualbox-5.2.36.ebuild b/app-emulation/virtualbox/virtualbox-5.2.36.ebuild
new file mode 100644 (file)
index 0000000..0b3a7ae
--- /dev/null
@@ -0,0 +1,496 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
+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.36-patches-01.tar.xz"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
+
+RDEPEND="!app-emulation/virtualbox-bin
+       ~app-emulation/virtualbox-modules-${PV}
+       dev-libs/libIDL
+       >=dev-libs/libxslt-1.1.19
+       net-misc/curl
+       dev-libs/libxml2
+       media-libs/libpng:0=
+       media-libs/libvpx:0=
+       media-libs/opus
+       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 )
+       udev? ( >=virtual/udev-171 )
+       vnc? ( >=net-libs/libvncserver-0.9.9 )
+       ${PYTHON_DEPS}"
+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 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.16.ebuild b/app-emulation/virtualbox/virtualbox-6.0.16.ebuild
new file mode 100644 (file)
index 0000000..2077729
--- /dev/null
@@ -0,0 +1,510 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
+inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=VirtualBox-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.16-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="
+       ${PYTHON_DEPS}
+       !app-emulation/virtualbox-bin
+       ~app-emulation/virtualbox-modules-${PV}
+       dev-libs/libIDL
+       >=dev-libs/libxslt-1.1.19
+       net-misc/curl
+       dev-libs/libxml2
+       media-libs/libpng:0=
+       media-libs/libvpx:0=
+       sys-libs/zlib:=
+       !headless? (
+               media-libs/libsdl:0[X,video]
+               x11-libs/libX11
+               x11-libs/libxcb:=
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXmu
+               x11-libs/libXt
+               opengl? ( virtual/opengl media-libs/freeglut )
+               qt5? (
+                       dev-qt/qtcore:5
+                       dev-qt/qtgui:5
+                       dev-qt/qtprintsupport:5
+                       dev-qt/qtwidgets:5
+                       dev-qt/qtx11extras:5
+                       opengl? ( dev-qt/qtopengl:5 )
+                       x11-libs/libXinerama
+               )
+       )
+       libressl? ( dev-libs/libressl:= )
+       !libressl? ( dev-libs/openssl:0= )
+       lvm? ( sys-fs/lvm2 )
+       opus? ( media-libs/opus )
+       udev? ( >=virtual/udev-171 )
+       vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+DEPEND="
+       ${CDEPEND}
+       alsa? ( >=media-libs/alsa-lib-1.0.13 )
+       !headless? ( x11-libs/libXinerama )
+       pam? ( sys-libs/pam )
+       pax_kernel? ( sys-apps/elfix )
+       pulseaudio? ( media-sound/pulseaudio )
+       qt5? ( dev-qt/linguist-tools:5 )
+       vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
+"
+BDEPEND="
+       ${PYTHON_DEPS}
+       >=dev-util/kbuild-0.1.9998.3127
+       >=dev-lang/yasm-0.6.2
+       sys-devel/bin86
+       sys-libs/libcap
+       sys-power/iasl
+       virtual/pkgconfig
+       doc? (
+               app-text/docbook-sgml-dtd:4.4
+               dev-texlive/texlive-basic
+               dev-texlive/texlive-latex
+               dev-texlive/texlive-latexrecommended
+               dev-texlive/texlive-latexextra
+               dev-texlive/texlive-fontsrecommended
+               dev-texlive/texlive-fontsextra
+       )
+       java? ( >=virtual/jdk-1.6 )
+"
+RDEPEND="
+       ${CDEPEND}
+       java? ( >=virtual/jre-1.6 )
+"
+
+QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
+       usr/lib/virtualbox/VBoxSDL.so
+       usr/lib/virtualbox/VBoxSharedFolders.so
+       usr/lib/virtualbox/VBoxDD2.so
+       usr/lib/virtualbox/VBoxOGLrenderspu.so
+       usr/lib/virtualbox/VBoxPython.so
+       usr/lib/virtualbox/VBoxDD.so
+       usr/lib/virtualbox/VBoxDDU.so
+       usr/lib/virtualbox/VBoxREM64.so
+       usr/lib/virtualbox/VBoxSharedClipboard.so
+       usr/lib/virtualbox/VBoxHeadless.so
+       usr/lib/virtualbox/VBoxRT.so
+       usr/lib/virtualbox/VBoxREM.so
+       usr/lib/virtualbox/VBoxSettings.so
+       usr/lib/virtualbox/VBoxKeyboard.so
+       usr/lib/virtualbox/VBoxSharedCrOpenGL.so
+       usr/lib/virtualbox/VBoxVMM.so
+       usr/lib/virtualbox/VirtualBox.so
+       usr/lib/virtualbox/VBoxOGLhosterrorspu.so
+       usr/lib/virtualbox/components/VBoxC.so
+       usr/lib/virtualbox/components/VBoxSVCM.so
+       usr/lib/virtualbox/components/VBoxDDU.so
+       usr/lib/virtualbox/components/VBoxRT.so
+       usr/lib/virtualbox/components/VBoxREM.so
+       usr/lib/virtualbox/components/VBoxVMM.so
+       usr/lib/virtualbox/VBoxREM32.so
+       usr/lib/virtualbox/VBoxPython2_7.so
+       usr/lib/virtualbox/VBoxXPCOMC.so
+       usr/lib/virtualbox/VBoxOGLhostcrutil.so
+       usr/lib/virtualbox/VBoxNetDHCP.so
+       usr/lib/virtualbox/VBoxNetNAT.so"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+       java? ( sdk )
+       python? ( sdk )
+       vboxwebsrv? ( java )
+       ${PYTHON_REQUIRED_USE}
+"
+
+pkg_pretend() {
+       if ! use headless && ! use qt5 ; then
+               einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
+       elif use headless && use qt5 ; then
+               einfo "You selected USE=\"headless qt5\", defaulting to"
+               einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+       fi
+
+       if ! use opengl ; then
+               einfo "No USE=\"opengl\" selected, this build will lack"
+               einfo "the OpenGL feature."
+       fi
+       if ! use python ; then
+               einfo "You have disabled the \"python\" USE flag. This will only"
+               einfo "disable the python bindings being installed."
+       fi
+}
+
+pkg_setup() {
+       java-pkg-opt-2_pkg_setup
+       python-single-r1_pkg_setup
+
+       tc-ld-disable-gold #bug 488176
+       tc-export CC CXX LD AR RANLIB
+       export HOST_CC="$(tc-getBUILD_CC)"
+}
+
+src_prepare() {
+       # Remove shipped binaries (kBuild,yasm), see bug #232775
+       rm -r kBuild/bin tools || die
+
+       # Replace pointless GCC version check with something less stupid.
+       # This is needed for the qt5 version check.
+       sed -e 's@^check_gcc$@cc_maj="$(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
+}
diff --git a/app-emulation/virtualbox/virtualbox-6.1.2.ebuild b/app-emulation/virtualbox/virtualbox-6.1.2.ebuild
new file mode 100644 (file)
index 0000000..fb112b9
--- /dev/null
@@ -0,0 +1,504 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
+inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=VirtualBox-${MY_PV}
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+       https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.0_rc1-patches-01.tar.xz"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
+
+CDEPEND="
+       ${PYTHON_DEPS}
+       !app-emulation/virtualbox-bin
+       ~app-emulation/virtualbox-modules-${PV}
+       dev-libs/libIDL
+       >=dev-libs/libxslt-1.1.19
+       net-misc/curl
+       dev-libs/libxml2
+       media-libs/libpng:0=
+       media-libs/libvpx:0=
+       sys-libs/zlib:=
+       !headless? (
+               media-libs/libsdl:0[X,video]
+               x11-libs/libX11
+               x11-libs/libxcb:=
+               x11-libs/libXcursor
+               x11-libs/libXext
+               x11-libs/libXmu
+               x11-libs/libXt
+               opengl? ( virtual/opengl media-libs/freeglut )
+               qt5? (
+                       dev-qt/qtcore:5
+                       dev-qt/qtgui:5
+                       dev-qt/qtprintsupport:5
+                       dev-qt/qtwidgets:5
+                       dev-qt/qtx11extras:5
+                       opengl? ( dev-qt/qtopengl:5 )
+                       x11-libs/libXinerama
+               )
+       )
+       libressl? ( dev-libs/libressl:= )
+       !libressl? ( dev-libs/openssl:0= )
+       lvm? ( sys-fs/lvm2 )
+       opus? ( media-libs/opus )
+       udev? ( >=virtual/udev-171 )
+       vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+DEPEND="
+       ${CDEPEND}
+       alsa? ( >=media-libs/alsa-lib-1.0.13 )
+       !headless? ( x11-libs/libXinerama )
+       pam? ( sys-libs/pam )
+       pax_kernel? ( sys-apps/elfix )
+       pulseaudio? ( media-sound/pulseaudio )
+       qt5? ( dev-qt/linguist-tools:5 )
+       vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
+"
+BDEPEND="
+       ${PYTHON_DEPS}
+       >=dev-util/kbuild-0.1.9998.3127
+       >=dev-lang/yasm-0.6.2
+       sys-devel/bin86
+       sys-libs/libcap
+       sys-power/iasl
+       virtual/pkgconfig
+       doc? (
+               app-text/docbook-sgml-dtd:4.4
+               dev-texlive/texlive-basic
+               dev-texlive/texlive-latex
+               dev-texlive/texlive-latexrecommended
+               dev-texlive/texlive-latexextra
+               dev-texlive/texlive-fontsrecommended
+               dev-texlive/texlive-fontsextra
+       )
+       java? ( >=virtual/jdk-1.6 )
+"
+RDEPEND="
+       ${CDEPEND}
+       java? ( >=virtual/jre-1.6 )
+"
+
+QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
+       usr/lib/virtualbox/VBoxSDL.so
+       usr/lib/virtualbox/VBoxSharedFolders.so
+       usr/lib/virtualbox/VBoxDD2.so
+       usr/lib/virtualbox/VBoxOGLrenderspu.so
+       usr/lib/virtualbox/VBoxPython.so
+       usr/lib/virtualbox/VBoxDD.so
+       usr/lib/virtualbox/VBoxDDU.so
+       usr/lib/virtualbox/VBoxREM64.so
+       usr/lib/virtualbox/VBoxSharedClipboard.so
+       usr/lib/virtualbox/VBoxHeadless.so
+       usr/lib/virtualbox/VBoxRT.so
+       usr/lib/virtualbox/VBoxREM.so
+       usr/lib/virtualbox/VBoxSettings.so
+       usr/lib/virtualbox/VBoxKeyboard.so
+       usr/lib/virtualbox/VBoxSharedCrOpenGL.so
+       usr/lib/virtualbox/VBoxVMM.so
+       usr/lib/virtualbox/VirtualBox.so
+       usr/lib/virtualbox/VBoxOGLhosterrorspu.so
+       usr/lib/virtualbox/components/VBoxC.so
+       usr/lib/virtualbox/components/VBoxSVCM.so
+       usr/lib/virtualbox/components/VBoxDDU.so
+       usr/lib/virtualbox/components/VBoxRT.so
+       usr/lib/virtualbox/components/VBoxREM.so
+       usr/lib/virtualbox/components/VBoxVMM.so
+       usr/lib/virtualbox/VBoxREM32.so
+       usr/lib/virtualbox/VBoxPython2_7.so
+       usr/lib/virtualbox/VBoxXPCOMC.so
+       usr/lib/virtualbox/VBoxOGLhostcrutil.so
+       usr/lib/virtualbox/VBoxNetDHCP.so
+       usr/lib/virtualbox/VBoxNetNAT.so"
+
+S="${WORKDIR}/${MY_P}"
+
+REQUIRED_USE="
+       java? ( sdk )
+       python? ( sdk )
+       vboxwebsrv? ( java )
+       ${PYTHON_REQUIRED_USE}
+"
+
+pkg_pretend() {
+       if ! use headless && ! use qt5 ; then
+               einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
+       elif use headless && use qt5 ; then
+               einfo "You selected USE=\"headless qt5\", defaulting to"
+               einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+       fi
+
+       if ! use opengl ; then
+               einfo "No USE=\"opengl\" selected, this build will lack"
+               einfo "the OpenGL feature."
+       fi
+       if ! use python ; then
+               einfo "You have disabled the \"python\" USE flag. This will only"
+               einfo "disable the python bindings being installed."
+       fi
+}
+
+pkg_setup() {
+       java-pkg-opt-2_pkg_setup
+       python-single-r1_pkg_setup
+
+       tc-ld-disable-gold #bug 488176
+       tc-export CC CXX LD AR RANLIB
+       export HOST_CC="$(tc-getBUILD_CC)"
+}
+
+src_prepare() {
+       # Remove shipped binaries (kBuild,yasm), see bug #232775
+       rm -r kBuild/bin tools || die
+
+       # Replace pointless GCC version check with something less stupid.
+       # This is needed for the qt5 version check.
+       sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
+               -i configure || die
+
+       # Disable things unused or split into separate ebuilds
+       sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+               "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+       # Respect LDFLAGS
+       sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
+               -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
+
+       # Do not use hard-coded ld (related to bug #488176)
+       sed -e '/QUIET)ld /s@ld @$(LD) @' \
+               -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+       # Use PAM only when pam USE flag is enbaled (bug #376531)
+       if ! use pam ; then
+               elog "Disabling PAM removes the possibility to use the VRDP features."
+               sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
+               sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
+                       src/VBox/HostServices/Makefile.kmk || die
+       fi
+
+       # add correct java path
+       if use java ; then
+               sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
+                       -i "${S}"/Config.kmk || die
+               java-pkg-opt-2_src_prepare
+       fi
+
+       # Only add nopie patch when we're on hardened
+       if gcc-specs-pie ; then
+               eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
+       fi
+
+       # Only add paxmark patch when we're on pax_kernel
+       if use pax_kernel ; then
+               eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
+       fi
+
+       eapply "${WORKDIR}/patches"
+
+       eapply_user
+}
+
+doecho() {
+       echo "$@"
+       "$@" || die
+}
+
+src_configure() {
+       local myconf=(
+               --with-gcc="$(tc-getCC)"
+               --with-g++="$(tc-getCXX)"
+               --disable-dbus
+               --disable-kmods
+               $(usex alsa '' --disable-alsa)
+               $(usex debug --build-debug '')
+               $(usex doc '' --disable-docs)
+               $(usex java '' --disable-java)
+               $(usex lvm '' --disable-devmapper)
+               $(usex opus '' --disable-libopus)
+               $(usex pulseaudio '' --disable-pulse)
+               $(usex python '' --disable-python)
+               $(usex vboxwebsrv --enable-webservice '')
+               $(usex vnc --enable-vnc '')
+       )
+       if ! use headless ; then
+               myconf+=(
+                       $(usex opengl '' --disable-opengl)
+                       $(usex qt5 '' --disable-qt)
+               )
+       else
+               myconf+=(
+                       --build-headless
+                       --disable-opengl
+               )
+       fi
+       if use amd64 && ! has_multilib_profile ; then
+               myconf+=( --disable-vmmraw )
+       fi
+       # not an autoconf script
+       doecho ./configure ${myconf[@]}
+}
+
+src_compile() {
+       source ./env.sh || die
+
+       # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+       MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
+       MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
+       MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+       MAKE="kmk" emake \
+               VBOX_BUILD_PUBLISHER=_Gentoo \
+               TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
+               TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
+               TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
+               TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
+               VBOX_GCC_OPT="${CXXFLAGS}" \
+               TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
+               all
+}
+
+src_install() {
+       cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+       local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
+
+       vbox_inst() {
+               local binary="${1}"
+               local perms="${2:-0750}"
+               local path="${3:-${vbox_inst_path}}"
+
+               [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
+               [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
+
+               insinto ${path}
+               doins ${binary}
+               fowners root:vboxusers ${path}/${binary}
+               fperms ${perms} ${path}/${binary}
+       }
+
+       # Create configuration files
+       insinto /etc/vbox
+       newins "${FILESDIR}/${PN}-4-config" vbox.cfg
+
+       # Set the correct libdir
+       sed \
+               -e "s@MY_LIBDIR@$(get_libdir)@" \
+               -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+       # Install the wrapper script
+       exeinto ${vbox_inst_path}
+       newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
+       fowners root:vboxusers ${vbox_inst_path}/VBox
+       fperms 0750 ${vbox_inst_path}/VBox
+
+       # Install binaries and libraries
+       insinto ${vbox_inst_path}
+       doins -r components
+
+       for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 iPxeBaseBin ; do
+               vbox_inst ${each}
+       done
+
+       # These binaries need to be suid root.
+       for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+               vbox_inst ${each} 4750
+       done
+
+       # Install EFI Firmware files (bug #320757)
+       for each in VBoxEFI{32,64}.fd ; do
+               vbox_inst ${each} 0644
+       done
+
+       # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
+       # VBoxXPCOMIPCD (bug #524202)
+       for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
+               pax-mark -m "${ED}"${vbox_inst_path}/${each}
+       done
+
+       # Symlink binaries to the shipped wrapper
+       for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
+               dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+       done
+       dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
+
+       if use pam ; then
+               # VRDPAuth only works with this (bug #351949)
+               dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
+       fi
+
+       # set an env-variable for 3rd party tools
+       echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+       doenvd "${T}/90virtualbox"
+
+       if ! use headless ; then
+               vbox_inst rdesktop-vrdp
+               vbox_inst VBoxSDL 4750
+               pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+               for each in vboxsdl VBoxSDL ; do
+                       dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+               done
+
+               if use qt5 ; then
+                       vbox_inst VirtualBox
+                       vbox_inst VirtualBoxVM 4750
+                       for each in VirtualBox{,VM} ; do
+                               pax-mark -m "${ED}"${vbox_inst_path}/${each}
+                       done
+
+                       if use opengl ; then
+                               vbox_inst VBoxTestOGL
+                               pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
+                       fi
+
+                       for each in virtualbox{,vm} VirtualBox{,VM} ; do
+                               dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+                       done
+
+                       insinto /usr/share/${PN}
+                       doins -r nls
+                       doins -r UnattendedTemplates
+
+                       domenu ${PN}.desktop
+               fi
+
+               pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+               for size in 16 32 48 64 128 ; do
+                       newicon -s ${size} ${PN}-${size}px.png ${PN}.png
+               done
+               newicon ${PN}-48px.png ${PN}.png
+               doicon -s scalable ${PN}.svg
+               popd &>/dev/null || die
+               pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
+               for size in 16 24 32 48 64 72 96 128 256 512 ; do
+                       for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+                               icofile="${PN}-${ico}-${size}px.png"
+                               if [[ -f "${icofile}" ]] ; then
+                                       newicon -s ${size} ${icofile} ${PN}-${ico}.png
+                               fi
+                       done
+               done
+               popd &>/dev/null || die
+       fi
+
+       if use lvm ; then
+               vbox_inst VBoxVolInfo 4750
+               dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
+       fi
+
+       if use sdk ; then
+               insinto ${vbox_inst_path}
+               doins -r sdk
+
+               if use java ; then
+                       java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+                       java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
+               fi
+       fi
+
+       if use udev ; then
+               # New way of handling USB device nodes for VBox (bug #356215)
+               local udevdir="$(get_udevdir)"
+               insinto ${udevdir}
+               doins VBoxCreateUSBNode.sh
+               fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
+               fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
+               insinto ${udevdir}/rules.d
+               sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
+                       > "${T}"/10-virtualbox.rules || die
+               doins "${T}"/10-virtualbox.rules
+       fi
+
+       if use vboxwebsrv ; then
+               vbox_inst vboxwebsrv
+               dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
+               newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+               newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+       fi
+
+       # Fix version string in extensions or else they don't get accepted
+       # by the virtualbox host process (see bug #438930)
+       find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
+               | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
+               || die
+
+       local extensions_dir="${vbox_inst_path}/ExtensionPacks"
+
+       if use vnc ; then
+               insinto ${extensions_dir}
+               doins -r ExtensionPacks/VNC
+       fi
+
+       if use dtrace ; then
+               insinto ${extensions_dir}
+               doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
+       fi
+
+       if use doc ; then
+               dodoc UserManual.pdf
+       fi
+
+       newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_preinst() {
+       xdg_pkg_preinst
+}
+
+pkg_postinst() {
+       xdg_pkg_postinst
+
+       if use udev ; then
+               udevadm control --reload-rules \
+                       && udevadm trigger --subsystem-match=usb
+       fi
+
+       tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
+
+       if ! use headless && use qt5 ; then
+               elog "To launch VirtualBox just type: \"virtualbox\"."
+       fi
+       elog "You must be in the vboxusers group to use VirtualBox."
+       elog ""
+       elog "The latest user manual is available for download at:"
+       elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
+       elog ""
+       elog "For advanced networking setups you should emerge:"
+       elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+       elog ""
+       elog "Starting with version 4.0.0, ${PN} has USB-1 support."
+       elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
+       elog "  app-emulation/virtualbox-extpack-oracle"
+       elog "package."
+       elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
+       elog "the \"extension\" USE flag. For installation of the guest additions ISO"
+       elog "image, please emerge"
+       elog "  app-emulation/virtualbox-additions"
+       elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
+       elog "  app-emulation/virtualbox-extpack-oracle"
+       if ! use udev ; then
+               elog ""
+               elog "WARNING!"
+               elog "Without USE=udev, USB devices will likely not work in ${PN}."
+       elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
+               elog ""
+               elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
+               elog "or else USB in ${PN} won't work."
+       fi
+}
+
+pkg_postrm() {
+       xdg_pkg_postrm
+}