virtualbox packages: Removed old.

Closes: https://bugs.gentoo.org/662326
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
This commit is contained in:
Lars Wendler
2018-10-17 14:59:27 +02:00
parent 04968da565
commit 7cafac8617
38 changed files with 0 additions and 4163 deletions

View File

@@ -1,6 +1,3 @@
DIST VBoxGuestAdditions_5.1.36.iso 59596800 BLAKE2B c735a88f534b27f1f2f29d125d0fdf881285f64f7ea3f49a0bc9211af4f562562cc321983c222e6106459f3be14af94a3514765607d1cd8edf6e6352398cfe8c SHA512 08049007589f6bf56c84355b908355289f37eac8cb01d970e46ebe3b44b43ff406c37d0ddad245dd007447a00927a2d2312524e3ac99f8b6bad8695b403ca846
DIST VBoxGuestAdditions_5.1.38.iso 59611136 BLAKE2B cde4ceb59159827304c99ab00fac4cd3598600c252e7b5a410a5be6ea50866ed2efae4ead9e5c4c1a1462b1cd6db973bd4b35b56d426934e80898837c536e778 SHA512 e082e6363e1e6fa8a7b6b6b4847e9f2ed17655b0ac143467553150f910d71e4dfff55686c38464dc60f77c57292610d13dc25ee5423877173467a86cfe232a3b
DIST VBoxGuestAdditions_5.2.14.iso 57978880 BLAKE2B de5cb3c5b7e2f3ee018588308573389fd973820e87d5b2e6640499c96dc21db95e71eb4e5e2469455febba8b2ccb4a7c6014176e784613218fa7eccabefe9e53 SHA512 1fd878f9e7fc1687907ac8dff6827bfd7aefe3ed48012b0dbbaf42ced21695ce52be6fe146128a6d1c67c7a0c5c39c9ef24e8ee562271fda117d13cca81427cb
DIST VBoxGuestAdditions_5.2.16.iso 57976832 BLAKE2B 78c8d71e2a68306efaf2951d73099b7199e15d83d9fc2c70f73266fdf59798948b22815234a5e30eff43471fcb8a5967c74a439d79b5ed47971dd170498145de SHA512 f25bf8ce789f640e5a80ac55c5d1918702bfed711aeacddc951948dcb56a4aa43a5a4e8760e3b8cc6e18eee18eabff032dd8fff8b95cc18bc60177b0a481b592
DIST VBoxGuestAdditions_5.2.18.iso 57976832 BLAKE2B d212345e99856699ab43e83d747937a4bb7b0ee57dfa58d3e06d910fa94bb01a570afc2d5faa2ec64fd9c7377a0ab4c2bda32af5557b0655bc9cf30dc9c01691 SHA512 f4328afd4947e0e9d2f15bc15ec6ca7d9207d3d46e936d6575789e5a4f27ea271137b6f23592ff992530047a76393cdedd0dc8b10f61d7c94da5f5c7bd484a1c
DIST VBoxGuestAdditions_5.2.20.iso 58013696 BLAKE2B 1a0df07f2a086c41741d884a3eabd43d6f1fee368b143fbae4c8dbc930834fb8d5dd82e8563fe7c9e4c562a58e79c25e9603847d9eca908943e525505bf2f697 SHA512 a8b8f12a8f0b26bb88745d33aa419c45adb4a1e682c3af9a34b0556ac1d8bdf33044253ede41d894e0dba1857f8f3c5cc234006149771a25133c6112ec4aa4c3

View File

@@ -1,35 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

View File

@@ -1,35 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

View File

@@ -1,33 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

View File

@@ -1,24 +1,12 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.36-122089.tar.gz 19605234 BLAKE2B 4b263b27b130e5b5d7917f15f0dc782f28f7708cc10e22028ee27b33be6541df5211c4fb36951a6b293d19b8933182097cd0575da8c1d00b6a96e747c1962762 SHA512 e11b294da83b4605c40132f2ea5f95f2820f901d2ed1d438c22c4cc9f779baa3112b9334036717d1593d5f9ec8374d7d7bc826012e2019ef0ba79bacb1deb7b8
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.38-122592.tar.gz 19717251 BLAKE2B 90dcaa58284c6dc9101dbc8eb9ceda55d16c4a48fd58fb43c4a6b7d3d5c582c31930f6e773397ae9379e75771c88b40aad276436bb1d56a71a8e744353e04ec9 SHA512 ba44d53e06adababd0ac7c8a68ea025e1e7afd39fe648079bbb879e81130d45f00b944795cfd37f7f05c16d5a7723b85c49a8435c8399180af627dd3b3de00bc
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.14-123301.tar.gz 19589209 BLAKE2B 385bdfb4cef67788a1dd3e758f52dab7a367f56ca8d286e465af9a7674ffe3bc0f6187a66d7d19bb8f2a8fc0e23e0ce7ef35ac2d46fd6971dc2df96e8a61ca11 SHA512 a47a7173685b72995e5012386fc8f6c55f9106049a28ecaea223f58f1bb40077e0929cf05102a2588e516fe90891428b8e569ec9351fcaf235eb9f8293e45b92
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.16-123759.tar.gz 19588810 BLAKE2B 51fb01ace72f6bc3f0e1ab6804c44ca44463ad24986af08b79c41bb06f43776c9f022d1766d07a4f9a47615119963636cad52d8f7d7bcc9f5e58f51c093f0bcd SHA512 8dfadb83111226a7bbc522d1caf16327051d76ee9382cb62281df5735f87d0e26994dd38a279027dae27c0371120bf95066d5260e79003c5a8982710579ecbce
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.tar.gz 19592275 BLAKE2B 7be65024837e46073049d3d751df00b50bf2d5d81faef3ba2a869429800d999f473b570bfe75201d07347e751893d280f7238a076a172ad2046b64c151b675ba SHA512 fa4bf8202f4d5f86cf4a04aaf6e77ce2f86ccde126d5543846793a021fc1e861f35d256432d762aebd38fc6cd0fa0bfe2a4def76334f468de316fe925d2fe414
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.20-125813.tar.gz 19641208 BLAKE2B ffe4e89b88609d575f7e9f5aed5330de5024462ae564684cf3f565b62649d022c8fc9368cfd1685e3e4fc34e9a23cb0651c483f129b533f9afec38bcae89d587 SHA512 df9ae6af9ad1c1106bf8bf0595fdcdd3ec45bc74b90655e762fb18a4c8ea268bed366ce3caaf0f95682577b61b337650a6fe7ef901f6925fa38679ccd885c21c
DIST VirtualBox-5.1.36-122089-Linux_amd64.run 88329683 BLAKE2B 96e0296243056ebaecde4435fe68f82dacfc66a0d23b70365c7495112672b60be7682ef794851b68198d0d0f01ec84cb314f06b434726e5f75e47751771cbd3b SHA512 6c62c642da78561ec5130e18ebac24d52871b4c518ce507f1deb0a279c58dfc1b87c4afecf63236e7274da65d5d784575779ad39e17a4f8b1f05c29a3ca95d55
DIST VirtualBox-5.1.36-122089-Linux_x86.run 87449039 BLAKE2B 826071838fdb7567ec7064eb6db216d9d695f3504b0c37b2db637df5757ece58b8c1c0b430cef1c1e6657bd9dc556c074891732cd4481243af72051f66ec6bec SHA512 c593483949a5389cddbe47fb3d07e7acc55868671d72ccd696e1c039ace24e7b88be9cf088c32b419c5f4ba76ceada6e388b63dbeac6376b13627543c472afe8
DIST VirtualBox-5.1.38-122592-Linux_amd64.run 88329683 BLAKE2B 124b1a3d45b0aa213a63ccc225570158faa11adf51a9bc503c014a302ba6a9739e9b50780c93ca6b8704e4666f809b97d1548db74817020301f560252bf71182 SHA512 963ed0b5555bcc43a72dbf49d3d6d9a1a2b1118808ea601765ce102ce72a05439903247680d0b49df4d15cdca68b40a8c5a26df9340c24ed681c3353f2f8e072
DIST VirtualBox-5.1.38-122592-Linux_x86.run 87449039 BLAKE2B a591a64422cd6e7bb292aaa0f35e5ed9a722b3d835800b2ce09814f2756f088e3a7adc0fc483f2a6ec36e265aeddf6ecfe1aa1bf60a78675696859bff1d0afb9 SHA512 41f9aebbb7c4ad6192cfef57ca956c5ec4b96c8547380abc3b56629c821094ccb28bac69645042e0ac22664db6c59aeff49ccc80d88e1eae5ffb95f55a467a07
DIST VirtualBox-5.2.14-123301-Linux_amd64.run 88749523 BLAKE2B 5a2791a1258adcdc82f8776fb0d5502d525faa0083b808f1875f0c61b848aa371fa0b6b73ca024c244b36dfb074a8839747ad27a87cb8dfbaad09096a0cec887 SHA512 8c4633ef0e3a9f7f26603009a23244696a6f91baffa9777a0daf8f09abd80b4aca944dabfd2a10acddf4759e64ec719948d73ecaaf187a60a15e097467060ea9
DIST VirtualBox-5.2.14-123301-Linux_x86.run 87776718 BLAKE2B 609c24ad2ba5b005f7cb619fbe2c2a82f026a7ae4ef74cda800c526c8c3552a2a1ed1af5a2a2b3d9c56f0dfbcdda493c2cc92b58156cbf41ebfb1d43bfee8aca SHA512 820c2b6c97a48c125b69e1f749a3b1473d5fe672726ae2cec30f20a6652186a28b3900d4aeffca701415275229232925d1c8c347aefa7a86840a2c5bf13f21a7
DIST VirtualBox-5.2.16-123759-Linux_amd64.run 88729043 BLAKE2B 0bc183146cdafbd5b12c4d46976cd3775a4ea11aaadae155d979ef81cf04ae8c77d6b48d0e240bad3bd440f532530e6d7584f58e7b29161a0f355bc8b7c15061 SHA512 c815a025376d86a5bed753ef8b729155b2a01d9e4c9b573e70d3b4f7db497285b991b278504d4b4fbf382a00080974551f214176c0e3fbaa2679534b3ee32b90
DIST VirtualBox-5.2.16-123759-Linux_x86.run 87756239 BLAKE2B 911ddf8b260ce18ff12c9cd6675105327b9c5916f436ee7421db3362403ee4960a8e24a6c25348c7188becdfbbfe0685f42a84ac166e39a753d4407c04721248 SHA512 9b52faab1ecd9e30cbf37fbec1a9a150f3dabb47ac62f355ed67744a849f07c52885852c310c39d9d36f90461fb318f8923afde9ec81bd754c1afbeeb2788427
DIST VirtualBox-5.2.18-124319-Linux_amd64.run 88780242 BLAKE2B a07e5bfcc2e988a4e499a974d97ed36cad9a95055d2df3aab8def3cbf19da4658411465d973935c86bd1642047e16a16041eb6f9da0f85183e86d5022208332a SHA512 f280ca01e4e9cd20bcd88479548b10931558052bcf45e96ba9dd70f9ca81036509c5391fac4ce1635b1d2597a10093979bd58017612d34a56b7df20a59a30b74
DIST VirtualBox-5.2.18-124319-Linux_x86.run 87838159 BLAKE2B 6b89a068ac699a1aaf77859b4373ea93fc3bfa863234e8befda725326297589a6e8e535c2b6f48ae60ac50805c224b6a889b7fa4bfb06e5dbb44623a5c84b02e SHA512 791ba9bab7e92e058b41ada88925f3d1159eaf922f8029a254096b994608a0be4d916de9b067923e6fcc176a5d7fcfe16c45e00a204bac22e3a7ce7409014595
DIST VirtualBox-5.2.20-125813-Linux_amd64.run 88841683 BLAKE2B a3cce78d5a90187ece0eda11032a36096a05b0a7020ec729c07963510db6fa4e436edbf03b5e385d826c7e2ddeae84e4138273b6b5876be2b33c7a8f259753f3 SHA512 28614d71b564e138526cf75662d5e0ce2c083bfa4bc0124f7b0d20532b5a09391d00609a2c003ac5311220c844f2b1fffdee46f53e1018f0df5b6ff1b7a6ba12
DIST VirtualBox-5.2.20-125813-Linux_x86.run 87889359 BLAKE2B bc66cf6af5e7a92c642e028bc82830641bed02f5e7daa4c607b165af9f707b3ec359a0ab40f68822472e0087a9a17723de20567f08f14125f8c74d058eecbc88 SHA512 8a7cba49194a7dcb86b3b908e9b8f83d3ad83cfd057e75bda6bb16da1f62ec65e10892696f94f0bc0f4bff4f4f055aa2bdc250e10b46d06b3f8f616000dad48a
DIST VirtualBoxSDK-5.1.36-122089.zip 9864160 BLAKE2B 0db3d44c44f93a80607791f2ff5cbdf6aed2b324c207bb9bbc808b5cc836f01ade9c48ed3474c4f174a43b29969fe632b5ccd2b3ad0af197894d63887144bf0c SHA512 98f6e59a5e344bf23f6af6c0e791f28920940de907721981c99b66b8e7c20cb06a7e1211b2029a1279e583fb4ed456019005c2bf3a91b3d8b3fbd61e6e44c914
DIST VirtualBoxSDK-5.1.38-122592.zip 9867112 BLAKE2B d3deeda2adafcb675370c7228f49a209e5f76986fc4c9ac5aa8ff2e809912f458c9cfc2d8f011404fb4bd7b45b80f0ff857dd85dd597d622971a2556c6b17bbf SHA512 e03fab6573e61f59fc4e017d8c6cfde08e734939efe6c2f8edc5e6e9da5a1d616012cae06d630a3e2a2b1d72775eb8f0a05eb230fa81321ec33ba1975ec34ce9
DIST VirtualBoxSDK-5.2.14-123301.zip 10154044 BLAKE2B 273219029c59ffd685fffb7e14fff914a5397acc0676c8b4ccaee9cecee51e90880e68d883125e061d6c02e09b53235821ff89a265e937c9b4e67365452a97d2 SHA512 c69e6f537af611b9a4bcbab3e014fa25c6593f754940c6596e451cf895cb088186d037ac4816a3bae793213c774befd54ffa86d43948fa546f753a37fcdabd51
DIST VirtualBoxSDK-5.2.16-123759.zip 10158952 BLAKE2B 66140092c221b998919a3840745e2ae58671b65f1db774ddb6691d085e95a35cdfa1e939a84cb032e2f67bd4485bd8f940f5db6d3712569942cbcc2a0f1bf234 SHA512 2b735016ea99e94317876f2e845cf94dd845bf51a86b42e938cae4bee003483f6061a7d89150f3d1fe5b84970a4fa83ae5bed7acf6570b849df5258efc8eb38f
DIST VirtualBoxSDK-5.2.18-124319.zip 10153509 BLAKE2B fc937cfe4c6bb1ad6416fc975b7f8c31604fc78fe4da59596054831a8f5e47b7e2c39ad855f3ae0f45b3aa3a527bc6ad9b559901aefbd2f188c04fc3f8342188 SHA512 fefac8821e0ba83d130fad1dffa5f1d49c063d39694028005f655b8dd4f93bb8ab9697cdd2ea03c9cbc1d977f01da92ca6e6aa571497171a1d414ece239db680
DIST VirtualBoxSDK-5.2.20-125813.zip 10152506 BLAKE2B 0a0fe51b22391430b5f67f4dfa24e2985beb364f69acf67f19154bbd5acca00260abdc8ade32c245e1a19340c88ee49776442b036dccdb5f932c052c9701c7e3 SHA512 e87b41bc23de5aae3a368834dc33e4b0eff63e945f81323886491cd6139089c29dc113d5d2144ac76650d501d3a6f0fc858ff2e1afe29df4396ed7cc7552762d

View File

@@ -1,287 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit eutils xdg-utils 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="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r * || die
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${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 ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${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 ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${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() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

View File

@@ -1,287 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
PYTHON_COMPAT=( python2_7 )
inherit eutils xdg-utils 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="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r * || die
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${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 ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${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 ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${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() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

View File

@@ -1,287 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r * || die
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

View File

@@ -1,6 +1,3 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.36-122089.tar.gz 19605234 BLAKE2B 4b263b27b130e5b5d7917f15f0dc782f28f7708cc10e22028ee27b33be6541df5211c4fb36951a6b293d19b8933182097cd0575da8c1d00b6a96e747c1962762 SHA512 e11b294da83b4605c40132f2ea5f95f2820f901d2ed1d438c22c4cc9f779baa3112b9334036717d1593d5f9ec8374d7d7bc826012e2019ef0ba79bacb1deb7b8
DIST Oracle_VM_VirtualBox_Extension_Pack-5.1.38-122592.tar.gz 19717251 BLAKE2B 90dcaa58284c6dc9101dbc8eb9ceda55d16c4a48fd58fb43c4a6b7d3d5c582c31930f6e773397ae9379e75771c88b40aad276436bb1d56a71a8e744353e04ec9 SHA512 ba44d53e06adababd0ac7c8a68ea025e1e7afd39fe648079bbb879e81130d45f00b944795cfd37f7f05c16d5a7723b85c49a8435c8399180af627dd3b3de00bc
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.14-123301.tar.gz 19589209 BLAKE2B 385bdfb4cef67788a1dd3e758f52dab7a367f56ca8d286e465af9a7674ffe3bc0f6187a66d7d19bb8f2a8fc0e23e0ce7ef35ac2d46fd6971dc2df96e8a61ca11 SHA512 a47a7173685b72995e5012386fc8f6c55f9106049a28ecaea223f58f1bb40077e0929cf05102a2588e516fe90891428b8e569ec9351fcaf235eb9f8293e45b92
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.16-123759.tar.gz 19588810 BLAKE2B 51fb01ace72f6bc3f0e1ab6804c44ca44463ad24986af08b79c41bb06f43776c9f022d1766d07a4f9a47615119963636cad52d8f7d7bcc9f5e58f51c093f0bcd SHA512 8dfadb83111226a7bbc522d1caf16327051d76ee9382cb62281df5735f87d0e26994dd38a279027dae27c0371120bf95066d5260e79003c5a8982710579ecbce
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.18-124319.tar.gz 19592275 BLAKE2B 7be65024837e46073049d3d751df00b50bf2d5d81faef3ba2a869429800d999f473b570bfe75201d07347e751893d280f7238a076a172ad2046b64c151b675ba SHA512 fa4bf8202f4d5f86cf4a04aaf6e77ce2f86ccde126d5543846793a021fc1e861f35d256432d762aebd38fc6cd0fa0bfe2a4def76334f468de316fe925d2fe414
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.20-125813.tar.gz 19641208 BLAKE2B ffe4e89b88609d575f7e9f5aed5330de5024462ae564684cf3f565b62649d022c8fc9368cfd1685e3e4fc34e9a23cb0651c483f129b533f9afec38bcae89d587 SHA512 df9ae6af9ad1c1106bf8bf0595fdcdd3ec45bc74b90655e762fb18a4c8ea268bed366ce3caaf0f95682577b61b337650a6fe7ef901f6925fa38679ccd885c21c

View File

@@ -1,42 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

View File

@@ -1,42 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

View File

@@ -1,42 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

View File

@@ -1,10 +1,6 @@
DIST VirtualBox-5.1.36.tar.bz2 117244376 BLAKE2B 141048f4fcbb3ce63d236a4127b4bce377e87876c23dc3ff6437b2c0cca5b468bc6a5737899b308bc1ff3252d4e61f7d053ff7574c33c85b56fdd986c31f2af3 SHA512 d1a9322c97c68cc9c21247c3df8ce2084911aded66a63adf5510f9e0f4558b1304dfe924a0c44243adc1ae8f7c45c47782e882baac1bfe995ea6c0a1370fcbd1
DIST VirtualBox-5.1.38.tar.bz2 117345233 BLAKE2B 15ed86a1f6730c781a0b4b055dcccfb56ff9c829c90dc4d2aa96cc2bb5bcfa8e442bdd471a7c70c5520bef994592e8f1a5b46831df4039efb5358c2e0ab83413 SHA512 6cf8536c24aa3a6e889214ef6133eb18fdbe1e7c371323cad07aa63b0e1f4414ba13d5fa7b63c12dfefe60e2e544488ced107571f678a06eb094a3e19b377ea8
DIST VirtualBox-5.2.14.tar.bz2 118597539 BLAKE2B 5e0a8d92405378eb438cae375041609f7a0e1288b040d3a0bcc06157f16ddd48b3537f2f026aa12a71c5319bdef56d6f3907785ac51ebe05a8b7143e04f22d0a SHA512 b8202eccd83e9f2c92a77548d003082b6b3ff7838bb32ae48c3a25dcd622bfdc8ceca42cc49b855eeabf4439c55ad42df9b3959dd1bab77de154468e139c904e
DIST VirtualBox-5.2.16.tar.bz2 118678441 BLAKE2B 9d912a51ceb69eb117d9886adf34fe4900bd941637c0610e0e0febb650cf7817b6f2fa0db4b085c0cb28c56892e7f8678e3533d7384cd155e356fa4a0ec7c0fa SHA512 361607c43e3f7fb60da6db898951317c45a7f7b782c42808759f7c29502e3778ae28e5a54b5c49d1c5e46d94f85dbd1891d69f16d756767f0155bb48531b9519
DIST VirtualBox-5.2.18.tar.bz2 118700952 BLAKE2B 5e9a5ca5379d80a8d9d0d53fe7b1f7cd98e03b6c535867932d55aa6a936e65f2d294264da014f332c2caa933a262ced3e350d9eb685ad99dec02a02ffcf5e7cb SHA512 f67c17cdd39e699e6c80af82a2c2d0c5dab073ddba2b55393740e605debb973030c48ce736ae753fc1e680845f0b62209c0f8951db08b665e9cdd83c52d5be20
DIST VirtualBox-5.2.20.tar.bz2 118760364 BLAKE2B 7a5f72340796d3278ef5f3210f4b25bf4d999ec93cdd0449853faf68b38c45a6ffd00fe2c88f12296029882f7715c012d1793cfff9d1c2441aa4db414fa3225e SHA512 ff039e487c43b584c5c5959df1622151d82f6c39101af869262f800d07e68a68005ed442112e36ebe249ed79de34c0b974bbd43e7889a5d40df2ebe7dec77a15
DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2
DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227bbc1eef266451d1a3a710adf1b769cd6404ef1750dba7a60549f2ab9f3fb81ef15809db9ea0190127caefc72d7bc9bb8b741fb0 SHA512 712b55392a8e8357e95abb42ea4f8dac3391ecbf9cbecf27c7dbf674c40f42a1eb19d227a1b3adcf621384a9f64a6438d20fb43866c736189097fb5770c5c654
DIST virtualbox-5.2.16-patches-01.tar.xz 2952 BLAKE2B 1d23d83bdb4d9576d402b67cc81d4427c5fe9163550d2817546382e1c1087000553d4a9a864f2527a909f52ce389105bcfe5518b5407de1299c7d2a62ee3cc21 SHA512 88c21583c51ae8e22e5fd3f08baae686045e884883153e2e365c35ba19f2773d5964c523a4ad3777fe30ca96bf76fab8819e09beeadf8350193041bff783893d
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450

View File

@@ -1,219 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.32-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="X"
RDEPEND="X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!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
x11-base/xorg-proto"
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 check
sed -e '/^check_gcc$/d' -i configure || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${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 ""
}

View File

@@ -1,219 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.1.32-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
RDEPEND="X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!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
x11-base/xorg-proto"
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 check
sed -e '/^check_gcc$/d' -i configure || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${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 ""
}

View File

@@ -30,8 +30,6 @@ RDEPEND="
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!x11-drivers/xf86-input-virtualbox
!x11-drivers/xf86-video-virtualbox
"
DEPEND="
${RDEPEND}

View File

@@ -1,234 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.16-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="X"
RDEPEND="
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!x11-drivers/xf86-input-virtualbox
!x11-drivers/xf86-video-virtualbox
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
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}"
}
src_unpack() {
unpack ${A}
# Apply before we create archive with Linux guest kernel modules
pushd "${S}" &>/dev/null || die
eapply "${FILESDIR}"/virtualbox-guest-additions-5.2.18-linux-4.18.patch # 663488
popd &>/dev/null || die
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED%/}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED%/}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
insinto /usr/share/doc/${PF}
doins "${FILESDIR}"/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
fi
elog ""
elog "Please add users to the \"vboxguest\" group so they can"
elog "benefit from seamless mode, auto-resize and clipboard."
elog ""
elog "The vboxsf group has been added to make automount services work."
elog "These services are part of the shared folders support."
elog ""
elog "Please add:"
elog "/etc/init.d/${PN}"
elog "to the default runlevel in order to start"
elog "needed services."
elog "To use the VirtualBox X driver, use the following"
elog "file as your /etc/X11/xorg.conf:"
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
elog ""
elog "Also make sure you use the Mesa library for OpenGL:"
elog " eselect opengl set xorg-x11"
elog ""
elog "An autostart .desktop file has been installed to start"
elog "VBoxClient in desktop sessions."
elog ""
elog "You can mount shared folders with:"
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
elog ""
elog "Warning:"
elog "this ebuild is only needed if you are running gentoo"
elog "inside a VirtualBox Virtual Machine, you don't need"
elog "it to run VirtualBox itself."
elog ""
}

View File

@@ -30,8 +30,6 @@ RDEPEND="
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!x11-drivers/xf86-input-virtualbox
!x11-drivers/xf86-video-virtualbox
"
DEPEND="
${RDEPEND}

View File

@@ -30,8 +30,6 @@ RDEPEND="
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
!!x11-drivers/xf86-input-virtualbox
!x11-drivers/xf86-video-virtualbox
"
DEPEND="
${RDEPEND}

View File

@@ -1,6 +1,3 @@
DIST vbox-kernel-module-src-5.1.36.tar.xz 628368 BLAKE2B 49a3dfc4ff573f793eefcfd9b645af6fa6fc63b54475921064be146d3d4bf4db61f48d82f62d65811597fa12b88331153f7491890527fde76f41426355552abb SHA512 c69739c72a5555fc3bca90186129fa4eeb5bd930c4396b416a8a88e6f84bcd9e7498a9bbc9381da648cf87d601d98249feac2e4de6d93d8b7aba46b22d3ec40f
DIST vbox-kernel-module-src-5.1.38.tar.xz 628552 BLAKE2B 9faa4e837a48ac27be5c0183edcf2b39c08eeab210bd39811704a7a578a93b28f8b8ecf26a34483f2d135a8cb8817756120d7bef0b8de245c5a5e232cfebfff0 SHA512 36311c3ff947fa763db1fc0612c5a4c10ac3d586c3faab3a91e463723488510cedfc1a69696381158a167edfc86d7abf66c18b287ced75cbaba3f1797c4265a8
DIST vbox-kernel-module-src-5.2.14.tar.xz 637352 BLAKE2B 7ccefbb13f25fe995e0f769192a93baa91358c09e7126d6a6c8bef7fceeab50082f78843140d23cf88c4931c561552c4131b17625e7a3821766571387d78d2a3 SHA512 920eca67fb10ed4d1eeab95b14e65c585dd96df82a4690c34c9d85366ec6dd9835f9a772eb4718a80e6ffb2637de2a698151a6bdfd7984fc2070cd0bade5c077
DIST vbox-kernel-module-src-5.2.16.tar.xz 638172 BLAKE2B 80a27100bb0be97796f03b368c589965d476e6d0c79424b94a5100561dc84bc2baf28b271a744b7b4ad53e015fb463faf2871d24596fafc83c80ccbe16087730 SHA512 35169a46ca9018f169b25359c0f4bf658622d71ea284768912bf0a8d2ac34ecec94f5dc774f77f0c02d1b83363faad53158baac7423f588deedfe8073a1e56a3
DIST vbox-kernel-module-src-5.2.18.tar.xz 638008 BLAKE2B 8ad08362e81365956bace1f6591ddd5f8201f3464df6f3f378c6c1b88f8a58eb823646f5c36f8c5efbdcd9941ec8eb46b604b356a39bf44af50b0ee9e5a6914a SHA512 0ba280b111725f6e77544e29db4dfbc8c418d928fd03db0a5d747703513147bc3b7ff7fcfa544298414ec97e95c99f9408c1fe2349d652552a652b6518898401
DIST vbox-kernel-module-src-5.2.20.tar.xz 638452 BLAKE2B f8fa29e21a77ebfec765ce0e006aaba9fdc76773e216d0c24c705e688730598e85b2c191406acd376f4020c67e296b6f22b0acecb7f15f3e343233b4a7da62fa SHA512 5378be30ab697ded6c07e74b15a38331914b19f72c55847e92e6e89541c25d89aeb6020aaaa3820e84902efb10a5b7ba7190a5271da93cd490b25fcbd787bf28

View File

@@ -1,60 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S=${WORKDIR}
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} 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
eapply "${FILESDIR}"/${PN}-4.1.4-pax-const.patch
fi
if kernel_is -ge 4 14 0 ; then
eapply "${FILESDIR}"/${PN}-5.1.30-udp.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
}

View File

@@ -1,56 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S=${WORKDIR}
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} 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
eapply "${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
}

View File

@@ -1,51 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
doins "${FILESDIR}"/virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

View File

@@ -1,9 +1,5 @@
DIST VirtualBox-5.1.36.tar.bz2 117244376 BLAKE2B 141048f4fcbb3ce63d236a4127b4bce377e87876c23dc3ff6437b2c0cca5b468bc6a5737899b308bc1ff3252d4e61f7d053ff7574c33c85b56fdd986c31f2af3 SHA512 d1a9322c97c68cc9c21247c3df8ce2084911aded66a63adf5510f9e0f4558b1304dfe924a0c44243adc1ae8f7c45c47782e882baac1bfe995ea6c0a1370fcbd1
DIST VirtualBox-5.1.38.tar.bz2 117345233 BLAKE2B 15ed86a1f6730c781a0b4b055dcccfb56ff9c829c90dc4d2aa96cc2bb5bcfa8e442bdd471a7c70c5520bef994592e8f1a5b46831df4039efb5358c2e0ab83413 SHA512 6cf8536c24aa3a6e889214ef6133eb18fdbe1e7c371323cad07aa63b0e1f4414ba13d5fa7b63c12dfefe60e2e544488ced107571f678a06eb094a3e19b377ea8
DIST VirtualBox-5.2.14.tar.bz2 118597539 BLAKE2B 5e0a8d92405378eb438cae375041609f7a0e1288b040d3a0bcc06157f16ddd48b3537f2f026aa12a71c5319bdef56d6f3907785ac51ebe05a8b7143e04f22d0a SHA512 b8202eccd83e9f2c92a77548d003082b6b3ff7838bb32ae48c3a25dcd622bfdc8ceca42cc49b855eeabf4439c55ad42df9b3959dd1bab77de154468e139c904e
DIST VirtualBox-5.2.16.tar.bz2 118678441 BLAKE2B 9d912a51ceb69eb117d9886adf34fe4900bd941637c0610e0e0febb650cf7817b6f2fa0db4b085c0cb28c56892e7f8678e3533d7384cd155e356fa4a0ec7c0fa SHA512 361607c43e3f7fb60da6db898951317c45a7f7b782c42808759f7c29502e3778ae28e5a54b5c49d1c5e46d94f85dbd1891d69f16d756767f0155bb48531b9519
DIST VirtualBox-5.2.18.tar.bz2 118700952 BLAKE2B 5e9a5ca5379d80a8d9d0d53fe7b1f7cd98e03b6c535867932d55aa6a936e65f2d294264da014f332c2caa933a262ced3e350d9eb685ad99dec02a02ffcf5e7cb SHA512 f67c17cdd39e699e6c80af82a2c2d0c5dab073ddba2b55393740e605debb973030c48ce736ae753fc1e680845f0b62209c0f8951db08b665e9cdd83c52d5be20
DIST VirtualBox-5.2.20.tar.bz2 118760364 BLAKE2B 7a5f72340796d3278ef5f3210f4b25bf4d999ec93cdd0449853faf68b38c45a6ffd00fe2c88f12296029882f7715c012d1793cfff9d1c2441aa4db414fa3225e SHA512 ff039e487c43b584c5c5959df1622151d82f6c39101af869262f800d07e68a68005ed442112e36ebe249ed79de34c0b974bbd43e7889a5d40df2ebe7dec77a15
DIST virtualbox-5.1.32-patches-01.tar.xz 2464 BLAKE2B 28f461634ac7f200b74d961e56f56aea486445bdb8d1490000bd34393b4873ee058d1dc9db6c32084921bd7d51a92be1e38b1b098385f443f41b9231c1489829 SHA512 08782c8eecc0cbb370f21fb3951af449ed1c8174a7184210de376a7d4ca5d64b14b2619d121aacef1c85982c8b485e545e260d3c0fc1f95769093efa23cd2cd2
DIST virtualbox-5.2.12-patches-01.tar.xz 2616 BLAKE2B 5731484d185414d83588ee227bbc1eef266451d1a3a710adf1b769cd6404ef1750dba7a60549f2ab9f3fb81ef15809db9ea0190127caefc72d7bc9bb8b741fb0 SHA512 712b55392a8e8357e95abb42ea4f8dac3391ecbf9cbecf27c7dbf674c40f42a1eb19d227a1b3adcf621384a9f64a6438d20fb43866c736189097fb5770c5c654
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450

View File

@@ -1,158 +0,0 @@
diff -Naur VirtualBox-5.1.24/Config.kmk VirtualBox-5.1.24/Config.kmk
--- VirtualBox-5.1.24/Config.kmk 2017-07-26 13:55:27.803972185 -0400
+++ VirtualBox-5.1.24/Config.kmk 2017-07-26 13:53:10.700974328 -0400
@@ -2601,6 +2601,7 @@
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overlength-strings?= $(call VBOX_GCC_CHECK_CC,-Wno-overlength-strings,)'
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_Wno-overloaded-virtual?= $(call VBOX_GCC_CHECK_CXX,-Wno-overloaded-virtual,)'
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-stack-protector ?= $(call VBOX_GCC_CHECK_CC,-fno-stack-protector,)'
+ $(QUIET)$(APPEND) '$@' 'VBOX_GCC_nopie ?= $(call VBOX_GCC_CHECK_CC,-nopie,)'
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_fno-dwarf2-cfi-asm ?= $(call VBOX_GCC_CHECK_CC,-fno-dwarf2-cfi-asm,)'
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_m64 ?= $(call VBOX_GCC_CHECK_CC,-m64,)'
$(QUIET)$(APPEND) '$@' 'VBOX_GCC_no-pie ?= $(call VBOX_GCC_CHECK_CC,-no-pie,)'
@@ -3843,8 +3844,8 @@
ifeq ($(VBOX_LDR_FMT32),elf)
TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC32_TOOL)
- TEMPLATE_VBoxRc_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
- TEMPLATE_VBoxRc_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxRc_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxRc_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_IPRT_FMT_CHECK)
ifeq ($(KBUILD_TARGET),solaris)
TEMPLATE_VBoxRc_LDFLAGS = -r
else
@@ -3864,8 +3865,8 @@
ifeq ($(VBOX_LDR_FMT32),macho)
TEMPLATE_VBoxRc_TOOL = $(VBOX_GCC_TOOL)
TEMPLATE_VBoxRc_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS)
- TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
- TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
+ TEMPLATE_VBoxRc_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
+ TEMPLATE_VBoxRc_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -m32 -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
TEMPLATE_VBoxRc_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -m32 -nostdlib
#TEMPLATE_VBoxRc_LDFLAGS.release = -Wl,-S ???
endif
@@ -3903,9 +3904,9 @@
endif
ifeq ($(VBOX_LDR_FMT32),elf)
- TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0
- TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0
- TEMPLATE_VBoxRcExe_LDFLAGS = -g
+ TEMPLATE_VBoxRcExe_CFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CFLAGS)) -O0 $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxRcExe_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBoxRc_CXXFLAGS)) -O0 $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxRcExe_LDFLAGS = -g $(VBOX_GCC_nopie)
TEMPLATE_VBoxRcExe_LDFLAGS.dbgopt = -g
TEMPLATE_VBoxRcExe_LDFLAGS.strict = -g
TEMPLATE_VBoxRcExe_LDFLAGS.release = -g
@@ -3984,8 +3985,8 @@
ifeq ($(VBOX_LDR_FMT),elf)
TEMPLATE_VBoxR0_TOOL = $(VBOX_GCC_TOOL)
-TEMPLATE_VBoxR0_CFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
-TEMPLATE_VBoxR0_CXXFLAGS = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
+TEMPLATE_VBoxR0_CFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
+TEMPLATE_VBoxR0_CXXFLAGS = -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) -fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables -ffreestanding
TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mcmodel=kernel -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fno-asynchronous-unwind-tables
ifeq ($(KBUILD_TARGET),solaris)
@@ -4018,12 +4019,12 @@
TEMPLATE_VBoxR0_DEFS += $(VBOX_DARWIN_DEF_SDK_DEFS)
TEMPLATE_VBoxR0_CXXFLAGS = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC_Wno-variadic-macros) \
-fno-common -msoft-float -static -fno-rtti -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
+ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
TEMPLATE_VBoxR0_CXXFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables
TEMPLATE_VBoxR0_CXXFLAGS.x86 = -m32
TEMPLATE_VBoxR0_CFLAGS = $(VBOX_DARWIN_DEF_SDK_CFLAGS) -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) $(VBOX_GCC_Wno-variadic-macros) \
-fno-common -msoft-float -static -fno-exceptions $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing \
- -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector)
+ -mno-sse -mno-mmx -mno-sse2 -mno-3dnow $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
TEMPLATE_VBoxR0_CFLAGS.amd64 = -m64 -mno-red-zone -mno-sse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -fno-unwind-tables
TEMPLATE_VBoxR0_CFLAGS.x86 = -m32
TEMPLATE_VBoxR0_LDFLAGS = $(VBOX_DARWIN_DEF_SDK_LDFLAGS) -nostdlib
@@ -4259,7 +4260,7 @@
-Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
-Wimplicit-function-declaration -Werror-implicit-function-declaration \
-O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -std=c99
TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-align-long-strings -mpreferred-stack-boundary=2 -mno-mmx -mno-3dnow -mno-sse -mno-sse2
TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 --param inline-unit-growth=100 --param large-function-growth=1000 \
@@ -4268,7 +4269,7 @@
TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \
$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
-O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc
TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64)
@@ -4341,7 +4342,7 @@
-Wstrict-prototypes -Wmissing-prototypes -Wstrict-prototypes \
-Wimplicit-function-declaration -Werror-implicit-function-declaration \
-O2 -ffreestanding -fno-strict-aliasing -fno-common -finline-limit=8000 \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -std=c99 -msoft-float
TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 \
-mpreferred-stack-boundary=2 -mno-mmx -mno-sse -mno-avx \
@@ -4353,7 +4354,7 @@
TEMPLATE_VBOXR0DRV_CXXFLAGS = -fno-exceptions -fno-rtti \
$(VBOX_GCC_WARN) -Wpointer-arith -Winline \
-O2 -fno-strict-aliasing -fno-common -finline-limit=8000 \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) \
-nostdinc -msoft-float
TEMPLATE_VBOXR0DRV_CXXFLAGS.x86 = $(TEMPLATE_VBOXR0DRV_CFLAGS.x86)
TEMPLATE_VBOXR0DRV_CXXFLAGS.amd64 = $(TEMPLATE_VBOXR0DRV_CFLAGS.amd64)
@@ -4394,7 +4395,7 @@
TEMPLATE_VBOXR0DRV_LDFLAGS = -shared -no-undefined -dc -dy -lroot -rpath-link /boot/system/develop/lib/x86 --no-add-needed /boot/system/develop/lib/_KERNEL_ --no-add-needed /boot/system/develop/lib/haiku_version_glue.o
TEMPLATE_VBOXR0DRV_CFLAGS = -fno-PIC \
$(VBOX_GCC_WARN) -Wstrict-prototypes $(VBOX_GCC_Wno-pointer-sign) -Wno-sign-compare \
- $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
+ $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration
TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
TEMPLATE_VBOXR0DRV_CFLAGS.x86 = -m32 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
TEMPLATE_VBOXR0DRV_CFLAGS.amd64 = -m64 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow \
@@ -5210,8 +5211,8 @@
TEMPLATE_VBoxNoCrtGccLib_TOOL = $(VBOX_GCC_TOOL)
TEMPLATE_VBoxNoCrtGccLib_ASTOOL = $(VBOX_ASTOOL)
TEMPLATE_VBoxNoCrtGccLib_ASFLAGS = $(VBOX_ASFLAGS)
- TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector)
- TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector)
+ TEMPLATE_VBoxNoCrtGccLib_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
+ TEMPLATE_VBoxNoCrtGccLib_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
ifeq ($(KBUILD_TARGET_ARCH),amd64)
# in 64-bit mode we'll build a sys-module (VBoxREM2).
if1of ($(KBUILD_TARGET), darwin solaris)
@@ -6467,8 +6468,8 @@
TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS = $(TEMPLATE_VBOXGUESTR3EXE_CFLAGS) -fno-pie -fno-merge-constants -std=c99 -ffreestanding
TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS= $(TEMPLATE_VBOXGUESTR3EXE_CXXFLAGS) -fno-pie -fno-merge-constants -ffreestanding
ifndef VBOX_WITH_COMPATIBLE_LINUX_GUEST_PACKAGE
- TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector)
- TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector)
+ TEMPLATE_VBOXGUESTR3XF86MOD_CFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
+ TEMPLATE_VBOXGUESTR3XF86MOD_CXXFLAGS += $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_nopie)
endif
TEMPLATE_VBOXGUESTR3XF86MOD_SYSSUFF = .o
TEMPLATE_VBOXGUESTR3XF86MOD_LIBS = \
diff -Naur VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk
--- VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:55:27.746972186 -0400
+++ VirtualBox-5.1.24/src/VBox/Devices/PC/ipxe/Makefile.kmk 2017-07-26 13:53:10.641974329 -0400
@@ -132,6 +132,7 @@
-W \
-Wformat-nonliteral \
$(VBOX_GCC_fno-stack-protector) \
+ $(VBOX_GCC_nopie) \
$(VBOX_GCC_fno-dwarf2-cfi-asm) \
$(VBOX_GCC_Wno-address)
TEMPLATE_iPxe_ASFLAGS = \
@@ -155,6 +156,7 @@
-W \
-Wformat-nonliteral \
$(VBOX_GCC_fno-stack-protector) \
+ $(VBOX_GCC_nopie) \
$(VBOX_GCC_fno-dwarf2-cfi-asm) \
$(VBOX_GCC_Wno-address) \
-DASSEMBLY

View File

@@ -1,59 +0,0 @@
2017-02-20 Quentin Minster <quentin@minster.io>
#https://bugs.gentoo.org/show_bug.cgi?id=591582
* Config.kmk: add paxmark befor VBOX_VBOXTPG get run.
* src/VBox/VMM/Makefile.kmk: add paxmark befor VBOX_VBOXCPP get run.
* src/VBox/Main/Makefile.kmk: add paxmark befor USBIdDatabaseGenerator_1_TARGET get run.
--- a/Config.kmk
+++ b/Config.kmk 2016-09-21 02:22:28
@@ -3719,11 +3719,13 @@
$(if-expr $(intersects $(KBUILD_TARGET_ARCH),$(KBUILD_ARCHES_64)),-64,-32) \
-h --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv
define TOOL_VBoxTpG_DTRACE_HDR_CMDS
+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
$(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)"
endef
TOOL_VBoxTpG_DTRACE_OBJ_NOT_NEEDED :=
TOOL_VBoxTpG_DTRACE_OBJ_FLAGS := -G --host-$(VBOX_HC_ARCH_BITS)-bit #-vvv
define TOOL_VBoxTpG_DTRACE_OBJ_CMDS
+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
$(QUIET)$(VBOX_VBOXTPG) \
$(if-expr $(intersects $(bld_trg_arch),$(KBUILD_ARCHES_64)),-64,-32) \
$(flags) \
@@ -3738,6 +3740,7 @@
TOOL_VBoxTpG-Disabled_DTRACE_DEPORD = $(VBOX_VBOXTPG)
TOOL_VBoxTpG-Disabled_DTRACE_HDR_FLAGS := -h
define TOOL_VBoxTpG-Disabled_DTRACE_HDR_CMDS
+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
$(QUIET)$(VBOX_VBOXTPG) $(flags) -o "$(out)" -s "$(source)"
endef
TOOL_VBoxTpG-Disabled_DTRACE_OBJ_NOT_NEEDED := $(KBUILD_OSES)
@@ -3752,6 +3755,7 @@
TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS =
define TOOL_DTraceAndVBoxTpG_DTRACE_HDR_CMDS
$(TOOL_StandardDTrace_DTRACE_HDR_CMDS)
+ $(QUIET)paxmark.sh -m "$(VBOX_VBOXTPG)"
$(QUIET)$(VBOX_VBOXTPG) --generate-wrapper-header --host-$(VBOX_HC_ARCH_BITS)-bit --ring-3-context \
$(filter-out -C, $(filter-out -h,$(flags))) \
-o "$(out).tmp" -s "$(source)"
--- a/src/VBox/VMM/Makefile.kmk
+++ b/src/VBox/VMM/Makefile.kmk 2016-09-21 02:26:11
@@ -795,6 +795,7 @@
define def_vmm_lib_dtrace_preprocess
$$$$(VMMLibDTrace_0_OUTDIR)/$1: $2 $$(VBOX_VBOXCPP) | $$$$(dir $$$$@)
$$(QUIET)$$(call MSG_GENERATE,VMMLibDTrace,$$@,$$<)
+ $$(QUIET)paxmark.sh -m "$(VBOX_VBOXCPP)"
$$(QUIET)$(VBOX_VBOXCPP) -d \
-D VBOX_FOR_DTRACE_LIB \
-D VBOX_FOR_DTRACE_LIB_$(toupper $(KBUILD_TARGET_ARCH)) \
--- a/src/VBox/Main/Makefile.kmk
+++ b/src/VBox/Main/Makefile.kmk 2016-09-21 02:31:23
@@ -522,6 +522,7 @@
$$(VBoxSVC_0_OUTDIR)/USBIdDatabase.cpp: $$(USBIdDatabaseGenerator_1_TARGET) \
$(PATH_SUB_CURRENT)/src-server/usb.ids $(PATH_SUB_CURRENT)/src-server/custom.ids | $$(dir $$@)
$(call MSG_GENERATE,USBIdDatabase,$@,$<)
+ $(QUIET)paxmark.sh -m "$(USBIdDatabaseGenerator_1_TARGET)"
$(QUIET)$(USBIdDatabaseGenerator_1_TARGET) -o "$@" $(filter %.ids,$^)
BLDPROGS += USBIdDatabaseGenerator

View File

@@ -1,470 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.1.32-patches-01.tar.xz"
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
)
)
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/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_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
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Don't use "echo -n"
sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.1.24-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
./configure ${myconf[@]} || die "configure failed"
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${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
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${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
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

View File

@@ -1,470 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.1.32-patches-01.tar.xz"
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
)
)
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/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_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
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Don't use "echo -n"
sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.1.24-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.1.4-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
./configure ${myconf[@]} || die "configure failed"
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${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
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${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
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

View File

@@ -1,473 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.16-patches-02.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
sys-libs/zlib
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_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
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Don't use "echo -n"
sed 's@ECHO_N="echo -n"@ECHO_N="printf"@' -i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus --build-libopus '')
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
./configure ${myconf[@]} || die "configure failed"
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

View File

@@ -1,2 +0,0 @@
DIST VirtualBox-5.1.36.tar.bz2 117244376 BLAKE2B 141048f4fcbb3ce63d236a4127b4bce377e87876c23dc3ff6437b2c0cca5b468bc6a5737899b308bc1ff3252d4e61f7d053ff7574c33c85b56fdd986c31f2af3 SHA512 d1a9322c97c68cc9c21247c3df8ce2084911aded66a63adf5510f9e0f4558b1304dfe924a0c44243adc1ae8f7c45c47782e882baac1bfe995ea6c0a1370fcbd1
DIST VirtualBox-5.1.38.tar.bz2 117345233 BLAKE2B 15ed86a1f6730c781a0b4b055dcccfb56ff9c829c90dc4d2aa96cc2bb5bcfa8e442bdd471a7c70c5520bef994592e8f1a5b46831df4039efb5358c2e0ab83413 SHA512 6cf8536c24aa3a6e889214ef6133eb18fdbe1e7c371323cad07aa63b0e1f4414ba13d5fa7b63c12dfefe60e2e544488ced107571f678a06eb094a3e19b377ea8

View File

@@ -1,13 +0,0 @@
--- a/configure
+++ b/configure
@@ -1955,8 +1955,8 @@
HEADLESS=1
WITH_SDL=0
WITH_SDL_TTF=0
- WITH_X11=0
- WITH_OPENGL=0
+ WITH_X11=1
+ WITH_OPENGL=1
WITH_QT4=0
;;
--ose)

View File

@@ -1,30 +0,0 @@
# -*- Makefile -*-
#
# Overwrite some default kBuild settings
#
#
# Copyright (C) 2006-2008 Sun Microsystems, Inc.
#
# This file is part of VirtualBox Open Source Edition (OSE), as
# available from http://www.virtualbox.org. This file is free software;
# you can redistribute it and/or modify it under the terms of the GNU
# General Public License as published by the Free Software Foundation,
# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
# distribution. VirtualBox OSE is distributed in the hope that it will
# be useful, but WITHOUT ANY WARRANTY of any kind.
#
# don't build testcases to save time, they are not needed for the package
VBOX_WITH_TESTCASES :=
VBOX_WITH_VALIDATIONKIT :=
KBUILD_MSG_STYLE := brief
## paths, origin, hardening
VBOX_WITH_HARDENING := 2
VBOX_WITH_ORIGIN :=
VBOX_ONLY_ADDITIONS := 1
TEMPLATE_VBOXGUESTR3XF86MOD_LDFLAGS.release =
TEMPLATE_VBOXGUESTR3XORGMOD_LDFLAGS = $(TEMPLATE_VBOXGUESTR3DLL_LDFLAGS)

View File

@@ -1,52 +0,0 @@
--- VirtualBox-5.0.0_BETA3/configure
+++ VirtualBox-5.0.0_BETA3/configure
@@ -1258,10 +1258,7 @@
XCloseDisplay(dpy);
}
EOF
- [ -n "$INCX11" ] && I_INCX11=`prefix_I "$INCX11"`
- if test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs; then
- log_success "found"
- fi
+ test_compile "$LIBX11 $I_INCX11" Xlibs Xlibs
}
@@ -1415,21 +1412,6 @@
#include <GL/glu.h>
extern "C" int main(void)
{
- Display *dpy;
- int major, minor;
-
- dpy = XOpenDisplay(NULL);
- if (dpy)
- {
- Bool glx_version = glXQueryVersion(dpy, &major, &minor);
- XCloseDisplay(dpy);
- if (glx_version)
- {
- printf("found version %u.%u, OK.\n", major, minor);
- return 0;
- }
- }
- printf("found (inactive), OK.\n");
return 0;
}
EOF
@@ -2706,7 +2688,6 @@
# don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs
# [ "$OS" != "darwin" ] && check_yasm
[ "$OS" != "darwin" ] && check_xsltproc
- [ "$OS" != "darwin" ] && check_mkisofs
fi
# the libraries
@@ -2774,7 +2755,6 @@
check_compiler_h
[ $ONLY_ADDITIONS -eq 0 -a "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
# tools/common/makeself*
- [ $OSE -ge 1 ] && check_makeself
fi
[ -n "$SETUP_WINE" ] && setup_wine

View File

@@ -1,82 +0,0 @@
Fix from opensuse:
https://build.opensuse.org/package/view_file/Virtualization/virtualbox/Fix_for_server_1.19.patch
https://bugs.gentoo.org/602784
Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
===================================================================
--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
+++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.h
@@ -52,6 +52,10 @@
#ifndef _VBOXVIDEO_H_
#define _VBOXVIDEO_H_
+#if XORG_VERSION_CURRENT >= 11900000
+#include <bits/sigset.h>
+typedef __sigset_t sigset_t;
+#endif
#include <VBox/VBoxVideoGuest.h>
#include <VBox/VBoxVideo.h>
#include "version-generated.h"
Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c
===================================================================
--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/helpers.c
+++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/helpers.c
@@ -82,7 +82,11 @@ void vbvxSetIntegerPropery(ScrnInfoPtr p
property_name = MakeAtom(pszName, strlen(pszName), TRUE);
VBVXASSERT(property_name != BAD_RESOURCE, ("Failed to set atom \"%s\"\n", pszName));
+#if XORG_VERSION_CURRENT >= 11900000
+ dixChangeWindowProperty(serverClient, ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent);
+#else
ChangeWindowProperty(ROOT_WINDOW(pScrn), property_name, XA_INTEGER, 32, PropModeReplace, cData, paData, fSendEvent);
+#endif
}
void vbvxReprobeCursor(ScrnInfoPtr pScrn)
Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
===================================================================
--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
+++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/vboxvideo.c
@@ -1229,7 +1229,11 @@ static Bool VBOXScreenInit(ScreenPtr pSc
updateGraphicsCapability(pScrn, TRUE);
/* Register block and wake-up handlers for getting new screen size hints. */
+#if XORG_VERSION_CURRENT >= 11900000
+ RegisterBlockAndWakeupHandlers(vboxBlockHandler, (ServerWakeupHandlerProcPtr)NoopDDA, (pointer)pScrn);
+#else
RegisterBlockAndWakeupHandlers(vboxBlockHandler, (WakeupHandlerProcPtr)NoopDDA, (pointer)pScrn);
+#endif
/* software cursor */
miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c
===================================================================
--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/pointer.c
+++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/pointer.c
@@ -15,6 +15,10 @@
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
+#if XORG_VERSION_CURRENT >= 11900000
+#include <bits/sigset.h>
+typedef __sigset_t sigset_t;
+#endif
#include <VBox/VBoxGuestLib.h>
#ifndef PCIACCESS
Index: VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c
===================================================================
--- VirtualBox-5.1.10.orig/src/VBox/Additions/x11/vboxvideo/edid.c
+++ VirtualBox-5.1.10/src/VBox/Additions/x11/vboxvideo/edid.c
@@ -44,6 +44,10 @@
* Dave Airlie <airlied@redhat.com>
*/
+#if XORG_VERSION_CURRENT >= 11900000
+#include <bits/sigset.h>
+typedef __sigset_t sigset_t;
+#endif
#include <misc.h>
#include <xf86DDC.h>
#include <xf86Crtc.h>

View File

@@ -1,13 +0,0 @@
Fix bug #625690
--- a/src/VBox/Additions/linux/drm/Makefile.module.kms
+++ b/src/VBox/Additions/linux/drm/Makefile.module.kms
@@ -50,7 +50,7 @@ MOD_CFLAGS = -Wno-declaration-after-statement -fshort-wchar -fno-pie
ifneq ($(KERN_VERSION),24)
MOD_CFLAGS += -include $(MANGLING)
endif
-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include)
+MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
# What on earth is this?
MOD_INCL += $(addprefix -I$(KBUILD_EXTMOD)/vboxvideo,/ /include)
MOD_INCL += -Iinclude/drm

View File

@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>polynomial-c@gentoo.org</email>
<name>Lars Wendler</name>
</maintainer>
</pkgmetadata>

View File

@@ -1,184 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="dri"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
>=x11-base/xorg-server-1.7:=[-minimal]
x11-libs/libXcomposite
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-lang/yasm-0.6.2
>=dev-util/kbuild-0.1.9998_pre20131130
sys-power/iasl
x11-base/xorg-proto
x11-libs/libXdmcp
x11-libs/libXau
x11-libs/libX11
x11-libs/libXfixes
x11-libs/libXext
dri? ( >=x11-libs/libdrm-2.4.5 )"
PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )"
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.24-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 check
sed -e '/^check_gcc$/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\")"
}

View File

@@ -1,184 +0,0 @@
# Copyright 1999-2018 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="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="dri"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="
>=x11-base/xorg-server-1.7:=[-minimal]
x11-libs/libXcomposite
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-lang/yasm-0.6.2
>=dev-util/kbuild-0.1.9998_pre20131130
sys-power/iasl
x11-base/xorg-proto
x11-libs/libXdmcp
x11-libs/libXau
x11-libs/libX11
x11-libs/libXfixes
x11-libs/libXext
dri? ( >=x11-libs/libdrm-2.4.5 )"
PDEPEND="dri? ( ~app-emulation/virtualbox-guest-additions-${PV} )"
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.24-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 check
sed -e '/^check_gcc$/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\")"
}