diff options
21 files changed, 2591 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest index 64e2984334df..2df30372d033 100644 --- a/app-emulation/virtualbox-additions/Manifest +++ b/app-emulation/virtualbox-additions/Manifest @@ -1,5 +1,7 @@ DIST VBoxGuestAdditions_5.0.16.iso 60063744 SHA256 8190f1e4031f8195971c2a97d2d3b1cf2d86fc83219f750d05cee9255c7dad85 SHA512 8a9d3fcb96a450163f357b92f8149f58700ec65c127fb872b103554417979fbe624a9e1bced3bb6cbf4b0bb6a5c3bbcae9581836cc5d3fde7a034d4032e519f9 WHIRLPOOL 89ed9064014a715a892388b5dbe3c4b577a5a813580be4fd2bd604672354f258b00a619980ba1369aeaceff6a77c6d370cc2b6bf3c17d2cd73a5c8fc9dcad1e8 DIST VBoxGuestAdditions_5.0.32.iso 58433536 SHA256 4d60a243373ce2b61fe26bcaeb9e300482b16c3407c4c94f02a16f8fd0539319 SHA512 ffae693070a7b401792f67318e3389ec78079634a84834b874bf076400ffeb2f35f3e0b219186a8e51bd969db71285544d12b30c34a076659df45fabde2577b6 WHIRLPOOL e95b286dbb601877814ead39dbf3d0b694005d88d9c45f793ed207f1a27a75aab832a35fc03d0d94a625c7792f194dfefb0d412103a5d7ae5336cdf8381bf902 DIST VBoxGuestAdditions_5.0.36.iso 58433536 SHA256 285409ba6990fa105e451bfc3afe8af12185fdce03e8c3c9f864ae5ee3730a21 SHA512 86d69b1a2d9b88a5f273798258cc61882bd10db847fbbc31e79e6b1d57caf9ab8d40b9292c30dae5c8c3d4336b51787534e0c4627511b282677f99aac31bc7c0 WHIRLPOOL 82df32088b914d3f6db551c59a9f3d56f8c6a172543eb0dc7b110368b967743f7a948fa4a144a7483e2e545942af607d6bbc8e47fdaac60c335c64baa83a3e1e +DIST VBoxGuestAdditions_5.0.38.iso 58468352 SHA256 5cc053a8a82cc6280b2ff813d7c8c793a8d75511af21408c847eae21d4efff1b SHA512 576d2f9c1700ad7c79e6e5d2439b805cf41e27b6db6a08435940b83d790a1cfca59487ca9c3e6d40cc75607e80721c57de85aba1c19c31782f0f3f81927851af WHIRLPOOL d7817a4cf8a09ddeea074ff254bd29285e13a3b8cc505d9fba50e41e27d17392ea7ab6d55e2b17fabf784a742fcb101b9a0d77375544d49683612c4d97c0eaed DIST VBoxGuestAdditions_5.1.16.iso 59375616 SHA256 2a327e31d5f6283d6dbdc9b32cb586848740fbefa49d96664fe463f88828cfab SHA512 a19a43030d1f624d849f418029e5b8baf931a31e404cc88406d69a0a2a309762222774c5b1c44752e4cc231047a6bb2b386447d8b78d3848f85eff7c02b0e774 WHIRLPOOL 8ca7ce9899e588301bc7f39cdf3bb3233c994b387736cfdee0513fc5a53a69814999b94d1b53ac59488373888567402e738a5509d5b287cc554d0bc51491c0a6 DIST VBoxGuestAdditions_5.1.18.iso 59381760 SHA256 f2951b49f48a560fbc1afe9d135d1f3f82a3e158b9002278d05d978428adca8a SHA512 4b96a69e104cbc666b2f58a9da524b9002f56d79d37bac299948619c8f41a3796e9e41c1c395c51bd3ea1f0aa406852cc1cf48d40cffaf55e0d7508df44b9c46 WHIRLPOOL 7fa55a76c356ba468280d19cf4bbd00eabcd27ad990bcb86385b445b2e2fd551e1544ad09190d0daa4a6fdfc282c9eb6624f2a7a4f87af42c969a258f3fa71f2 +DIST VBoxGuestAdditions_5.1.20.iso 59424768 SHA256 8f1aa5ffda9f9cfb1dd5faa1fafd909763a1f6204cce2045e0912a2583ba75e9 SHA512 87e484451d5dcf326a435289b8e1f73eca40fd7a7862318b2f2c7620acf9667f6b8a8e6c950ac5323b526e27e8bb5eac8f4f3ac8589865b74fc491db5f6aa797 WHIRLPOOL b678fabcc312c8f0d10945ee378aa6f992ce7b382fb00b5a03ec0cffc43672a5706914ae7ac98fdde44065e2c0db6ba6217aec0f0d9a2c2beabe19d43974cfeb diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-5.0.38.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.38.ebuild new file mode 100644 index 000000000000..967492859a76 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.0.38.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +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="http://www.virtualbox.org/" +SRC_URI="http://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-5.1.20.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-5.1.20.ebuild new file mode 100644 index 000000000000..967492859a76 --- /dev/null +++ b/app-emulation/virtualbox-additions/virtualbox-additions-5.1.20.ebuild @@ -0,0 +1,35 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils + +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="http://www.virtualbox.org/" +SRC_URI="http://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-bin/Manifest b/app-emulation/virtualbox-bin/Manifest index 827c0dcfdb5b..0196f9b03551 100644 --- a/app-emulation/virtualbox-bin/Manifest +++ b/app-emulation/virtualbox-bin/Manifest @@ -1,20 +1,28 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.16-105871.tar.gz 16896587 SHA256 c234e158c49f4f92c38e41918c117d756a81236ff1030a896e44faf88284ecc7 SHA512 39a7c6726e57c89a970e771f80369617c95e154498174deed025ca953e85197981215dd1250317285213a8e9bf6b7140e06311bd6df464613bfe90a37ef1c3c8 WHIRLPOOL 8bdf4a499e8d2d463249fb98ea35ee3a91d81004418e171396c0a26d91f3de9eda6fe632a1d85df58e1de1c32c5c939a365277ad836c685f83600277bd7282bf DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.32-112930.tar.gz 18966317 SHA256 3a0c45eb2471566787def7d73f8c01b03a806e5b2042c21911c2142dafdf9a44 SHA512 138b1ee971f396cdde58874c220e9e1d791561dad4e5a5cf14e8bc7aca40d851e3017ef179645cc235c0cf2848dc5e4f500a0ef8865c997371043bf02836acbc WHIRLPOOL 27733c658f1a6cbe31950b89e51b5a18dc5deeaac3a907e302e041e1aa2bea5b013fde83e4c6b7d5c120a022ce4d89355fc54cac9fe7a79ee716c011c638fd3d DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.36-114008.tar.gz 19050365 SHA256 160765cc0375a1901ff18f887ee8469d5175257b036e81da59ba0b8278da8d4d SHA512 f65b08a69b83b64eef7e72f3b9cecab054cf0232d0578b36388f33c50e7f96c4c05b1b673f146c4894824099030740eb821eecc2982d64fd3d8b6d370b7dea12 WHIRLPOOL 0e1361ae7edc7d6e0f9e4d215ed8286235ec7fac6b9c5dda6c0f6a452def67b9f82ee30ae87d8b71376cba984986c69fc9d41c1f8a026e7c19c1172e43e62cd5 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.38-114632.tar.gz 19050467 SHA256 92933bbbe483f517bf5d5b6b661432c926fe24c1360ad63c15172d7ba08f980a SHA512 59e7fba83a7033d893c56b343f40cc1047732a84e6772a60321cd01e21459c7c2b797bc8ac3f856f447419e805b153b7d14d5743c8e0a2a47207ff6808a0c05d WHIRLPOOL 40c30f57c9881bd05b4dcff41af865a3e280fef1ccd97ea00701b34d4511f87e2cb1e6c31fbadba95dd416ddc8fa37c6598ffd950c354d2b227ca2abbbe8e152 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.16-113841.tar.gz 19559112 SHA256 a838711616bf015be192c99b2282731321d062ea061a51bd78676ed47b1fc709 SHA512 5482194ee33d405b34426b83bfe31d3ff8de5c90d8aca4a49805d796b5dc782e3d769d6eea85318f60b8943afea094cb01fae8ebaee886a3132789f334a7b759 WHIRLPOOL 1badb7d1dc6a147106befc9e50e3a76525693643d8ed8b616dc9f9435c99e4679a170fa2e22b12b45260aba8ca64e8ca8465800b730b990abe0868928d312043 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.18-114002.tar.gz 19558758 SHA256 996f783996a597d3936fc5f1ccf56edd31ae1f8fb4d527009647d9a2c8c853cd SHA512 2e034440d3e29592383c4b15e594ddee8cf319cb67a7c6a4f2df277ccfbd82ee7d7e010ca0a123db9d1876053dfd4729184749dae079f8211a58a21d4fb74b4e WHIRLPOOL 0a0464ac902c98dcf6e4ee432eda3a0b174aea5489952a26338b18ee431e2859e709f2b2a9c72bd3dd842f495f1d02c7627430462a5e2374773062159c243301 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.20-114628.tar.gz 19559512 SHA256 51e85e3792a5a435d88368a52a363321acdd913f4fb3c55cd623911d447ad148 SHA512 177f22d9667b469329ec8bfc39bc5ec3acec5f00559f89d44755ab37f06ce3955aeb1f7dc4dc8ac78f5b6d3c3220baa0125c88b1eff4ebfc442e7af52055a6e2 WHIRLPOOL 9c9d2d58e1469f814b87251722f3a6337e029c97d68c3f66e983816904df007bd71d5b94aefdf0074cf328dc4049b9123833a352ad05b723c80b97f441c93cb2 DIST VirtualBox-5.0.16-105871-Linux_amd64.run 85913042 SHA256 2fc30af485c67162a8f1fafb5a0d9c6cbab4dc17ec362e6d8d2487071b4daa47 SHA512 706159c25ad144a489d7519dcc5a9fa6ee47415bac8fc48bb56fbbe72953f5e65fcdf9d045fbe686520ea676dbf511a19208adfd81f199c804e1b632de581f6b WHIRLPOOL 298235fe47a08136232916b990675b4b26dbab7155fd00c82d2405170fd7d255cfa5f93c07a13a89cdc0a129662f3a14d3386be17e11c02bbd3a564de554bcf3 DIST VirtualBox-5.0.16-105871-Linux_x86.run 84909518 SHA256 46421f6ebed4de2466d32193597fbcfe71c2a89c5fd5ac1493856b509d6259e1 SHA512 a16e5a9ee4c643985d48c6ac8e7224074dd2a775bf05b9ef712fff898962493a2126bb1ced20b5ec525ddd86d0ce6c42c06e286f03758aad5d39d58b87db51a8 WHIRLPOOL dbc4af908d3e2879388426defd733539f3bbff10a4f957858f42ae7c328a5cbd0480667b50777a69e860be475d8c66a392badb79503d9f22c267688edc6a1e4e DIST VirtualBox-5.0.32-112930-Linux_amd64.run 84387282 SHA256 c5bf59227730855c3f56d4e4f755528ad27d2f5f01bd12791f5b4490364540bf SHA512 22f50362d4b611a55d331d5104b81cbea5e80515c8e992b6ad3f834f80d106fb0d055ce0e534878ad2eeb899b4fef8ec5149bea8c48dce3109685c16ede55f44 WHIRLPOOL 9eb268d9eb69bed9ed4dba0ff0c20c119a9d70d2ae4151d6d2f4c29c300e884c1cbe0f9d356d4053ec069169d5851272f9de620eff8c680d7e1a75a49f5e3896 DIST VirtualBox-5.0.32-112930-Linux_x86.run 83690958 SHA256 f735bcdb7a93c7b794d610970e537dd4961e1a34453d124a472de10e816aa356 SHA512 cf57024ccc9f306f0108ad3b2ce4d29fa960bafdbdbdcc7bde34094a07e8a62b6f361e7cb77b8d3bb58bb31763b19397c2a0f8fe958600261e8adddab8e9b0b8 WHIRLPOOL 973c2c6b2c71c60ecacfae47b922ed32bdfaa249a08e0c49b3d540031ed3aaa63d5a67da7dccbb9ae24e4b49420b1f6aa85cc7662c9c42333c318e7f1e47cb03 DIST VirtualBox-5.0.36-114008-Linux_amd64.run 84438481 SHA256 75699013f4204bdc0fa6d0198e53fa98ca3fe1256cd1ce2b799296a610473da8 SHA512 57d5c6942ffcc35cececce54e38e0192950d9a26532dffc40fe8fb31662e6bb2b9c7503599444adf538e9f99aa943caa1357e67994c2407e63a6e1967f36cf97 WHIRLPOOL 45929bf9013c6d7adb7239d4030b6dcc5844e4ebed72115184dd230dee792447ae1ac74a6bb73bd92708cc714c5ef39924af0ede485bb92cd614a00567115817 DIST VirtualBox-5.0.36-114008-Linux_x86.run 83742157 SHA256 cef216f8bf09379cdcd5f88d9da5edac94c992a64ac97ede7e99d29902fd5c4c SHA512 4cb0aadfe9ff3e87f84f149b1d24dd68b312a4be9b12deb83a4db78a0f977a4357fe6cab3044d8651b06ed5e5078346208392c75beea44552a112800704856ec WHIRLPOOL 87a8daa26e675bfae5da1bd4d4a6a920416075fb11b38922b3a02108a97b0e5eed25cd1c7a2c01773f6372e8ddd807d42f4df6342f9de9c550709ee10f0943cd +DIST VirtualBox-5.0.38-114632-Linux_amd64.run 84499923 SHA256 406aa99b87b0b5e8b6b015128266b00eb78ecb873f4d27cdc90555388f098dc2 SHA512 3bc2d6e8da643de15af57f4ad61b3f227e12dc0c29983c64bdcba2564ea272eb7f520f82d3347e11d9f6058948b002d147a2a692366e04cb48899056264c3543 WHIRLPOOL decae53db1a5ab80f6864778debda271fe62a5d1f34d18f2c92a66a9aa2eda0ee04839ed6dd71706a179b4c143aa712151b135d2cdf52eaa297f7fa763a67c18 +DIST VirtualBox-5.0.38-114632-Linux_x86.run 83762637 SHA256 c477de11a3d4dae7f0a1dfb4747c20647a1cdaf6754ff754dafc59029d704de3 SHA512 07f48b89c6cf1813ea3cb33f6b419c55a44d98b4a04d98a22f5f644f8d4a76bef265dc0968eece13d831b20f2554eecaad4b7206fd0e3162eafea0001780da94 WHIRLPOOL 986a08c111ef577f58695b1e39e43909581bd4eaa2e5cf0fa82f27fadad17ffea2fe53a84396dd2adc8a38e236a7b995b4c55ed90b375e372fa8a7e165340f1a DIST VirtualBox-5.1.16-113841-Linux_amd64.run 87684561 SHA256 41aab2f9d84fb03c339644fa28ab3503f8e478e30a16f1711b225f33a38c4a5a SHA512 e952f0e029af4e799d439976a3c1f677e72a9fbe2db9292663fed9779e3b238117b3d5a8ae725c65cfc559c340381ceea213fd352150552bba538e1707497b15 WHIRLPOOL dde25b37b16330013fa1a469ffec98cd2fc9d990783c6ce77a46eaba08057dcee914e0df8e963af010152d704484e6dd291f7c55ec9d2a310f3f6e98df9e80bf DIST VirtualBox-5.1.16-113841-Linux_x86.run 86896078 SHA256 895da15cc94096f29b3faf2129090a4b0cf1e1f49583901380848c2dd3ca6416 SHA512 fccf68d2075b5a77a240aafbd86b9adc7d6203fcbbbc78b0b4943c96f9e3d2897f2a009560142907b39e4659a1440a56401671986cef53faf5058e41ac6cb0c7 WHIRLPOOL 2d80994f973d474f64864b9b22d32ad23011c919232353dcd96eccfa668264debda06f59a90d57d649b7b19ad7721a58dbc33dffcc73797e8f5f633d8eb8fd97 DIST VirtualBox-5.1.18-114002-Linux_amd64.run 87684562 SHA256 22801c4b828fd8dec41bdf9d9a9679a18f95e5af051d2b096e3bbf753bc66757 SHA512 0821a6cf650304c56597aa9f13cb5e9daee0026bd97421a439ef2c0ca62144887533bb5cc85ced9872bcaee74a6c48f593bbbfc812dd89c98c918e2dcf7d01ef WHIRLPOOL 19824a02589c0c417af31b80376cf7db764fd923f967aa7ef20d9bfc2dcaf335dcce24e8973b5abd2ad72a8bf6a9ff66f26397a65b7967b1ed6b66299fcc7e5b DIST VirtualBox-5.1.18-114002-Linux_x86.run 86875596 SHA256 193526802093d512ba3673552b9377b3cd17b0ad5484d5ee1ba52eea24e61ccb SHA512 6b501f3e0c668a4608c7e5dc3e5074fcc398b054ec78b140015f8f33a0f17cc8c918cada98286d9f64f38fb46dc7fb7e358d87690c5f780d184faaac4e55e3c1 WHIRLPOOL e65b913bc426daf752f205bfdd7408e31e433754cdc35801f3bdbef13b050c099202005a93f0fca0e9360f75a46b320c523f0faba3c8ddc4a7109444f3efabc2 +DIST VirtualBox-5.1.20-114628-Linux_amd64.run 87674322 SHA256 6457eb92dee25a5b53f47784d45ea5a9b5c8724974bb350bd675c76457a135a1 SHA512 66d92b9014d8435af4ff4857731a3ed9b1ecd0ff811f92c4fcb62ade38ea5f26a45b62559330164b739cb35416b0b7571cab0aafb22167a1404f74197da53a16 WHIRLPOOL a23bccff96f24805c3a0976133fe0b02286df94fedae4edd6cb34a616ea55086ea4cf9145491f6646d1248bd6f30f940c8ad0b642613bab7081701118068a34b +DIST VirtualBox-5.1.20-114628-Linux_x86.run 87070159 SHA256 f7a230f4a0b3696399ee5ff3bf4aba20322c15b9b422ef58c2a212dc12f0053e SHA512 baf8fb8d7cd759e4b50fe9569089fa2841641023267d5cff3dd0f9fba7cc960684e162187e415672bf7883f74e0fe9af45d97f835a3c19929c39420740a43c80 WHIRLPOOL cbf8ba576b08bb08df0e3cfe8a9f73182fd2f025fc01ed404e8035655f2a5721decb4b728a783901819ee61d64b8e46ac436e09bcb078a04e2d1372076fdaded DIST VirtualBoxSDK-5.0.16-105871.zip 9639569 SHA256 df1bd5ed7f7fe9c401555498a1abed6f1f98e001c0069f16d401ccf3afe3061b SHA512 f4e1af1d97a26818722124fbbaffa6d61369b1a5f3b350b749284afdde038802f4a0e93e9bbb4c9ab0f49aad1f4fa19bbc4b0bdb04aa172a433a77a538816e25 WHIRLPOOL 0598061b47e5d0ef775665300ab61ad7b94638d32fb358a9c189536b00b2456ce4c90dfbcc00bac86da736289253e84a3b586b8b7d1da4087db76e8845a8ca33 DIST VirtualBoxSDK-5.0.32-112930.zip 9674720 SHA256 37165cd54271e3e84117228a2c1836a368a313176397c7455ed303683e9950d1 SHA512 aad7beb301b0376cad102d935b09217428331027b57863464aaa6b3db6418202f9f68b8c1361ee409f8c5fda2cc8169166a5b067ef020ca3a509fe17f64f34fc WHIRLPOOL ee737ac9f24bd854daddbb766df4fbbb071dd3fbf6fd9fbb71b985fc52f84374f4899096ad463510e5caf32d5c965b60ba4c0f408bed59984aedee9d99c31a45 DIST VirtualBoxSDK-5.0.36-114008.zip 9677707 SHA256 1109651d05bfc734f663b12d420a7c44ab396ee0fbbe2d51cb55df73ddbd8e9b SHA512 854d461ea8a5ee67673cfea3c0b340882b244137f3e8b8c824be5fc2d30fa9d5abf1322b5c083158cd73134f030097bd06424e7afa05570a6e43f0057119e25d WHIRLPOOL a2e0b71639a517ce636fcfd35b16e8bb3d19bc0351fe5a2f2f7e40880e3e335595cf83c19f81f09b8d8f4b64ae118d716bfe7c3de5f9bd13da5eee4f7e0fdbea +DIST VirtualBoxSDK-5.0.38-114632.zip 9677331 SHA256 719b8dfc698278b2783c8b61b7b929351d822a1e11c13f9ae857574a03682aaa SHA512 2f05f9102c2fe03c19c59f07b3b8e2c50f1b6a4d1b483488d833b6178a770f05703b1c3d9ea291241e409f995a51dc575fcca4d6892d8bf5bb88ac3f569d3fd5 WHIRLPOOL e136afe5eb2113799bd2803d408132c464cae34317b06239d56e9fe2b14fabdc8960e751012c0fbdbe89669a2d0de966eaad6567cb676845979af0a30fcfb85c DIST VirtualBoxSDK-5.1.16-113841.zip 9861063 SHA256 667cb9b3d5a0564ae07c8307e4be152dc5832682cc58da8434517fe35b25eb63 SHA512 d2f2004914f86753fa645e823c50a5ba7aaebf5490648b91184385367f72caef9afe4ae3ab103a1a8103a1ed0a46e30a22a11dfa23a66dc442d4043c07523669 WHIRLPOOL c3cdf380fa80b062cb291ef6868fbaaf57900199ab01de24ee0963db71bf2557d3dedca37ea3aa03240c3e5fe0efedbea3f3241ded74f3d9eeee52f9f0687643 DIST VirtualBoxSDK-5.1.18-114002.zip 9858620 SHA256 3aadf617f5c36b6a36f92d9a0d3347f08ad4dee69c12fff3a4764c437d71e838 SHA512 922dd4f22953591c793f3d7f02c708e93e3962350020529d47af19323ac7782ad027d033ee9e4e2433adc577e44d6b823ff67ea2acdd82d02f7346c289085b54 WHIRLPOOL 0b6f11f20ed9f12b5ad48bf84c87db229e9deb534d6e308191e280abb13709d7fed4d57c2a429030980b2f68687c5a1b50b15d0e7826fccb96d0293d32420aaa +DIST VirtualBoxSDK-5.1.20-114628.zip 9860060 SHA256 f7a96b332c21551824419a14bded1118489b429c9a8f00acaeff56aafe2582f5 SHA512 90951591f97d06e4642f0021f2d82adfe40085ffa02f605e0cdc052d3ee2c0a5f8c2451001f33dcc6ca193cdb54241980c525a4ce51f9ce17537cbd11370bb90 WHIRLPOOL c86496bcda24f8022cd01b30a8c59e79d681e99c6bdec73ae79bd9c63e5dc22032a853bca96f2eef154a29968fcf59d0d557bf771277e6e604cfc46ee2194a95 diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.0.38.114632.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.38.114632.ebuild new file mode 100644 index 000000000000..14d781b7cf6d --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.0.38.114632.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(get_version_component_range 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="http://www.virtualbox.org/" +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( http://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? ( + x11-libs/libXcursor + media-libs/libsdl[X] + x11-libs/libXrender + x11-libs/libXfixes + media-libs/libpng + x11-libs/libXi + x11-libs/libXrandr + x11-libs/libXinerama + x11-libs/libXft + media-libs/freetype + media-libs/fontconfig + x11-libs/libXext + dev-libs/glib + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S=${WORKDIR} + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym /opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym /opt/VirtualBox/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 "${D}"/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 "${D}"/opt/VirtualBox/${each} + done + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym /opt/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 "${D}"/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 /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym /opt/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 "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + fdo-mime_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() { + fdo-mime_desktop_database_update +} diff --git a/app-emulation/virtualbox-bin/virtualbox-bin-5.1.20.114628.ebuild b/app-emulation/virtualbox-bin/virtualbox-bin-5.1.20.114628.ebuild new file mode 100644 index 000000000000..062ce860234f --- /dev/null +++ b/app-emulation/virtualbox-bin/virtualbox-bin-5.1.20.114628.ebuild @@ -0,0 +1,287 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) + +inherit eutils fdo-mime gnome2 pax-utils python-r1 udev unpacker versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 5)" + MY_PV="${MY_PV/beta/BETA}" + MY_PV="${MY_PV/rc/RC}" +else + MY_PV="${MAIN_PV}" +fi +VBOX_BUILD_ID="$(get_version_component_range 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="http://www.virtualbox.org/" +SRC_URI="amd64? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run ) + x86? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run ) + http://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz" + +LICENSE="GPL-2 PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp" +RESTRICT="mirror" + +if [[ "${PV}" != *beta* ]] ; then + SRC_URI+=" + sdk? ( http://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )" + IUSE+=" sdk" +fi + +DEPEND="app-arch/unzip + ${PYTHON_DEPS}" + +RDEPEND="!!app-emulation/virtualbox + !app-emulation/virtualbox-additions + ~app-emulation/virtualbox-modules-${MAIN_PV} + !headless? ( + dev-libs/glib + media-libs/fontconfig + media-libs/freetype + media-libs/libpng + media-libs/libsdl[X] + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXfixes + x11-libs/libXft + x11-libs/libXi + x11-libs/libXinerama + x11-libs/libXrandr + x11-libs/libXrender + chm? ( dev-libs/expat ) + ) + dev-libs/libxml2 + sys-fs/lvm2 + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXt + x11-libs/libXmu + x11-libs/libSM + x11-libs/libICE + x11-libs/libXdmcp + ${PYTHON_DEPS}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +S=${WORKDIR} + +QA_PREBUILT="opt/VirtualBox/*" + +PYTHON_UPDATER_IGNORE="1" + +src_unpack() { + unpack_makeself ${MY_P}_${ARCH}.run + unpack ./VirtualBox.tar.bz2 + + mkdir "${S}"/${EXTP_PN} || die + pushd "${S}"/${EXTP_PN} &>/dev/null || die + unpack ${EXTP_P}.tar.gz + popd &>/dev/null || die + + if [[ "${PV}" != *beta* ]] && use sdk ; then + unpack VirtualBoxSDK-${SDK_PV}.zip + fi +} + +src_configure() { + :; +} + +src_compile() { + :; +} + +src_install() { + # create virtualbox configurations files + insinto /etc/vbox + newins "${FILESDIR}/${PN}-config" vbox.cfg + + if ! use headless ; then + newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop + + # set up symlinks (bug #572012) + dosym /opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml + + local size ico icofile + for size in 16 24 32 48 64 72 96 128 256 ; do + pushd "${S}"/icons/${size}x${size} &>/dev/null || die + if [[ -f "virtualbox.png" ]] ; then + doicon -s ${size} virtualbox.png + fi + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do + icofile="virtualbox-${ico}.png" + if [[ -f "${icofile}" ]] ; then + doicon -s ${size} ${icofile} + fi + done + popd &>/dev/null || die + done + doicon -s scalable "${S}"/icons/scalable/virtualbox.svg + insinto /usr/share/pixmaps + newins "${S}"/icons/48x48/virtualbox.png ${PN}.png + fi + + pushd "${S}"/${EXTP_PN} &>/dev/null || die + insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom + popd &>/dev/null || die + rm -rf "${S}"/${EXTP_PN} + + insinto /opt/VirtualBox + dodir /opt/bin + + doins UserManual.pdf + + if [[ "${PV}" != *beta* ]] && use sdk ; then + doins -r sdk + fi + + if use additions; then + doins -r additions + fi + + if use vboxwebsrv; then + doins vboxwebsrv + fowners root:vboxusers /opt/VirtualBox/vboxwebsrv + fperms 0750 /opt/VirtualBox/vboxwebsrv + dosym /opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv + fi + + if use rdesktop-vrdp; then + doins rdesktop-vrdp + doins -r rdesktop-vrdp-keymaps + fperms 0750 /opt/VirtualBox/rdesktop-vrdp + dosym /opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp + fi + + if ! use headless && use chm; then + doins kchmviewer VirtualBox.chm + fowners root:vboxusers /opt/VirtualBox/kchmviewer + fperms 0750 /opt/VirtualBox/kchmviewer + fi + + # This ebuild / package supports only py2.7. When py3 comes is unknown. + # The compile phase makes VBoxPython2_7.so. + # py3 support would presumably require a binary pre-compiled by py3. + use python && doins VBoxPython.so VBoxPython2_7.so + + rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \ + vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \ + VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \ + webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \ + 90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \ + VBoxPython?_*.so + + if use headless ; then + rm -rf VBoxSDL VirtualBox VBoxKeyboard.so + fi + + doins -r * || die + + # create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid) + dosym /opt/VirtualBox/VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so + dosym /opt/VirtualBox/VBoxREM.so /opt/VirtualBox/components/VBoxREM.so + dosym /opt/VirtualBox/VBoxRT.so /opt/VirtualBox/components/VBoxRT.so + dosym /opt/VirtualBox/VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so + dosym /opt/VirtualBox/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 "${D}"/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 "${D}"/opt/VirtualBox/${each} + done + + dosym /opt/VirtualBox/VBox.sh /opt/bin/VirtualBox + dosym /opt/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 "${D}"/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 /opt/VirtualBox/VBox.sh /opt/bin/VBoxManage + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxVRDP + dosym /opt/VirtualBox/VBox.sh /opt/bin/VBoxHeadless + dosym /opt/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 "${D}"${udevdir}/rules.d/10-virtualbox.rules || die + # move udev scripts into ${udevdir} (bug #372491) + mv "${D}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${D}"${udevdir} || die + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh +} + +pkg_postinst() { + fdo-mime_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() { + fdo-mime_desktop_database_update +} diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest index 62b70f38016a..6d085776edf2 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-5.0.16-105871.tar.gz 16896587 SHA256 c234e158c49f4f92c38e41918c117d756a81236ff1030a896e44faf88284ecc7 SHA512 39a7c6726e57c89a970e771f80369617c95e154498174deed025ca953e85197981215dd1250317285213a8e9bf6b7140e06311bd6df464613bfe90a37ef1c3c8 WHIRLPOOL 8bdf4a499e8d2d463249fb98ea35ee3a91d81004418e171396c0a26d91f3de9eda6fe632a1d85df58e1de1c32c5c939a365277ad836c685f83600277bd7282bf DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.32-112930.tar.gz 18966317 SHA256 3a0c45eb2471566787def7d73f8c01b03a806e5b2042c21911c2142dafdf9a44 SHA512 138b1ee971f396cdde58874c220e9e1d791561dad4e5a5cf14e8bc7aca40d851e3017ef179645cc235c0cf2848dc5e4f500a0ef8865c997371043bf02836acbc WHIRLPOOL 27733c658f1a6cbe31950b89e51b5a18dc5deeaac3a907e302e041e1aa2bea5b013fde83e4c6b7d5c120a022ce4d89355fc54cac9fe7a79ee716c011c638fd3d DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.36-114008.tar.gz 19050365 SHA256 160765cc0375a1901ff18f887ee8469d5175257b036e81da59ba0b8278da8d4d SHA512 f65b08a69b83b64eef7e72f3b9cecab054cf0232d0578b36388f33c50e7f96c4c05b1b673f146c4894824099030740eb821eecc2982d64fd3d8b6d370b7dea12 WHIRLPOOL 0e1361ae7edc7d6e0f9e4d215ed8286235ec7fac6b9c5dda6c0f6a452def67b9f82ee30ae87d8b71376cba984986c69fc9d41c1f8a026e7c19c1172e43e62cd5 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.0.38-114632.tar.gz 19050467 SHA256 92933bbbe483f517bf5d5b6b661432c926fe24c1360ad63c15172d7ba08f980a SHA512 59e7fba83a7033d893c56b343f40cc1047732a84e6772a60321cd01e21459c7c2b797bc8ac3f856f447419e805b153b7d14d5743c8e0a2a47207ff6808a0c05d WHIRLPOOL 40c30f57c9881bd05b4dcff41af865a3e280fef1ccd97ea00701b34d4511f87e2cb1e6c31fbadba95dd416ddc8fa37c6598ffd950c354d2b227ca2abbbe8e152 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.16-113841.tar.gz 19559112 SHA256 a838711616bf015be192c99b2282731321d062ea061a51bd78676ed47b1fc709 SHA512 5482194ee33d405b34426b83bfe31d3ff8de5c90d8aca4a49805d796b5dc782e3d769d6eea85318f60b8943afea094cb01fae8ebaee886a3132789f334a7b759 WHIRLPOOL 1badb7d1dc6a147106befc9e50e3a76525693643d8ed8b616dc9f9435c99e4679a170fa2e22b12b45260aba8ca64e8ca8465800b730b990abe0868928d312043 DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.18-114002.tar.gz 19558758 SHA256 996f783996a597d3936fc5f1ccf56edd31ae1f8fb4d527009647d9a2c8c853cd SHA512 2e034440d3e29592383c4b15e594ddee8cf319cb67a7c6a4f2df277ccfbd82ee7d7e010ca0a123db9d1876053dfd4729184749dae079f8211a58a21d4fb74b4e WHIRLPOOL 0a0464ac902c98dcf6e4ee432eda3a0b174aea5489952a26338b18ee431e2859e709f2b2a9c72bd3dd842f495f1d02c7627430462a5e2374773062159c243301 +DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.20-114628.tar.gz 19559512 SHA256 51e85e3792a5a435d88368a52a363321acdd913f4fb3c55cd623911d447ad148 SHA512 177f22d9667b469329ec8bfc39bc5ec3acec5f00559f89d44755ab37f06ce3955aeb1f7dc4dc8ac78f5b6d3c3220baa0125c88b1eff4ebfc442e7af52055a6e2 WHIRLPOOL 9c9d2d58e1469f814b87251722f3a6337e029c97d68c3f66e983816904df007bd71d5b94aefdf0074cf328dc4049b9123833a352ad05b723c80b97f441c93cb2 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.38.114632.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.38.114632.ebuild new file mode 100644 index 000000000000..4d09c1248e68 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.0.38.114632.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 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="$(get_version_component_range 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.1.20.114628.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.1.20.114628.ebuild new file mode 100644 index 000000000000..4d09c1248e68 --- /dev/null +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-5.1.20.114628.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils multilib versionator + +MAIN_PV="$(get_version_component_range 1-3)" +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then + MY_PV="${MAIN_PV}_$(get_version_component_range 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="$(get_version_component_range 4)" +MY_PN="Oracle_VM_VirtualBox_Extension_Pack" +MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}" + +DESCRIPTION="PUEL extensions for VirtualBox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz" + +LICENSE="PUEL" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" +RESTRICT="mirror strip" + +RDEPEND="~app-emulation/virtualbox-${DEP_PV}" + +S="${WORKDIR}" + +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*" + +src_install() { + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN} + doins -r linux.${ARCH} + doins ExtPack* PXE-Intel.rom +} diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index eb75a7249931..215545c1c4a1 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,5 +1,7 @@ DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074 WHIRLPOOL ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c DIST VirtualBox-5.0.32.tar.bz2 111684963 SHA256 4a48d4a8b6ca68353bd39f2c9d2896e1659818959f858e8326ef649481d15550 SHA512 77e479e43a08bd9656792cc8e58bbb4e57e1290803bc100a00b9595f2dfdf580607c9a1d38f72aebf638cf6ba3f63bef79913301c8b2a135b5cfcf35a44707e4 WHIRLPOOL 1b03a9368259e1704981dcd64f773f8097d03c582e8c18a012c55463d5bbb15b2521e83f51fe3cf4fe30822db26726c9ff145d711cb97ae2287368068338a9a4 DIST VirtualBox-5.0.36.tar.bz2 112998831 SHA256 3b5a9b12bbeb01af10c03d505261aaff15bf88681afd5b7cadb5d58682746812 SHA512 db6d23b4196a4ae3c5860bcc331094ca35c849fe98b132a5a6b0721e58548cd72ba3dfb7bb9ccc2a3beee9997cb333aa4c66c1c850556c5ecc6eec38f43ee409 WHIRLPOOL 3853a658731a85f8b2b206b617b7bd37d86ace15447f07fd0598a96aa266783b121b91f8f84dd3d6463edc0cd45504d2de901149802ff658b86ba0abb850ce26 +DIST VirtualBox-5.0.38a.tar.bz2 112989858 SHA256 db1142fab5ff98833fef1a23299f68e40f2ae55b5750cdc9987a769b1b407dc4 SHA512 96657cb0062b8e7c780d841c49f5cd2abe5ff1a35d93ff99d010a8eeadc8abe52c62b613e4a6968e710b627db7349c716a585d3d302653fbcdb70db747be1d49 WHIRLPOOL 8d476d0425fb8aeb54034a39b4546e903765b33500adb7117cf4a2b06b0fe642d07f78e2c8e64d63de93aed90d63a40a05f048dacb2d10e239be32af8b012b74 DIST VirtualBox-5.1.16.tar.bz2 115670028 SHA256 78071c3172f3bd3c7981c352c3ae6c6a9c01f6ab24bc0aa7ec79f3528b2291a7 SHA512 322903af8ec6f5f56fa4d4181caf435b4aba5c25b824e664e06c4cabfadad595a0417fd882f7138aa36388846171228e3bf02931fb63388640b5ef5c6c4bcafc WHIRLPOOL faa06cf139225a7b44df752342b674f43296c411499132034bca1868abeac6ed89b31a506f7398f813b12e9c1cfa1f5cc1825c64d0f70ce7886c1a2efce3e0f7 DIST VirtualBox-5.1.18.tar.bz2 115680674 SHA256 7ed0959bbbd02826b86b3d5dc8348931ddfab267c31f8ed36ee53c12f5522cd9 SHA512 0ff7cc5471203304435aaf25995719d1c782a5503da94f238cbf57b1b2b7dcd7bd81f17fd24bd77449eb75ad0e104aa8b5b389c1feddb1af9f45b1b72f35b546 WHIRLPOOL b254d4fef5b760fa0708db805ae070bfb0ba17d8ebac2fbbcade36d9e79ba8a02031199d7b8bb6b546f3a40013e5b3e756a130745e913bb921d6bbb658123669 +DIST VirtualBox-5.1.20a.tar.bz2 115744692 SHA256 d264e8b62fa2e220383b0eb5db0b73b5d7055a2329e2e2416d5d4cc231bb769e SHA512 62b280df2a002f4d2b5e0ae49e6a8899e1ca21e4c832b858aef6a63bc9627095fef9ecf69d15088415874bc7aaca19b8936fd9ae9496adb754c01c778d9acb7a WHIRLPOOL e434813e216fed6fb12fba37f9c33cbf13ff19e9354f70ceff29b4e52618e6a39e5d841eca2978499b6e51d3b2079aaa870232a5858f14809b87083e9a3c55d3 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.38.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.38.ebuild new file mode 100644 index 000000000000..03f02d141b15 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.0.38.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils 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="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2" + +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 + x11-proto/glproto ) + sys-apps/dbus + !!x11-drivers/xf86-input-virtualbox" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + X? ( x11-proto/renderproto ) + !X? ( x11-proto/xproto )" +PDEPEND="X? ( ~x11-drivers/xf86-video-virtualbox-${PV} )" + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + 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=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}" + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +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 "${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... + 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 limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -i configure || die + + 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"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + insinto /usr/share/doc/${PF} + doins "${FILESDIR}"/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_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-5.1.20.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.20.ebuild new file mode 100644 index 000000000000..03f02d141b15 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-5.1.20.ebuild @@ -0,0 +1,219 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils 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="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2" + +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 + x11-proto/glproto ) + sys-apps/dbus + !!x11-drivers/xf86-input-virtualbox" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=dev-lang/yasm-0.6.2 + sys-devel/bin86 + sys-libs/pam + sys-power/iasl + X? ( x11-proto/renderproto ) + !X? ( x11-proto/xproto )" +PDEPEND="X? ( ~x11-drivers/xf86-video-virtualbox-${PV} )" + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + 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=${KV_OUT_DIR} KERNOUT=${KV_OUT_DIR}" + enewgroup vboxguest + enewuser vboxguest -1 /bin/sh /dev/null vboxguest + # automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist + enewgroup vboxsf +} + +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 "${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... + 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 limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -i configure || die + + 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"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \ + >> "${D}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \ + || die + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + # sample xorg.conf + insinto /usr/share/doc/${PF} + doins "${FILESDIR}"/xorg.conf.vbox + + systemd_dounit "${FILESDIR}/${PN}.service" +} + +pkg_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-modules/Manifest b/app-emulation/virtualbox-modules/Manifest index b468b95c69c1..ccc92d628f7f 100644 --- a/app-emulation/virtualbox-modules/Manifest +++ b/app-emulation/virtualbox-modules/Manifest @@ -1,5 +1,7 @@ DIST vbox-kernel-module-src-5.0.16.tar.xz 593944 SHA256 8905e174069a6caf0200808fda6726704a947ab56fc48c3b6ebbf8831dde4123 SHA512 5311f6cfd917c04bcb51182ad414c0930fb85a73a90d81156f08640cdb4e4d442ed46a10b62b5d07ed81aa1ad65430d5186e95cc64293502c9b84937a6470bb4 WHIRLPOOL daf741cd8465ce65ae0e3f304b7c49d55be828da5fc285ac3a2b8e6fc7e68865b184b738a79fa7fbf1e106d647200a40224902ef7041e4dd5ab2c9ef054e4199 DIST vbox-kernel-module-src-5.0.32.tar.xz 600916 SHA256 30fdc07a999b7ef7e401d425e6663c7da31df477ef810b69405b0752c36bfbd9 SHA512 22c7ade7c8d4b3883bd09893fdb2016d54394d54a1ce0b442caae0b63fecead2b817e22290cb14ea1089b259f31d0f39ceb991e97c9a6b93067819b7eb5e7436 WHIRLPOOL 1a512ecb033f5803a41009e5decc6b420ac50d01f3619d011d8a3fc21975dfbb05d680221ade03b810435f54228b87a82f2f770dfb9ac93f519bb54f2cce1f1c DIST vbox-kernel-module-src-5.0.36.tar.xz 601068 SHA256 3f74d7eb1bb6316c643e994fef141ad46e4ce5c3653863a19080d02b1a699732 SHA512 72f41a63693d56ff26e47557700b3ccf038a58aa2251fa1fa5d1c46448e526635a9546e6d052e0449975c738c945cd120e6832b9ac74426a959f6ff81b2addc0 WHIRLPOOL 420d847af604f26f39be978a4e11af7aa307c0b0a1b88b0e08f603f4539c5f3794c314fefde5655a2ef5f249a56745bb00ac6db9d1fcaf40c6c8f961ebbd20f7 +DIST vbox-kernel-module-src-5.0.38.tar.xz 601560 SHA256 003e9e13355ea080244880be40c32bf7a8fae5681d2e0a10cb4fcb4edfbece0e SHA512 6af6ac6d6887690f7e03455b150dc7ba27fb44757c9d1f1d81619df6029cfffba77de4faf15c697b778b6f336df436ce716cfe51f645b597e8e8de9f208f632f WHIRLPOOL 6ab528cc3d9b240bfed8ca1d6caf4edc5a1855f5cba27fca724110d6c0895320afb620ec51c1100dd5c217057909b283e0f1d87497b493b07219af19d5f3edd8 DIST vbox-kernel-module-src-5.1.16.tar.xz 613860 SHA256 c8074df935a880ae8c1d34e7123692ccaac8b8391cb7fa873141c6869ce57698 SHA512 59f04d3edec6d25e1d7a1e8607a5ff18cea0d667416d0022b85befce4a426a5e581c86ef89343285bbe5124ff92615648b141cf379d98cb8d4fdc842a9cf54a3 WHIRLPOOL 60d3501f09b34d28e3e5073b366a395e1888b7342a4c96ae537e15f435d081e0ce9419ad7c0d6b24cc183bd81d4c3ac9f21f311bdcfa6d3b28f7bd95c8849869 DIST vbox-kernel-module-src-5.1.18.tar.xz 613824 SHA256 363bae7950e3360c470696a59b1eb1e4d7cc06ec5cc8253eb6ef45a7e3deacf9 SHA512 7ca722830925ba6aa56a1b6f60bee6a9bb594a18ca006e49e206dd66fd6b81a5efa4e5503b8b8d0bc24e6072ee0724f09ba776c9aa6b56da922877440f5c13bc WHIRLPOOL c69787e5d5df705e830e7126dd1ff27e240de05316941c9787f029657d279757a0ff3842a8b834d9cbccd960a11e07d920543cb0ed976530414b0d8b42bc3e1b +DIST vbox-kernel-module-src-5.1.20.tar.xz 618168 SHA256 e6f779705338062954afca24b7a9bdb40930f48bb800842dfaaebfc23afc075b SHA512 ad35c874aa893a64a4f5c16aa1d095c2ca0a91f00f29e42535e23fa0d10b36f1951d9bffe199bfeb2f24969a13c6569d4872be79d8f0b7b5f26a53caed05dbe6 WHIRLPOOL fbc489588ccf67ed7cd5be3b42c99104df62e82e02e5da7c54598e48619b8b00205c49138647c0d4db92a39ea44c25fa22e0bedc578d39b6032b74804bf9ec85 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.0.38.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.38.ebuild new file mode 100644 index 000000000000..6600e4fb53b0 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.0.38.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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=6 + +inherit eutils linux-mod user + +MY_P=vbox-kernel-module-src-${PV} +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S=${WORKDIR} + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" + +pkg_setup() { + enewgroup vboxusers + + CONFIG_CHECK="!TRIM_UNUSED_KSYMS" + ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly." + + linux-mod_pkg_setup + + BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if kernel_is -ge 2 6 33 ; then + # evil patch for new kernels - header moved + grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:' + fi + + if use pax_kernel && kernel_is -ge 3 0 0 ; then + epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + doins "${FILESDIR}"/virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst + elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\"," + elog "\"vboxnetadp\" and \"vboxpci\" to:" + elog " /etc/conf.d/modules" +} diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-5.1.20.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.20.ebuild new file mode 100644 index 000000000000..6600e4fb53b0 --- /dev/null +++ b/app-emulation/virtualbox-modules/virtualbox-modules-5.1.20.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2017 Gentoo Foundation +# 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=6 + +inherit eutils linux-mod user + +MY_P=vbox-kernel-module-src-${PV} +DESCRIPTION="Kernel Modules for Virtualbox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="!=app-emulation/virtualbox-9999" + +S=${WORKDIR} + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})" + +pkg_setup() { + enewgroup vboxusers + + CONFIG_CHECK="!TRIM_UNUSED_KSYMS" + ERROR_TRIM_UNUSED_KSYMS="The kernel option CONFIG_TRIM_UNUSED_KSYMS removed kernel symbols that are needed by ${PN} to load correctly." + + linux-mod_pkg_setup + + BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1" +} + +src_prepare() { + if kernel_is -ge 2 6 33 ; then + # evil patch for new kernels - header moved + grep -lR linux/autoconf.h * | xargs sed -i -e 's:<linux/autoconf.h>:<generated/autoconf.h>:' + fi + + if use pax_kernel && kernel_is -ge 3 0 0 ; then + epatch "${FILESDIR}"/${PN}-4.1.4-pax-const.patch + fi + + default +} + +src_install() { + linux-mod_src_install + insinto /usr/lib/modules-load.d/ + doins "${FILESDIR}"/virtualbox.conf +} + +pkg_postinst() { + linux-mod_pkg_postinst + elog "If you are using sys-apps/openrc, please add \"vboxdrv\", \"vboxnetflt\"," + elog "\"vboxnetadp\" and \"vboxpci\" to:" + elog " /etc/conf.d/modules" +} diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest index 0981ad0e5662..878a0f8de952 100644 --- a/app-emulation/virtualbox/Manifest +++ b/app-emulation/virtualbox/Manifest @@ -1,8 +1,10 @@ DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074 WHIRLPOOL ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c DIST VirtualBox-5.0.32.tar.bz2 111684963 SHA256 4a48d4a8b6ca68353bd39f2c9d2896e1659818959f858e8326ef649481d15550 SHA512 77e479e43a08bd9656792cc8e58bbb4e57e1290803bc100a00b9595f2dfdf580607c9a1d38f72aebf638cf6ba3f63bef79913301c8b2a135b5cfcf35a44707e4 WHIRLPOOL 1b03a9368259e1704981dcd64f773f8097d03c582e8c18a012c55463d5bbb15b2521e83f51fe3cf4fe30822db26726c9ff145d711cb97ae2287368068338a9a4 DIST VirtualBox-5.0.36.tar.bz2 112998831 SHA256 3b5a9b12bbeb01af10c03d505261aaff15bf88681afd5b7cadb5d58682746812 SHA512 db6d23b4196a4ae3c5860bcc331094ca35c849fe98b132a5a6b0721e58548cd72ba3dfb7bb9ccc2a3beee9997cb333aa4c66c1c850556c5ecc6eec38f43ee409 WHIRLPOOL 3853a658731a85f8b2b206b617b7bd37d86ace15447f07fd0598a96aa266783b121b91f8f84dd3d6463edc0cd45504d2de901149802ff658b86ba0abb850ce26 +DIST VirtualBox-5.0.38a.tar.bz2 112989858 SHA256 db1142fab5ff98833fef1a23299f68e40f2ae55b5750cdc9987a769b1b407dc4 SHA512 96657cb0062b8e7c780d841c49f5cd2abe5ff1a35d93ff99d010a8eeadc8abe52c62b613e4a6968e710b627db7349c716a585d3d302653fbcdb70db747be1d49 WHIRLPOOL 8d476d0425fb8aeb54034a39b4546e903765b33500adb7117cf4a2b06b0fe642d07f78e2c8e64d63de93aed90d63a40a05f048dacb2d10e239be32af8b012b74 DIST VirtualBox-5.1.16.tar.bz2 115670028 SHA256 78071c3172f3bd3c7981c352c3ae6c6a9c01f6ab24bc0aa7ec79f3528b2291a7 SHA512 322903af8ec6f5f56fa4d4181caf435b4aba5c25b824e664e06c4cabfadad595a0417fd882f7138aa36388846171228e3bf02931fb63388640b5ef5c6c4bcafc WHIRLPOOL faa06cf139225a7b44df752342b674f43296c411499132034bca1868abeac6ed89b31a506f7398f813b12e9c1cfa1f5cc1825c64d0f70ce7886c1a2efce3e0f7 DIST VirtualBox-5.1.18.tar.bz2 115680674 SHA256 7ed0959bbbd02826b86b3d5dc8348931ddfab267c31f8ed36ee53c12f5522cd9 SHA512 0ff7cc5471203304435aaf25995719d1c782a5503da94f238cbf57b1b2b7dcd7bd81f17fd24bd77449eb75ad0e104aa8b5b389c1feddb1af9f45b1b72f35b546 WHIRLPOOL b254d4fef5b760fa0708db805ae070bfb0ba17d8ebac2fbbcade36d9e79ba8a02031199d7b8bb6b546f3a40013e5b3e756a130745e913bb921d6bbb658123669 +DIST VirtualBox-5.1.20a.tar.bz2 115744692 SHA256 d264e8b62fa2e220383b0eb5db0b73b5d7055a2329e2e2416d5d4cc231bb769e SHA512 62b280df2a002f4d2b5e0ae49e6a8899e1ca21e4c832b858aef6a63bc9627095fef9ecf69d15088415874bc7aaca19b8936fd9ae9496adb754c01c778d9acb7a WHIRLPOOL e434813e216fed6fb12fba37f9c33cbf13ff19e9354f70ceff29b4e52618e6a39e5d841eca2978499b6e51d3b2079aaa870232a5858f14809b87083e9a3c55d3 DIST virtualbox-5.0.16-patches-01.tar.xz 4024 SHA256 200eb980a12323a61d0fa6dbf61ed64ee1e2bb5e18e16eabdf8668d8fd8be3e4 SHA512 4eed117253754abee9088d4c320b4a6f0b3e1c8313b98f354cb727001156fe68d553a677073d40b921437f4cc073420866d1533aad4e61a79607d8360abbfd4a WHIRLPOOL ab40851873d55ae873ca8ff88670a17476c0d502116f4abda7b766064a2daa71929eb69b4b68c64c3d2d0762134fe85d07044bdedde4bf15924520a604972aaa DIST virtualbox-5.0.32-patches-01.tar.xz 4400 SHA256 e5bf5b5b391b3402172b5a30952da50affacaeaf40a75df0430ad623fcd8ed6f SHA512 5df0ecb4f9190375edc62d231aacd381c36a1697cc33df48b2f2d68a05ca1c855d127e466eda62030736dbcee76f5c67a519a2f42b72eacaf7ed65a8cf991e8a WHIRLPOOL 4c11787951848aadacc0772df5a46ce8d54445e0120901be280f493d4cc6333e986d0376f33ac0217dbb23758240c025028ea1d21c360fc2840c8e3003a0ff62 DIST virtualbox-5.0.36-patches-01.tar.xz 4572 SHA256 734d90bb35c92d46aa979046c066fab5ca2a54aebc99c1a038b9acbab5820c81 SHA512 61e8a3bbabfee1fd7286a46ebc93b4acca761dc860159d2d0c4b6c104d3365dedb32496bdc8b63a1fc1ff54f4954c75447e4be6c9608a975e2f75bf884e22a59 WHIRLPOOL fdd81469b6565c30ca44c5ea5ea10b8f62aeef301af622999f355bc46fb931d952f1145e87f290d7b744371189c3738424fc85de632faeb8ab57d54e7a30a901 diff --git a/app-emulation/virtualbox/virtualbox-5.0.38.ebuild b/app-emulation/virtualbox/virtualbox-5.0.38.ebuild new file mode 100644 index 000000000000..1a2a5a20bc60 --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-5.0.38.ebuild @@ -0,0 +1,436 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 toolchain-funcs udev + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.0.32-patches-01.tar.xz" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="http://www.virtualbox.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug doc headless java libressl lvm pam pulseaudio +opengl python +qt4 +sdk +udev vboxwebsrv vnc" + +RDEPEND="!app-emulation/virtualbox-bin + ~app-emulation/virtualbox-modules-${PV} + dev-libs/libIDL + >=dev-libs/libxslt-1.1.19 + net-misc/curl + dev-libs/libxml2 + media-libs/libpng:0= + media-libs/libvpx:0= + sys-libs/zlib + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + x11-libs/libXmu + x11-libs/libXt + opengl? ( virtual/opengl media-libs/freeglut ) + qt4? ( + dev-qt/qtgui:4 + dev-qt/qtcore:4 + opengl? ( dev-qt/qtopengl:4 ) + x11-libs/libXinerama + ) + ) + java? ( >=virtual/jre-1.6:= ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 )" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130 + >=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/jre-1.6:= ) + pam? ( sys-libs/pam ) + pulseaudio? ( media-sound/pulseaudio ) + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] ) + ${PYTHON_DEPS}" + +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" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_setup() { + if ! use headless && ! use qt4 ; then + einfo "No USE=\"qt4\" selected, this build will not include" + einfo "any Qt frontend." + elif use headless && use qt4 ; then + einfo "You selected USE=\"headless qt4\", 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 + 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 + + # Remove pointless GCC version limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -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 + + #if ! gcc-specs-pie ; then + rm "${WORKDIR}/patches/050_${PN}-5.0.2-nopie.patch" || die + #fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + local myconf + use alsa || myconf+=( --disable-alsa ) + use debug && myconf+=( --build-debug ) + use doc || myconf+=( --disable-docs ) + use java || myconf+=( --disable-java ) + use lvm || myconf+=( --disable-devmapper ) + use opengl || myconf+=( --disable-opengl ) + use pulseaudio || myconf+=( --disable-pulse ) + use python || myconf+=( --disable-python ) + use vboxwebsrv && myconf+=( --enable-webservice ) + use vnc && myconf+=( --enable-vnc ) + if ! use headless ; then + use qt4 || myconf+=( --disable-qt4 ) + else + myconf+=( --build-headless --disable-opengl ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + ./configure \ + --with-gcc="$(tc-getCC)" \ + --with-g++="$(tc-getCXX)" \ + --disable-dbus \ + --disable-kmods \ + ${myconf[@]} \ + || die "configure failed" +} + +src_compile() { + source ./env.sh || die + + MAKEJOBS=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+') + MAKELOAD=$(echo ${MAKEOPTS} | egrep -o '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+') #' + 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 + + 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 right libdir + sed -i \ + -e "s@MY_LIBDIR@$(get_libdir)@" \ + "${D}"/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 in any case. + 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 "${D}"${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 + + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + + # 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 "${D}"${vbox_inst_path}/VBoxSDL + + for each in vboxsdl VBoxSDL ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + if use opengl && use qt4 ; then + vbox_inst VBoxTestOGL + pax-mark -m "${D}"${vbox_inst_path}/VBoxTestOGL + fi + + if use qt4 ; then + vbox_inst VirtualBox 4750 + pax-mark -m "${D}"${vbox_inst_path}/VirtualBox + + for each in virtualbox VirtualBox ; do + dosym ${vbox_inst_path}/VBox /usr/bin/${each} + done + + insinto /usr/share/${PN} + doins -r nls + + 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 + 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 "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${D}${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 + + if use doc ; then + dodoc UserManual.pdf + fi +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + if ! use headless && use qt4 ; 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 "IMPORTANT!" + elog "If you upgrade from app-emulation/virtualbox-ose make sure to run" + elog "\"env-update\" as root and logout and relogin as the user you wish" + elog "to run ${PN} as." + 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() { + fdo-mime_desktop_database_update +} diff --git a/app-emulation/virtualbox/virtualbox-5.1.20.ebuild b/app-emulation/virtualbox/virtualbox-5.1.20.ebuild new file mode 100644 index 000000000000..7ef0122e174b --- /dev/null +++ b/app-emulation/virtualbox/virtualbox-5.1.20.ebuild @@ -0,0 +1,457 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils fdo-mime flag-o-matic java-pkg-opt-2 linux-info multilib pax-utils python-single-r1 toolchain-funcs udev + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.1.18-patches-01.tar.xz" +S="${WORKDIR}/${MY_P}" + +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use" +HOMEPAGE="http://www.virtualbox.org/" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="alsa debug doc 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= + sys-libs/zlib + !headless? ( + media-libs/libsdl:0[X,video] + x11-libs/libX11 + 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 + ) + ) + java? ( >=virtual/jre-1.6:= ) + libressl? ( dev-libs/libressl:= ) + !libressl? ( dev-libs/openssl:0= ) + lvm? ( sys-fs/lvm2 ) + udev? ( >=virtual/udev-171 ) + vnc? ( >=net-libs/libvncserver-0.9.9 )" +DEPEND="${RDEPEND} + >=dev-util/kbuild-0.1.9998_pre20131130-r1 + >=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/jre-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}" + +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" + +REQUIRED_USE=" + java? ( sdk ) + python? ( sdk ) + vboxwebsrv? ( java ) + ${PYTHON_REQUIRED_USE} +" + +pkg_setup() { + 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 + 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 + + # Remove pointless GCC version limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -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 + rm "${WORKDIR}"/patches/050_${PN}-*-nopie.patch || die + fi + + # Only add paxmark patch when we're on pax_kernel + if use pax_kernel ; then + epatch "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch || die + fi + + eapply "${WORKDIR}/patches" + + eapply_user +} + +src_configure() { + local myconf=() + use alsa || myconf+=( --disable-alsa ) + use debug && myconf+=( --build-debug ) + use doc || myconf+=( --disable-docs ) + use java || myconf+=( --disable-java ) + use lvm || myconf+=( --disable-devmapper ) + use opengl || myconf+=( --disable-opengl ) + use pulseaudio || myconf+=( --disable-pulse ) + use python || myconf+=( --disable-python ) + use vboxwebsrv && myconf+=( --enable-webservice ) + use vnc && myconf+=( --enable-vnc ) + if ! use headless ; then + use qt5 || myconf+=( --disable-qt ) + else + myconf+=( --build-headless --disable-opengl ) + fi + if use amd64 && ! has_multilib_profile ; then + myconf+=( --disable-vmmraw ) + fi + # not an autoconf script + ./configure \ + --with-gcc="$(tc-getCC)" \ + --with-g++="$(tc-getCXX)" \ + --disable-dbus \ + --disable-kmods \ + ${myconf[@]} \ + || die "configure failed" +} + +src_compile() { + source ./env.sh || die + + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529) + MAKEJOBS=$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+') + MAKELOAD=$(echo ${MAKEOPTS} | egrep -o '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+') #' + 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 "${D}"/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 "${D}"${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 + + # VRDPAuth only works with this (bug #351949) + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so + + # 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 "${D}"${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 "${D}"${vbox_inst_path}/VirtualBox + + if use opengl ; then + vbox_inst VBoxTestOGL + pax-mark -m "${D}"${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 + + 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 "${D}${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar" + java-pkg_regso "${D}${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 + + if use doc ; then + dodoc UserManual.pdf + fi +} + +pkg_postinst() { + fdo-mime_desktop_database_update + + if use udev ; then + udevadm control --reload-rules \ + && udevadm trigger --subsystem-match=usb + fi + + 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 "IMPORTANT!" + elog "If you upgrade from app-emulation/virtualbox-ose make sure to run" + elog "\"env-update\" as root and logout and relogin as the user you wish" + elog "to run ${PN} as." + 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() { + fdo-mime_desktop_database_update +} diff --git a/x11-drivers/xf86-video-virtualbox/Manifest b/x11-drivers/xf86-video-virtualbox/Manifest index eb75a7249931..215545c1c4a1 100644 --- a/x11-drivers/xf86-video-virtualbox/Manifest +++ b/x11-drivers/xf86-video-virtualbox/Manifest @@ -1,5 +1,7 @@ DIST VirtualBox-5.0.16.tar.bz2 111062984 SHA256 f5a44d33a1db911f445b2eb2d22d9293a96a535cba488b5a235577ef868fa63c SHA512 3da3a227360fb50d299e99770378f65e8cb99525377343fa8faff2360be66643d46f68323d6a8b8d4d26182082f171bb35ab2497167bf6df18827a5ea7742074 WHIRLPOOL ea709057c588f28820790c2b193decba9ee0c57e0f82aa4361ca87aef661315182e18b5ee29558e47ed92f6037eb91befa5390680661a7b9f2248c7819b4a85c DIST VirtualBox-5.0.32.tar.bz2 111684963 SHA256 4a48d4a8b6ca68353bd39f2c9d2896e1659818959f858e8326ef649481d15550 SHA512 77e479e43a08bd9656792cc8e58bbb4e57e1290803bc100a00b9595f2dfdf580607c9a1d38f72aebf638cf6ba3f63bef79913301c8b2a135b5cfcf35a44707e4 WHIRLPOOL 1b03a9368259e1704981dcd64f773f8097d03c582e8c18a012c55463d5bbb15b2521e83f51fe3cf4fe30822db26726c9ff145d711cb97ae2287368068338a9a4 DIST VirtualBox-5.0.36.tar.bz2 112998831 SHA256 3b5a9b12bbeb01af10c03d505261aaff15bf88681afd5b7cadb5d58682746812 SHA512 db6d23b4196a4ae3c5860bcc331094ca35c849fe98b132a5a6b0721e58548cd72ba3dfb7bb9ccc2a3beee9997cb333aa4c66c1c850556c5ecc6eec38f43ee409 WHIRLPOOL 3853a658731a85f8b2b206b617b7bd37d86ace15447f07fd0598a96aa266783b121b91f8f84dd3d6463edc0cd45504d2de901149802ff658b86ba0abb850ce26 +DIST VirtualBox-5.0.38a.tar.bz2 112989858 SHA256 db1142fab5ff98833fef1a23299f68e40f2ae55b5750cdc9987a769b1b407dc4 SHA512 96657cb0062b8e7c780d841c49f5cd2abe5ff1a35d93ff99d010a8eeadc8abe52c62b613e4a6968e710b627db7349c716a585d3d302653fbcdb70db747be1d49 WHIRLPOOL 8d476d0425fb8aeb54034a39b4546e903765b33500adb7117cf4a2b06b0fe642d07f78e2c8e64d63de93aed90d63a40a05f048dacb2d10e239be32af8b012b74 DIST VirtualBox-5.1.16.tar.bz2 115670028 SHA256 78071c3172f3bd3c7981c352c3ae6c6a9c01f6ab24bc0aa7ec79f3528b2291a7 SHA512 322903af8ec6f5f56fa4d4181caf435b4aba5c25b824e664e06c4cabfadad595a0417fd882f7138aa36388846171228e3bf02931fb63388640b5ef5c6c4bcafc WHIRLPOOL faa06cf139225a7b44df752342b674f43296c411499132034bca1868abeac6ed89b31a506f7398f813b12e9c1cfa1f5cc1825c64d0f70ce7886c1a2efce3e0f7 DIST VirtualBox-5.1.18.tar.bz2 115680674 SHA256 7ed0959bbbd02826b86b3d5dc8348931ddfab267c31f8ed36ee53c12f5522cd9 SHA512 0ff7cc5471203304435aaf25995719d1c782a5503da94f238cbf57b1b2b7dcd7bd81f17fd24bd77449eb75ad0e104aa8b5b389c1feddb1af9f45b1b72f35b546 WHIRLPOOL b254d4fef5b760fa0708db805ae070bfb0ba17d8ebac2fbbcade36d9e79ba8a02031199d7b8bb6b546f3a40013e5b3e756a130745e913bb921d6bbb658123669 +DIST VirtualBox-5.1.20a.tar.bz2 115744692 SHA256 d264e8b62fa2e220383b0eb5db0b73b5d7055a2329e2e2416d5d4cc231bb769e SHA512 62b280df2a002f4d2b5e0ae49e6a8899e1ca21e4c832b858aef6a63bc9627095fef9ecf69d15088415874bc7aaca19b8936fd9ae9496adb754c01c778d9acb7a WHIRLPOOL e434813e216fed6fb12fba37f9c33cbf13ff19e9354f70ceff29b4e52618e6a39e5d841eca2978499b6e51d3b2079aaa870232a5858f14809b87083e9a3c55d3 diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.38.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.38.ebuild new file mode 100644 index 000000000000..15212f759fd9 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.0.38.ebuild @@ -0,0 +1,191 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils multilib python-single-r1 versionator toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +DESCRIPTION="VirtualBox X11 video driver for Gentoo guest" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dri" + +RDEPEND="<x11-base/xorg-server-1.19:=[-minimal] + x11-libs/libXcomposite" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998_pre20131130 + >=sys-devel/gcc-4.9.0 + sys-power/iasl + x11-proto/fontsproto + x11-proto/randrproto + x11-proto/renderproto + x11-proto/resourceproto + x11-proto/scrnsaverproto + x11-proto/xextproto + x11-proto/xineramaproto + x11-proto/xproto + x11-libs/libXdmcp + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXext + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.4.5 )" +PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )" + +REQUIRED_USE=( "${PYTHON_REQUIRED_USE}" ) + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +S="${WORKDIR}/${MY_P}" +MODULES_SRC_DIR="${S}/src/VBox/Additions/linux/drm" + +PATCHES=( + # Ugly hack to build the opengl part of the video driver + "${FILESDIR}/${PN}-2.2.0-enable-opengl.patch" + + # unset useless/problematic checks in configure + "${FILESDIR}/${PN}-5.0.0_beta3-configure_checks.patch" +) + +QA_TEXTRELS_x86="usr/lib/VBoxOGL.so" + +pkg_setup() { + if [ "${MERGE_TYPE}" != "binary" ]; then + version_is_at_least 4.9 $(gcc-version) || die "Please set gcc 4.9 or higher as active in gcc-config to build ${PN}" + fi + + python-single-r1_pkg_setup +} + +src_prepare() { + # Prepare the vboxvideo_drm Makefiles and build dir + eapply "${FILESDIR}"/${PN}-5.1.4-Makefile.module.kms.patch + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +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() { + local each targets=( + Runtime + Additions/common/VBoxGuestLib + GuestHost/OpenGL + Additions/x11/x11stubs + Additions/common/crOpenGL + Additions/x11/vboxvideo + ) + + # need to use the upstream build system to create necessary objects properly + use dri && targets+=( Additions/linux/drm ) + + for each in ${targets[@]} ; do + pushd "${S}"/src/VBox/${each} &>/dev/null || die + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_USE_SYSTEM_XORG_HEADERS=1 \ + KBUILD_PATH="${S}/kBuild" \ + KBUILD_VERBOSE=2 + popd &>/dev/null || die + done + + if use dri; then + local objdir="out/linux.${ARCH}/release/obj/vboxvideo_drm" + # We need a Makefile, so use Makefile.module.kms + ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die + # All of these are expected to be in $(KBUILD_EXTMOD)/ so symlink them into place + targets=( + include + src/VBox/Runtime/r0drv + src/VBox/Installer/linux/Makefile.include.{head,foot}er + out/linux.${ARCH}/release/{product,version,revision}-generated.h + ) + for each in ${targets[@]} ; do + ln -s "${S}"/${each} \ + "${MODULES_SRC_DIR}"/${each##*/} || die + done + # see the vboxvideo_drm_SOURCES list in Makefile.kmk for the below, + # and replace '..' with 'dt' + targets=( + dt/dt/common/VBoxVideo/HGSMIBase.o + dt/dt/common/VBoxVideo/Modesetting.o + dt/dt/common/VBoxVideo/VBVABase.o + dt/dt/dt/GuestHost/HGSMI/HGSMICommon.o + dt/dt/dt/GuestHost/HGSMI/HGSMIMemAlloc.o + dt/dt/dt/Runtime/common/alloc/heapoffset.o + ) + for each in ${targets[@]} ; do + ln -s "${S}"/${objdir}/${each} \ + "${MODULES_SRC_DIR}" || die + ln -s "${S}"/${objdir}/${each}.dep \ + "${MODULES_SRC_DIR}" || die + done + fi +} + +src_install() { + cd "${S}/out/linux.${ARCH}/release/bin/additions" || die + insinto /usr/$(get_libdir)/xorg/modules/drivers + newins vboxvideo_drv_system.so vboxvideo_drv.so + + # Guest OpenGL driver + insinto /usr/$(get_libdir) + doins -r VBoxOGL* + + if use dri ; then + dosym /usr/$(get_libdir)/VBoxOGL.so \ + /usr/$(get_libdir)/dri/vboxvideo_dri.so + fi +} + +pkg_postinst() { + elog "You need to edit the file /etc/X11/xorg.conf and set:" + elog "" + elog " Driver \"vboxvideo\"" + elog "" + elog "in the Graphics device section (Section \"Device\")" +} diff --git a/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.20.ebuild b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.20.ebuild new file mode 100644 index 000000000000..77b18807b144 --- /dev/null +++ b/x11-drivers/xf86-video-virtualbox/xf86-video-virtualbox-5.1.20.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) +inherit eutils multilib python-single-r1 versionator toolchain-funcs + +MY_PV="${PV/beta/BETA}" +MY_PV="${MY_PV/rc/RC}" +MY_P=VirtualBox-${MY_PV} +DESCRIPTION="VirtualBox X11 video driver for Gentoo guest" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="http://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}a.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="dri" + +RDEPEND=">=x11-base/xorg-server-1.7:=[-minimal] + x11-libs/libXcomposite" +DEPEND="${RDEPEND} + ${PYTHON_DEPS} + >=dev-lang/yasm-0.6.2 + >=dev-util/kbuild-0.1.9998_pre20131130 + sys-power/iasl + x11-proto/fontsproto + x11-proto/randrproto + x11-proto/renderproto + x11-proto/resourceproto + x11-proto/scrnsaverproto + x11-proto/xextproto + x11-proto/xineramaproto + x11-proto/xproto + x11-libs/libXdmcp + x11-libs/libXau + x11-libs/libX11 + x11-libs/libXfixes + x11-libs/libXext + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.4.5 )" +PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )" + +REQUIRED_USE=( "${PYTHON_REQUIRED_USE}" ) + +BUILD_TARGETS="all" +BUILD_TARGET_ARCH="${ARCH}" +S="${WORKDIR}/${MY_P}" +MODULES_SRC_DIR="${S}/src/VBox/Additions/linux/drm" + +PATCHES=( + # Ugly hack to build the opengl part of the video driver + "${FILESDIR}/${PN}-2.2.0-enable-opengl.patch" + + # unset useless/problematic checks in configure + "${FILESDIR}/${PN}-5.0.0_beta3-configure_checks.patch" + + # xorg-1.19 patch from opensuse (bug #602784) + "${FILESDIR}/${PN}-5.1.10-xorg119.patch" +) + +QA_TEXTRELS_x86="usr/lib/VBoxOGL.so" + +pkg_setup() { + if [ "${MERGE_TYPE}" != "binary" ]; then + version_is_at_least 4.9 $(gcc-version) || die "Please set gcc 4.9 or higher as active in gcc-config to build ${PN}" + fi + + python-single-r1_pkg_setup +} + +src_prepare() { + # Prepare the vboxvideo_drm Makefiles and build dir + eapply "${FILESDIR}"/${PN}-5.1.4-Makefile.module.kms.patch + + # Remove shipped binaries (kBuild,yasm), see bug #232775 + rm -r kBuild/bin tools || die + + # Disable things unused or splitted into separate ebuilds + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die + + # Remove pointless GCC version limitations in check_gcc() + sed -e "/\s*-o\s*\\\(\s*\$cc_maj\s*-eq\s*[5-9]\s*-a\s*\$cc_min\s*-gt\s*[0-5]\s*\\\)\s*\\\/d" \ + -i configure || die + + default + + # link with lazy on hardened #394757 + sed '/^TEMPLATE_VBOXR3EXE_LDFLAGS.linux/s/$/ -Wl,-z,lazy/' \ + -i Config.kmk || die +} + +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() { + local each targets=( + Runtime + Additions/common/VBoxGuestLib + GuestHost/OpenGL + Additions/x11/x11stubs + Additions/common/crOpenGL + Additions/x11/vboxvideo + ) + + # need to use the upstream build system to create necessary objects properly + use dri && targets+=( Additions/linux/drm ) + + for each in ${targets[@]} ; do + pushd "${S}"/src/VBox/${each} &>/dev/null || die + MAKE="kmk" \ + emake TOOL_YASM_AS=yasm \ + VBOX_USE_SYSTEM_XORG_HEADERS=1 \ + KBUILD_PATH="${S}/kBuild" \ + KBUILD_VERBOSE=2 + popd &>/dev/null || die + done + + if use dri; then + local objdir="out/linux.${ARCH}/release/obj/vboxvideo_drm" + # We need a Makefile, so use Makefile.module.kms + ln -s Makefile.module.kms "${MODULES_SRC_DIR}"/Makefile || die + # All of these are expected to be in $(KBUILD_EXTMOD)/ so symlink them into place + targets=( + include + src/VBox/Runtime/r0drv + src/VBox/Installer/linux/Makefile.include.{head,foot}er + out/linux.${ARCH}/release/{product,version,revision}-generated.h + ) + for each in ${targets[@]} ; do + ln -s "${S}"/${each} \ + "${MODULES_SRC_DIR}"/${each##*/} || die + done + # see the vboxvideo_drm_SOURCES list in Makefile.kmk for the below, + # and replace '..' with 'dt' + targets=( + dt/dt/common/VBoxVideo/HGSMIBase.o + dt/dt/common/VBoxVideo/Modesetting.o + dt/dt/common/VBoxVideo/VBVABase.o + dt/dt/dt/GuestHost/HGSMI/HGSMICommon.o + dt/dt/dt/GuestHost/HGSMI/HGSMIMemAlloc.o + dt/dt/dt/Runtime/common/alloc/heapoffset.o + ) + for each in ${targets[@]} ; do + ln -s "${S}"/${objdir}/${each} \ + "${MODULES_SRC_DIR}" || die + ln -s "${S}"/${objdir}/${each}.dep \ + "${MODULES_SRC_DIR}" || die + done + fi +} + +src_install() { + cd "${S}/out/linux.${ARCH}/release/bin/additions" || die + insinto /usr/$(get_libdir)/xorg/modules/drivers + newins vboxvideo_drv_system.so vboxvideo_drv.so + + # Guest OpenGL driver + insinto /usr/$(get_libdir) + doins -r VBoxOGL* + + if use dri ; then + dosym /usr/$(get_libdir)/VBoxOGL.so \ + /usr/$(get_libdir)/dri/vboxvideo_dri.so + fi +} + +pkg_postinst() { + elog "You need to edit the file /etc/X11/xorg.conf and set:" + elog "" + elog " Driver \"vboxvideo\"" + elog "" + elog "in the Graphics device section (Section \"Device\")" +} |