From 0b1f53c54388382ff701d00d3f5eb981ed040f2a Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 28 Jul 2022 03:03:20 +0100 Subject: gentoo auto-resync : 28:07:2022 - 03:03:20 --- app-emulation/Manifest.gz | Bin 14812 -> 14807 bytes app-emulation/virtualbox-additions/Manifest | 2 + .../virtualbox-additions-6.1.36.ebuild | 31 + app-emulation/virtualbox-extpack-oracle/Manifest | 2 + .../virtualbox-extpack-oracle-6.1.36.ebuild | 41 ++ app-emulation/virtualbox-guest-additions/Manifest | 4 + .../files/vboxguest-6.1.36-log-use-c99.patch | 13 + .../virtualbox-guest-additions-6.1.36.ebuild | 280 +++++++++ app-emulation/virtualbox-modules/Manifest | 2 + .../virtualbox-modules-6.1.36.ebuild | 65 +++ app-emulation/virtualbox/Manifest | 4 + .../files/virtualbox-6.1.36-python3.10.patch | 16 + app-emulation/virtualbox/virtualbox-6.1.36.ebuild | 644 +++++++++++++++++++++ 13 files changed, 1104 insertions(+) create mode 100644 app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild create mode 100644 app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild create mode 100644 app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild create mode 100644 app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild create mode 100644 app-emulation/virtualbox/files/virtualbox-6.1.36-python3.10.patch create mode 100644 app-emulation/virtualbox/virtualbox-6.1.36.ebuild (limited to 'app-emulation') diff --git a/app-emulation/Manifest.gz b/app-emulation/Manifest.gz index 1140bf9b56b9..87f3132d7b6b 100644 Binary files a/app-emulation/Manifest.gz and b/app-emulation/Manifest.gz differ diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index ba32a734e262..cd724defc2c4 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,5 +1,7 @@ DIST VBoxGuestAdditions_6.1.32.iso 62388224 BLAKE2B e8e4addf5d3a61ff193fcccf185353aa4325ed3747f1bc9afb376276cd38857cc2a087e8c6872cef083ea4eeda20a0c29bac62263c378b6c608e5fb6424623a0 SHA512 268526eec6d07e69e3ab583a11211331c103db87162be045e0068ebd6beeda491e215ea6de6ca2aed10e4312dd9b2904ab315f05bad7041ba6787bfa61aeb6e9 DIST VBoxGuestAdditions_6.1.34.iso 61538304 BLAKE2B 7709ef735fafc7dcb78dba8ce77a5afbffbe23e9b83c46cd930519150a60eea7c9399075fde58c6f7be07adb82752352f5db7d9f59b3eb5fccc6c55cbdba36ee SHA512 a3b5977fe773bdc5d67bf9fbb529fb8f77e01a95af51a6681a1716ec300eb574e669bf9d57d0d1663c33440cce92b499efffbf5e468830d82e0c072ddc2d9d31 +DIST VBoxGuestAdditions_6.1.36.iso 63803392 BLAKE2B bcd795e4f4ed5b25542011370b0d0ede0a163c89df597d085d731627bf041a5bc8eb8d60c2041bfe1654986751e16bb382680ad487d90def2e8a7d9fab21dd24 SHA512 cf07e77ac882eb9cd6da39c6491f2536ac8c1e4bddb27e50bb6d1016ab7a291746cd59c6966c54ba007bb4cb79b82ebcfacec5984a6e7453f60ad167014542aa EBUILD virtualbox-additions-6.1.32.ebuild 772 BLAKE2B 6000f1bed33d03ef878d0fe5eab56add0d30f6c8c5304cd9c02350319a4dc5ac87a25cd66251ac329ba4be6c034629e92aa951b2a80d8f74c378d1bcd4a03b13 SHA512 870f6a6566d2bf68dc7f4a11aff124771c10e8adb67b4dac4d3c08e174555469d377e8db3d2f88209b96666484c5777c15a070ee2480e6fa63e38be6dc90f6e4 EBUILD virtualbox-additions-6.1.34.ebuild 772 BLAKE2B 6000f1bed33d03ef878d0fe5eab56add0d30f6c8c5304cd9c02350319a4dc5ac87a25cd66251ac329ba4be6c034629e92aa951b2a80d8f74c378d1bcd4a03b13 SHA512 870f6a6566d2bf68dc7f4a11aff124771c10e8adb67b4dac4d3c08e174555469d377e8db3d2f88209b96666484c5777c15a070ee2480e6fa63e38be6dc90f6e4 +EBUILD virtualbox-additions-6.1.36.ebuild 699 BLAKE2B 0893b9ed5284f8b713e828c670ad2a7929e0532f02e1226b97b791e1eb5d9e9cabd22c71360aa3f095f96ff3ef613141c0423a6ff39109588c8ec3448e0b4c83 SHA512 7c24e2216681f62d3f4cc125c26998bcaa04297de7d6e02b8e81d317995eda150813d6fbf4d9cac77b2a5c534cc5e3e710343c4ec128e4d7532d478c3621af4b MISC metadata.xml 415 BLAKE2B 9b88f53744c7399cfd98a2a06bd6a61f9e73214b6cf2c126936ffb608400b49a0328eeb1e226679ffd3b43a0d5dd6c353ea56df549b222a4ca851c0c34137ee9 SHA512 6206d0e6ab3dfdde8e022e630f8598b3ba167c0b532d1ea77f4666d83202ef721a9b07d47ebd1770d01b36e18e8adfc6027a337c4e0415008085c2d9f0495c23 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild new file mode 100644 index 000000000000..e989261fd89b --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.36.ebuild @@ -0,0 +1,31 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="" +RESTRICT="mirror" + +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-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 3f40616903b0..92702e264f7d 100644 --- a/app-emulation/virtualbox-extpack-oracle/Manifest +++ b/app-emulation/virtualbox-extpack-oracle/Manifest @@ -1,5 +1,7 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.32.tar.gz 11137804 BLAKE2B 376274d56ce61a9da785be0a3de63566bc39e9c7a2915a33ff7792173f7625c21d345da757e9963d9b1833124c3430523bc89ba0a0ed27b66a6d87a07d6d6602 SHA512 e7297a9fccd6c74a7986496da71bd6a0970bc53c49845b9bc44714ab04e90e9a4c427f1491f6ec287cdba87a93733de7849f5e78ab7f3ee1a127e8ac4ea20861 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.34.tar.gz 11137259 BLAKE2B 81709b2f3e67cafd9cffd80de2d07cfa5a64054b590455f7393ab701984b469b2677ecae8ba82aa812c17688a9212ef2ee97be6584bdefb1eb1a53643ba92d17 SHA512 ec41e31bff4bcb79d46957c8ee41e561c9e3a8932152633a16953add38f142e8ac4029bbbd67d72bdb64784819db2f52c4d66a9a7e8009435231c98d88676cc4 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.36.tar.gz 11231896 BLAKE2B 08872189b8be959e13f07b69635b08d41661841cc30bdea1bec73c8fc87f1e374e53658e160cd290b919465bad62ef633cdc79e11d477a6bf0b9a67ae8131f73 SHA512 98ba542fbe60848877c25cf8e8f252081e231687d8b4cc4324283e6e787c00cb83c0570379a50364ee239a10195b25740f9c2e0e559cec28b75f56717623df16 EBUILD virtualbox-extpack-oracle-6.1.32.ebuild 1064 BLAKE2B 63d4c01cf703966e7c9a98be5df8dd0b81b51ce7781e8014bb8e37585cb4e02401e113cc925d43b494562c13beecf080a107ea10b6a45a5186ce7b91cd93c11d SHA512 61063ee060f2a0352a66de441128c5f21b52f41149067f0f3f544e627e7c2b018e1dcc608b6c228e21323eecbc4ace9eada07bdd8b192d9f785289ebf9c593d7 EBUILD virtualbox-extpack-oracle-6.1.34.ebuild 1064 BLAKE2B 63d4c01cf703966e7c9a98be5df8dd0b81b51ce7781e8014bb8e37585cb4e02401e113cc925d43b494562c13beecf080a107ea10b6a45a5186ce7b91cd93c11d SHA512 61063ee060f2a0352a66de441128c5f21b52f41149067f0f3f544e627e7c2b018e1dcc608b6c228e21323eecbc4ace9eada07bdd8b192d9f785289ebf9c593d7 +EBUILD virtualbox-extpack-oracle-6.1.36.ebuild 1065 BLAKE2B 692e1eef70426e91903205198e6a46e90a8dc39e34ec7d5a095a98edb47419f71b7e35de75023bb3d9b5dd0b0e101b8bbb833bf2c895e5a35fd438b7230449e0 SHA512 242d3b0bd1ed0d988825acee325c36f2b1754a4281efcb8f6d0d026da8c69815a2d4e561b08558b5df352982ac1f52de9e566f05f381031a426876d3ee77c992 MISC metadata.xml 415 BLAKE2B 9b88f53744c7399cfd98a2a06bd6a61f9e73214b6cf2c126936ffb608400b49a0328eeb1e226679ffd3b43a0d5dd6c353ea56df549b222a4ca851c0c34137ee9 SHA512 6206d0e6ab3dfdde8e022e630f8598b3ba167c0b532d1ea77f4666d83202ef721a9b07d47ebd1770d01b36e18e8adfc6027a337c4e0415008085c2d9f0495c23 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild new file mode 100644 index 000000000000..10b24ce1fc11 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.36.ebuild @@ -0,0 +1,41 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +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/$(ver_cut 1-2)" +[[ "${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 +} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 543dca0fba30..58d61aa6fd08 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,5 +1,6 @@ AUX vboxclient.desktop 145 BLAKE2B c01f4c307cd965d271e19f31cab5f902126bdf49bd947329c9ffad4955665b142576438dd124bc323d540cb2f6229c722b2611d4ba405521432965d9d0bddd8f SHA512 90e2ff4b8a67120f7f3c116676c7553243a1bf3c9a76f71ef471bc556c4eee55953e6a5dde952688d4892d469149db8704a921a14755eea66b1789805fe3ca42 AUX vboxguest-6.0.6-log-use-c99.patch 282 BLAKE2B df1d521c39ab6b3fa421f866fd83545bfea972dbbb1a952ce6aa388845175a4a3f71bc1cd34151f537994713ad1144fb0497f1383ed116357e7971f02c38ada9 SHA512 31fc13e5bb6286f80fde312aeb7917f662addc5b889ca1aeafa4f3545bece46eccface3b94df01c25a33d60302a14b3ae5b1eef87f25a4eef9a9dd4a75b3d7cb +AUX vboxguest-6.1.36-log-use-c99.patch 288 BLAKE2B 7a869ea9c46d91b64e6f062173bce10db25581b2390dad517016eb35cdae0727579e374318afdf749c3118436c667dacaf670f93698894b972b3badc60a80a43 SHA512 c66d75e77d84f081095de91248f236606b5e0bcc50a5525918fce979c97d84dddf6d10fc2a21832db74b5ef632949d9dee8ec30b4f1ab05bcec1aa75da681971 AUX virtualbox-guest-additions-5-localconfig 937 BLAKE2B 4ad7e6520572ed5b3ee29c03b77fb1a4df5279e38929c4e6e446387f30eef9fd8f32b9f877db1074c0e28f9a461ec3114e7120f636e02ce41a72a81b1e69c62e SHA512 ccbc2db825060fd5044e42bf4e53271d6e64a7a400b09705230006367e696dd3bff384f1e4873bf2aedfec8e6fdc8f8ecc537cd5a1fe629727c2943371d13e40 AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e5de2ada767a06341f9259a9e491660e796640dd4a251fbbf85f66786b8ec829357aa51546e502ca99452fa998ce20031637 SHA512 e01579b0ce980517a7b9e163915977a58c73594cf4c8484d20941449b9a21a4346ab1bb031b248ee438b350fa23b4bc78a1d6e501986b329564a4df487f5d3ca AUX virtualbox-guest-additions-8.initd-r1 547 BLAKE2B 1b26fc26e95baa74d551f8a9cf62f698485d63a0487c4cc4fc9906b8ced191f078e2b794ef9db9488de9e92188c73812c16e37ff542f06e0d52a4dc62b631960 SHA512 81ccc8d3edd965feb55290cf1281a97a485f14fd1de07cd59479bd7746291d41abc45c2e7e209f17f7df057528be83c48f3e270b526e6b86d85c5ec4be2d3944 @@ -7,9 +8,12 @@ AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9 AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9 DIST VirtualBox-6.1.32.tar.bz2 165758238 BLAKE2B 24873d7cc8bd306ea3552fe75379fbe7be767c85406042344eb047ed31184c3357aea07dda5e15c275f5036ae63106ef1d2e6524b143bc645a6b5ba0016f1391 SHA512 8bf7af6b8b4d3ba90f0e91589cf26400648436eb9da6d31c1a760460bfe5eb7311ac3220b4c9a98ac50e559641d3d5f559134be65288821038255de1c2c7ce1e DIST VirtualBox-6.1.34.tar.bz2 165761216 BLAKE2B d3c8f7d3d6f408e4c4275c2b2815e92819c871359501ec4fa7212bf7cdc852613e2e4703d8650371097a5bc805efa04ea75bb03ab83d24a869a677555f6e22d5 SHA512 46d63a9fd9df76af654af59fab5cf555858bc2c4b5dc34e2378d85ae784e6380b6def4aab06909a9b5e114a7297269f90cfb2c3d8d6529b423d703afbad18c64 +DIST VirtualBox-6.1.36.tar.bz2 165685382 BLAKE2B 98dbb06450b9df650cb72493bcdea4b88fa9dd21f76d723fdc0bb2c1ab8266f67e972a7222dc9b5bd0d43754911710664bddace753995be025cf6bcc05a24ae5 SHA512 cc3b984a7da40c9bf14831808a2bc2bf7bf6821e53c25fa11cb4b4275feb1d4b0cb4a47d8a360b90c89e5a4038481efe8fe28ee22996dbefb6446761e88a8dec DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 +DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 EBUILD virtualbox-guest-additions-6.1.32-r1.ebuild 6280 BLAKE2B 68ef78d95ffbc6847b3a7d948848741e714c57788535c9ecd639b3969bdb28048b4075aef131d5614a3da51d1b603a30d6c9b7b289fd6ea8c912ed52de0613f4 SHA512 7a91705459852d2d53debaeaec17027ee12138926395c46181ffc603232775e16986a35a9e3d287b889e262f4ed7b115251f4e00b01677da51f9b1a325081ad9 EBUILD virtualbox-guest-additions-6.1.34-r1.ebuild 6282 BLAKE2B 696de6d8cf22409ddae78794d4d3d12f3d8cea49884d6317420baefceb3554354d63234fda6b20027293939aa4629e9d84cc241a343f0bb08a84c7a78d8db696 SHA512 37b29dedd36f3bc43753f910ba2dd57c36f84be2c097ca56c6c1b5b52523645d4a0ceff537716fbf673726009c5e2e40884023458275cc0ee3b2c5c9c00e1419 EBUILD virtualbox-guest-additions-6.1.34-r2.ebuild 7469 BLAKE2B affb2aeb74ed6ca588418c23ab2febb374ad7ecc532e056c12c6636f4d433e2eb3e59727a2b1cc6c57f0dea0dcbfa20e67260b95b44bc98c9c0cf5903eac93c4 SHA512 8154a867db0bf5da50f66dd4ba53af4586f3e8a90ba5c693c046bf38b2201082a518deb532947b0abcfe70420273bb5eed8c88657d4c6587580108836c22c57b EBUILD virtualbox-guest-additions-6.1.34-r3.ebuild 7668 BLAKE2B 331840fbcbf2aa2240fca277830150f6519731c5343e48becf0498d8e3ca6277bced1a99958c37569689eca95c640f8443000db3a1fdcf4e2cd9f393135805e8 SHA512 0c960875f24c56d1214aa4b020b21377c2ed8e8c9ccdb029b780dfb08297d122ecea7b9a58c53a2190d56864fbd6786d84509fdee694fc9abfdb2fae7b618ba1 +EBUILD virtualbox-guest-additions-6.1.36.ebuild 7704 BLAKE2B 01d1b7926be2f9181f2ca5b72beac93842515ffe49d05fdb98d4dec999aab51ddf7f6760885d641efebbc93b379bcf377810f0b5aa9626c2261e6e4ca95d72b1 SHA512 b502f136bc0674929d4c1a4de74891d7fa2e4bc11d28b754266eefc20c9359c8ea84550c92c6c0e71e269fe39eb289031f0af9ae8fc40b2ff76e23ef589d19e4 MISC metadata.xml 415 BLAKE2B 9b88f53744c7399cfd98a2a06bd6a61f9e73214b6cf2c126936ffb608400b49a0328eeb1e226679ffd3b43a0d5dd6c353ea56df549b222a4ca851c0c34137ee9 SHA512 6206d0e6ab3dfdde8e022e630f8598b3ba167c0b532d1ea77f4666d83202ef721a9b07d47ebd1770d01b36e18e8adfc6027a337c4e0415008085c2d9f0495c23 diff --git a/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch b/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch new file mode 100644 index 000000000000..41641f2336a5 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/298988 + +--- a/vboxguest/Makefile ++++ b/vboxguest/Makefile +@@ -149,7 +149,7 @@ + IN_MODULE \ + RT_WITH_VBOX \ + VBGL_VBOXGUEST \ +- VBOX_WITH_HGCM ++ VBOX_WITH_HGCM LOG_USE_C99 + ifeq ($(VBOX_KBUILD_TARGET_ARCH),amd64) + VBOXMOD_DEFS += VBOX_WITH_64_BITS_GUESTS + endif diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild new file mode 100644 index 000000000000..90faf81beab9 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild @@ -0,0 +1,280 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo linux-mod systemd toolchain-funcs udev + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P="${MY_PN}-${MY_PV}" +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${MY_PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64 ~x86" +IUSE="X" + +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist +RDEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + 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_PN}-${DIR_PV:-${PV}}" +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 +} + +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 + eend $? || die + popd &>/dev/null || die + + # PaX fixes (see bug #298988) + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die + eapply "${FILESDIR}"/vboxguest-6.1.36-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 + + # Respect LDFLAGS (bug #759100) + sed -i -e '/TEMPLATE_VBOXR3EXE_LDFLAGS.linux[ ]*=/ s/$/ $(CCLDFLAGS)/' Config.kmk + + # 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 + + eapply "${WORKDIR}/virtualbox-patches-${MY_PV}/patches" + eapply_user +} + +src_configure() { + tc-export AR CC CXX LD RANLIB + + # Build the user-space tools, warnings are harmless + local myconf=( + --with-gcc="$(tc-getCC)" + --with-g++="$(tc-getCXX)" + + --nofatal + --disable-xpcom + --disable-sdl-ttf + --disable-pulse + --disable-alsa + --target-arch=${ARCH} + --with-linux="${KV_OUT_DIR}" + --build-headless + ) + + # bug #843437 + # Respect LDFLAGS (bug #759100) + # Cannot use LDFLAGS here because they also get passed to $(LD) + cat >> LocalConfig.kmk <<-EOF || die + CFLAGS=${CFLAGS} + CXXFLAGS=${CXXFLAGS} + CCLDFLAGS=${LDFLAGS} + EOF + + edo ./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}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_ONLY_ADDITIONS=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + LD="$(tc-getCC)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_CXX="$(tc-getCXX)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + #TOOL_GXX3_LD_SYSMOD="$(tc-getCXX)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + TOOL_YASM_AS=yasm + ) + + MAKE="kmk" emake "${myemakeargs[@]}" + + # 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) + # Move this here for bug 836037 + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers" + 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-r1 ${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 + doins VBoxDRMClient + fperms 4755 /usr/bin/VBoxDRMClient + + 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_postinst() { + linux-mod_pkg_postinst + udev_reload + 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 " + 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 "" +} + +pkg_postrm() { + linux-mod_pkg_postrm + udev_reload +} diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index 733840f2812e..99aab7ef91c4 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -4,6 +4,8 @@ AUX virtualbox.conf 38 BLAKE2B 4f03cb09a1cca36013beb2a38220115d63510fd0aa63e2df1 AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a DIST vbox-kernel-module-src-6.1.32.tar.xz 675300 BLAKE2B fc843779ae9348203f2528009880e2d2dde65102c8be1837eb3a362e2703f9ecf54f7a10939318cbecbb41b4790a8b7d56c98ad82a4e83592b4c5491af0772b5 SHA512 e1c00be4fe2a0447c30ae0d380fc7a78fec1c3f52fb0cf0d20ccefcd174bf11097a91aa862ef8753be012e546a31555f5be9c1136cbaefc2240708b3adde7e5b DIST vbox-kernel-module-src-6.1.34.tar.xz 675236 BLAKE2B 45385b4e60f7f5da8ebd2bb20ebc706ec8ac48e698dc62740ead31bd77e059bfb2980a83f8781832fe8e5faaade88db97c73f25096724ae4f29aba6daf04f7a0 SHA512 313dda056cb5e4020bfc9bafca2d05ab628aa740d174b9457f860ce0cd8eccaf557798cbb5fc1efeb36dc0f1f0320034ee86e48da03b33779eda1093b50d6c64 +DIST vbox-kernel-module-src-6.1.36.tar.xz 678624 BLAKE2B b09a9f4281287dc3a356e2af77fa024f06f64db41eac10efe8cf2b4ab39df292fac13a75247bdfa8b22dc3fbbc3747d217651da11c4788cfd08a2b6d775bb4f7 SHA512 b00c99a2db57c78c538539afc900ffa1e4729727f39ed68565a18c3fcbc28080d1ca340ee16f45e5616f535ce38ba646020a5373acc124a15821287fa29ddd52 EBUILD virtualbox-modules-6.1.32.ebuild 1892 BLAKE2B ca266c5f8ef7d980b92052f98ef4a8c2d5f087325f88d8cbb0f324a765ebf2cdf1e304bac2544a21204b7cbafc74a1b9052ecae2edc8dcbf6c6a9a2f7623e377 SHA512 7d4fa4bd54f0fe527eca8d98bf09fa8983913ad2dd8d832643abb5933d2ad0b80eb69f5f2ee554ce41dd6d3bf65cf326a8ea7ae1f30253aa612cda9885390b49 EBUILD virtualbox-modules-6.1.34.ebuild 1892 BLAKE2B 5b6b3ffacf3dddf7113251b6a7e7f7b10249a3b384caf40a5c5612fff8fe7536aec8c632ca06ee3d0ccff788b1fac0a5f36f6fd5551b5886c057e695b430619f SHA512 6e0bcc667cd75f5ccb8eaa5cf188a64db6948fd256b33955b303ad1b585a46a77bd5de2ef2fccc9d18ab0a921a848e6f650fa802a154b2b071122e6acb8c4e83 +EBUILD virtualbox-modules-6.1.36.ebuild 1877 BLAKE2B 331631020f4440c7e008c21cfc634582785583c0198e796d0a4756349c2581d52e0e2aee69caf2ce850440f9c2754124d96b810206dfda1cf10e5a7cb8d75295 SHA512 0d3fedadd583dd16ccc0fc6fd06660339e87d7be5a7e97b40bdd9a52f7bfc23d29e7c56bc693bcef903958ad24a9d32bec34637b1d0e60da43ae206591d4c61e MISC metadata.xml 510 BLAKE2B df97f34230d3350b0f5272ddcb4d5a2ebca06520de69446d83d3a0fc422d1320c202f7fa1603731de14d30001fe92aef830706ccc90b692ca9a6d72eedb106eb SHA512 91e5d17c1f5cd04f08751e8b97bcee1461d32d0a0cda0ab6d9a8307731948b029585d4752c51177003f21396eacbf7cb4ced592b3802ece1d8f795902e1544e2 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild new file mode 100644 index 000000000000..d293415c5d91 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.36.ebuild @@ -0,0 +1,65 @@ +# Copyright 2022 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-*.run + +EAPI=8 + +inherit linux-mod toolchain-funcs + +MY_P="vbox-kernel-module-src-${PV}" +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://github.com/ceamac/virtualbox-modules-dist/releases/download/v${PV}/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0/$(ver_cut 1-2)" +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \ +KEYWORDS="~amd64" +IUSE="pax-kernel" + +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() { + 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" + if linux_chkconfig_present CC_IS_CLANG; then + ewarn "Warning: building ${PN} with a clang-built kernel is experimental." + + BUILD_PARAMS+=' CC=${CHOST}-clang' + if linux_chkconfig_present LD_IS_LLD; then + BUILD_PARAMS+=' LD=ld.lld' + if linux_chkconfig_present LTO_CLANG_THIN; then + # kernel enables cache by default leading to sandbox violations + BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir=' + fi + fi + fi +} + +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 +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 15ac43368ab9..8bf88a6c4a91 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -11,13 +11,17 @@ AUX virtualbox-6.1.34-python3.10.patch 686 BLAKE2B 708c4b70c50024dbbd200bdd2af51 AUX virtualbox-6.1.34-r3-python.patch 343 BLAKE2B 6eb68ba31ab57a1f2065a7d48ef75175f5c3ba45ff9514c1f1ece8f6f54c1d8fe907ca3a10e411bc6b4474cddb39224d54b4bf4cd7b57522b2ca499ce85061c8 SHA512 a22f46e82f163676a5c07b8010160444cc621f9d12ec1226a304ebdf0800f8f24174dec2fb5e8999ba51f574cd2d290af1c7b94b54ca8c2cd6abdad9025e7fea AUX virtualbox-6.1.34-r3-python3.10.patch 4187 BLAKE2B ccacd5649bccd0ed7810a411b55c19565387b0fa4dc32c7c416c8f080ff45fd4cb6fd6cc16f88b7198350a166ae1948b247b7546731842c7e69578c2aaf1b04b SHA512 eb8b38375bf7464656e09635f341a03aae6648bede0d95f93b0d9a579421165568dd2be667cca05e7a3eca8695f8ae4ee91e3f7f4ce5f0c28c2e828e29581902 AUX virtualbox-6.1.34-vboxr0.patch 1565 BLAKE2B ec47a42b7574def3ac3ca482db14cca96af855652b0ff11e4ef49cbc7ea2bec4e134b57e18df85b07d8a8f3efcd1d0fa69380cf32bf544781c6e14437f124a11 SHA512 3feb258993509e2bd3c13130fb227883960e6e3b3e14d146d04cb222c7323689902fcf581ff207ef70a985eaced02e303a6d93e55261db499f5c54eb3e007f57 +AUX virtualbox-6.1.36-python3.10.patch 855 BLAKE2B b6df3e3bf9d9c8d6cfc21a1a21373de02b98dc7178542bf7fe43499eaf77c98b95bcf51795e5c878e5433aec6557552407fd063d63a957450a3682cf0f423b77 SHA512 8e16ab0655909fd0301a4ff3fe70cd69787ad9d92d253888f6a05b8dc2172727e176ac3899b2efc4f50038b4f07b82df2252bceb05e2dc7b5a420302d0826e12 AUX virtualbox-ose-6-wrapper 3578 BLAKE2B c150e578212435268de3c5fb0eea701bc843ec2241dc3839d3d1e33604fc01f6bdff6ed0425ba6917072f652b8c29d0df9a550a92900ca13306fcd36521afbee SHA512 315d981f3e92f2e0134946f6bbb8ad4ea4228afb8f73aaed7feead59b3f55cef01cec4285a7fdaf30ce0931d8b69bda4698baebd63d11f2cd9dfe9d0591a0f40 AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171 DIST VirtualBox-6.1.32.tar.bz2 165758238 BLAKE2B 24873d7cc8bd306ea3552fe75379fbe7be767c85406042344eb047ed31184c3357aea07dda5e15c275f5036ae63106ef1d2e6524b143bc645a6b5ba0016f1391 SHA512 8bf7af6b8b4d3ba90f0e91589cf26400648436eb9da6d31c1a760460bfe5eb7311ac3220b4c9a98ac50e559641d3d5f559134be65288821038255de1c2c7ce1e DIST VirtualBox-6.1.34.tar.bz2 165761216 BLAKE2B d3c8f7d3d6f408e4c4275c2b2815e92819c871359501ec4fa7212bf7cdc852613e2e4703d8650371097a5bc805efa04ea75bb03ab83d24a869a677555f6e22d5 SHA512 46d63a9fd9df76af654af59fab5cf555858bc2c4b5dc34e2378d85ae784e6380b6def4aab06909a9b5e114a7297269f90cfb2c3d8d6529b423d703afbad18c64 +DIST VirtualBox-6.1.36.tar.bz2 165685382 BLAKE2B 98dbb06450b9df650cb72493bcdea4b88fa9dd21f76d723fdc0bb2c1ab8266f67e972a7222dc9b5bd0d43754911710664bddace753995be025cf6bcc05a24ae5 SHA512 cc3b984a7da40c9bf14831808a2bc2bf7bf6821e53c25fa11cb4b4275feb1d4b0cb4a47d8a360b90c89e5a4038481efe8fe28ee22996dbefb6446761e88a8dec DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123 +DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57 EBUILD virtualbox-6.1.32-r2.ebuild 14607 BLAKE2B 864c1c66961c1b04296580e87e62ec5d18f556f71857d120ebb6db5ce4d33005ab9769f698a902b6fb1028702ae686380337aed2500dedbd5ec3dabec8ea82ca SHA512 a65ad608a408c1ba38f0ae11f91167f0376c0777483f0bd4dc882e2da9144f2ac48f6a4f225eb8bb67bb369df5be38ffaa694e4e0a028bccaf26f7c92e6df887 EBUILD virtualbox-6.1.34-r1.ebuild 13699 BLAKE2B 01a96acd3f1e734536372baa60f0adca25d0153e5c7dc986ac51fa1bbd67a4e3e6fbf71a0b5865a5ab92f236e598c86dd4755c72e1a83ee95a44f714d6e0c877 SHA512 d647990d450c92d8eba46250e7a9f058c1f887fd0b0bc9b6223197973561a60bbef6f7e8133352baae034ae4014040bd325747644bc2eec286e56f71363ccab3 EBUILD virtualbox-6.1.34-r3.ebuild 14573 BLAKE2B 110221a46466f9f053b231424840c73a00b665ced4d597fa7807500d65e18b189a8b8336e827d3caf40af251c60ad8b379578a978b7f5cb3c3d81c0cb8ae4da4 SHA512 3bbfd336e3b6306b04137314df32767dead2ba4f1821f1213ea32e5b00ce80e5e4d83df5b2647d846d5f91f9ee1efd2678dd4bd1767adfc7edba2cee856ba0c5 EBUILD virtualbox-6.1.34-r6.ebuild 17645 BLAKE2B 0e54ea42b509301396b12aa95bd306d65f436367749d3668deb71f651cd5b0cfdfdfa38d879a5c3ba2f224d5a63dbf4aff833b9fcad60b1d906a17a58a720811 SHA512 2025d3687cfa697309b42a4daba5832e8c17beb17a5453a635ba1ab4b4bfd13641093a1f745c74e9811eac62bdd906c5e4bd42a79f03b89853f1556deb5a510c +EBUILD virtualbox-6.1.36.ebuild 17819 BLAKE2B 839fd78c73e4e483036fa98010b9013ee3ba4aaada77301f213df40266db9df8b34ad69ba3ddbfe75a6b858c022da269ca30037afb94cb275898bf0974012639 SHA512 3cb3e5ec9b0e1f6a744079cb18401f73b51e62f1c82b88615c66d34ae56735713feb20afa6f64a8b2386c580c4bdcb45da2fc0637ccb18ad82ca81fb2e532022 MISC metadata.xml 931 BLAKE2B bda8433410b0bf400bee4795ce53cd85554463417beec3d7f60fe5fe090317b2d75671a2c091718d4d57c5cc8c2961e0e93fbf9f6d70c652f812317ce4fc1b20 SHA512 0d7e309078a5b5c5cf891da6e8581fce8563e9014e822e9c99d6c7c62a88173b2536fe2554ea22f93965dfccd505543fe2022e6c064acc8d836ced0150fe491f diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.36-python3.10.patch b/app-emulation/virtualbox/files/virtualbox-6.1.36-python3.10.patch new file mode 100644 index 000000000000..90157ada7d96 --- /dev/null +++ b/app-emulation/virtualbox/files/virtualbox-6.1.36-python3.10.patch @@ -0,0 +1,16 @@ +https://github.com/archlinux/svntogit-community/blob/b103146beee8b7c70d04685033a8536aed2e5aea/trunk/002-python310.patch +https://github.com/archlinux/svntogit-community/blob/b103146beee8b7c70d04685033a8536aed2e5aea/trunk/003-pyunicode.patch + +https://www.virtualbox.org/changeset/90537/vbox +https://www.virtualbox.org/changeset/86623/vbox +--- a/src/libs/xpcom18a4/python/src/PyXPCOM.h ++++ b/src/libs/xpcom18a4/python/src/PyXPCOM.h +@@ -137,7 +137,7 @@ + # define PyInt_Check(o) PyLong_Check(o) + # define PyInt_AsLong(o) PyLong_AsLong(o) + # define PyNumber_Int(o) PyNumber_Long(o) +-# if PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ ++# if !defined(Py_LIMITED_API) && PY_VERSION_HEX <= 0x03030000 /* 3.3 added PyUnicode_AsUTF8AndSize */ + # ifndef PyUnicode_AsUTF8 + # define PyUnicode_AsUTF8(o) _PyUnicode_AsString(o) + # endif diff --git a/app-emulation/virtualbox/virtualbox-6.1.36.ebuild b/app-emulation/virtualbox/virtualbox-6.1.36.ebuild new file mode 100644 index 000000000000..19b363fc34f3 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-6.1.36.ebuild @@ -0,0 +1,644 @@ +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +# To add a new Python here: +# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic) +# Do NOT skip this part. It'll end up silently not-building the Python extension +# or otherwise misbehaving if you do. +# +# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python. +# +# May need to look at other distros (e.g. Arch Linux) to find patches for newer +# Python versions as upstream tends to lag. Upstream may have patches on their +# trunk branch but not release branch. +# +# See bug #785835, bug #856121. +PYTHON_COMPAT=( python3_{8..10} ) + +inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg + +MY_PN="VirtualBox" +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=${MY_PN}-${MY_PV} +[[ ${PV} == *a ]] && DIR_PV="$(ver_cut 1-3)" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="https://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2 + https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${MY_PV}.tar.bz2" +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}" + +LICENSE="GPL-2 dtrace? ( CDDL )" +SLOT="0/$(ver_cut 1-2)" +if [[ ${PV} != *_beta* ]] && [[ ${PV} != *_rc* ]] ; then + KEYWORDS="~amd64" +fi +IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc" + +unset WATCOM #856769 + +COMMON_DEPEND=" + ${PYTHON_DEPS} + acct-group/vboxusers + ~app-emulation/virtualbox-modules-${DIR_PV:-${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? ( + media-libs/libglvnd[X] + virtual/glu + ) + 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 + ) + ) + dev-libs/openssl:0= + virtual/libcrypt:= + lvm? ( sys-fs/lvm2 ) + opus? ( media-libs/opus ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 ) +" +# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport +# with USE="vboxwebsrv java". Note that we have to put things in DEPEND, +# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables +# based on *DEPEND doesn't work for BDEPEND at least right now. +# +# There's a comment in Config.kmk about it +# ("With Java 11 wsimport was removed, usually part of a separate install now.") +# but it needs more investigation. +# +# See bug #832166. +DEPEND=" + ${COMMON_DEPEND} + alsa? ( >=media-libs/alsa-lib-1.0.13 ) + !headless? ( + x11-libs/libXinerama + opengl? ( virtual/opengl ) + ) + java? ( virtual/jdk:1.8 ) + pam? ( sys-libs/pam ) + pax-kernel? ( sys-apps/elfix ) + pulseaudio? ( media-sound/pulseaudio ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) +" +BDEPEND=" + ${PYTHON_DEPS} + >=dev-util/kbuild-0.1.9998.3127 + >=dev-lang/yasm-0.6.2 + sys-apps/which + 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.8 ) + qt5? ( dev-qt/linguist-tools:5 ) +" +RDEPEND=" + ${COMMON_DEPEND} + java? ( virtual/jre:1.8 ) +" + +QA_FLAGS_IGNORED=" + usr/lib64/virtualbox/VBoxDDR0.r0 + usr/lib64/virtualbox/VMMR0.r0 +" + +QA_TEXTRELS=" + usr/lib64/virtualbox/VMMR0.r0 +" + +QA_EXECSTACK=" + usr/lib64/virtualbox/iPxeBaseBin + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/VBoxDDR0.r0 +" + +QA_WX_LOAD=" + usr/lib64/virtualbox/iPxeBaseBin +" + +QA_PRESTRIPPED=" + usr/lib64/virtualbox/VMMR0.r0 + usr/lib64/virtualbox/VBoxDDR0.r0 +" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +PATCHES=( + "${FILESDIR}"/${PN}-6.1.26-configure-include-qt5-path.patch # bug #805365 + + # This patch is needed to avoid automagic detection based on a hardcoded + # list of Pythons in configure. It's necessary but not sufficient + # (see the rest of the ebuild's logic for the remainder) to handle + # proper Python selection. + "${FILESDIR}"/${PN}-6.1.34-r3-python.patch + + # Patch grabbed from Arch Linux / upstream for Python 3.10 support + "${FILESDIR}"/${PN}-6.1.36-python3.10.patch + + # Downloaded patchset + "${WORKDIR}"/virtualbox-patches-${MY_PV}/patches +) + +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 +} + +src_prepare() { + default + + # 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 + + # Remove shipped binaries (kBuild, yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Replace pointless GCC version check with something more sensible. + # 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 + + if ! use pch ; then + # bug #753323 + printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \ + >> LocalConfig.kmk || die + fi + + # 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 + einfo "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 +} + +src_configure() { + tc-ld-disable-gold # bug #488176 + + #856811 turns out having march defined produces buggy executables + filter-flags -march=* -mtune=* -mcpu=* + + tc-export AR CC CXX LD RANLIB + export HOST_CC="$(tc-getBUILD_CC)" + + 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 + + # bug #843437 + cat >> LocalConfig.kmk <<-EOF || die + CXXFLAGS=${CXXFLAGS} + CFLAGS=${CFLAGS} + EOF + + # not an autoconf script + edo ./configure "${myconf[@]}" + + # Force usage of chosen Python implementation + # bug #856121, bug #785835 + sed -i \ + -e '/VBOX_WITH_PYTHON.*=/d' \ + -e '/VBOX_PATH_PYTHON_INC.*=/d' \ + -e '/VBOX_LIB_PYTHON.*=/d' \ + AutoConfig.kmk || die + + cat >> AutoConfig.kmk <<-EOF || die + VBOX_WITH_PYTHON=$(usev python 1) + VBOX_PATH_PYTHON_INC=$(python_get_includedir) + VBOX_LIB_PYTHON=$(python_get_library_path) + EOF + + if use python ; then + local mangled_python="${EPYTHON#python}" + mangled_python="${mangled_python/.}" + + # Stub out the script which defines what the Makefile ends up + # building for. gen_python_deps.py gets called by the Makefile + # with some args and it spits out a bunch of paths for a hardcoded + # list of Pythons. We just override it with what we're actually using. + # This minimises the amount of patching we have to do for new Pythons. + cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die + print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)") + print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)") + print("VBOX_PYTHONDEF_INC=$(python_get_includedir)") + print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)") + EOF + + chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die + fi +} + +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}" + + local myemakeargs=( + VBOX_BUILD_PUBLISHER=_Gentoo + VBOX_WITH_VBOXIMGMOUNT=1 + + KBUILD_VERBOSE=2 + + AS="$(tc-getCC)" + CC="$(tc-getCC)" + CXX="$(tc-getCXX)" + + TOOL_GCC3_CC="$(tc-getCC)" + TOOL_GCC3_LD="$(tc-getCC)" + TOOL_GCC3_AS="$(tc-getCC)" + TOOL_GCC3_AR="$(tc-getAR)" + TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GXX3_CC="$(tc-getCC)" + TOOL_GXX3_CXX="$(tc-getCXX)" + TOOL_GXX3_LD="$(tc-getCXX)" + TOOL_GXX3_AS="$(tc-getCXX)" + TOOL_GXX3_AR="$(tc-getAR)" + TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GCC3_CFLAGS="${CFLAGS}" + TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" + VBOX_GCC_OPT="${CXXFLAGS}" + VBOX_NM="$(tc-getNM)" + + TOOL_YASM_AS=yasm + ) + + if use amd64 && has_multilib_profile ; then + myemakeargs+=( + CC32="$(tc-getCC) -m32" + CXX32="$(tc-getCXX) -m32" + + TOOL_GCC32_CC="$(tc-getCC) -m32" + TOOL_GCC32_CXX="$(tc-getCXX) -m32" + TOOL_GCC32_LD="$(tc-getCC) -m32" + TOOL_GCC32_AS="$(tc-getCC) -m32" + TOOL_GCC32_AR="$(tc-getAR)" + TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)" + + TOOL_GXX32_CC="$(tc-getCC) -m32" + TOOL_GXX32_CXX="$(tc-getCXX) -m32" + TOOL_GXX32_LD="$(tc-getCXX) -m32" + TOOL_GXX32_AS="$(tc-getCXX) -m32" + TOOL_GXX32_AR="$(tc-getAR)" + TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)" + ) + fi + + MAKE="kmk" emake "${myemakeargs[@]}" 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} vboximg-mount *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 + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount + + 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 + local udevdir="$(get_udevdir)" + local udev_file="VBoxCreateUSBNode.sh" + local rules_file="10-virtualbox.rules" + + insinto ${udevdir} + doins ${udev_file} + fowners root:vboxusers ${udevdir}/${udev_file} + fperms 0750 ${udevdir}/${udev_file} + + insinto ${udevdir}/rules.d + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \ + > "${T}"/${rules_file} || die + doins "${T}"/${rules_file} + 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 + + # Remove dead symlinks (bug #715338) + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die + + # 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 + + if use python ; then + local mangled_python="${EPYTHON#python}" + mangled_python="${mangled_python/./_}" + + local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython${mangled_python}.so" + if [[ ! -x "${python_path_ext}" ]] ; then + eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python" + eerror "but none were installed. This may happen if support for a Python target" + eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles." + die "Incomplete installation of Python bindings! File a bug with Gentoo!" + fi + fi + + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf +} + +pkg_postinst() { + xdg_pkg_postinst + + if use udev ; then + udev_reload + udevadm trigger --subsystem-match=usb + fi + + tmpfiles_process 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 "https://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf" + elog "" + + optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities + optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle + optfeature "Guest additions ISO" app-emulation/virtualbox-additions + + if ! use udev ; then + ewarn "Without USE=udev, USB devices will likely not work in ${PN}." + fi +} + +pkg_postrm() { + xdg_pkg_postrm + + use udev && udev_reload +} -- cgit v1.2.3