Gentoo Archives: gentoo-commits

From: Lars Wendler <polynomial-c@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox/, app-emulation/virtualbox-additions/, ...
Date: Wed, 20 Oct 2021 11:16:47
Message-Id: 1634728596.bea23738e2966a3785bfae2377f0bcf0991f02da.polynomial-c@gentoo
1 commit: bea23738e2966a3785bfae2377f0bcf0991f02da
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Wed Oct 20 11:13:33 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Wed Oct 20 11:16:36 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bea23738
7
8 virtualbox packages: Bump to version 6.1.28
9
10 Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>
11
12 app-emulation/virtualbox-additions/Manifest | 1 +
13 .../virtualbox-additions-6.1.28.ebuild | 34 ++
14 app-emulation/virtualbox-extpack-oracle/Manifest | 1 +
15 .../virtualbox-extpack-oracle-6.1.28.ebuild | 41 ++
16 app-emulation/virtualbox-guest-additions/Manifest | 1 +
17 .../virtualbox-guest-additions-6.1.28.ebuild | 221 +++++++++
18 app-emulation/virtualbox-modules/Manifest | 1 +
19 .../virtualbox-modules-6.1.28.ebuild | 55 +++
20 app-emulation/virtualbox/Manifest | 1 +
21 app-emulation/virtualbox/virtualbox-6.1.28.ebuild | 504 +++++++++++++++++++++
22 10 files changed, 860 insertions(+)
23
24 diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
25 index e7d69181a5a..f92cd8b3b87 100644
26 --- a/app-emulation/virtualbox-additions/Manifest
27 +++ b/app-emulation/virtualbox-additions/Manifest
28 @@ -1,3 +1,4 @@
29 DIST VBoxGuestAdditions_6.1.22.iso 61020160 BLAKE2B e6b79942ed905654ac98323fe5c960afe7467e4ee9da168f7a7b4856a001fa973418e979da57b6e75eedd801bd71f15700ac62a2dfac28b660b36b11287fab57 SHA512 826a4b7d714d1dcb3e7c5c3c95e2a47d2fef728172f2db0e9c983150d7cc335ca7ffd2c87c09e1ca3d0fb1342f4c6c03993f5fc8cff19f28e1f519dec0f3f96b
30 DIST VBoxGuestAdditions_6.1.24.iso 61081600 BLAKE2B 66427a961c83f2de1a0b8671066154133795e8e4f50ac82e927e82e05594c520b155f29f7f19373e5846c36a1e3f6e5d2f5d17db1cebc1996c4d1737d5b45862 SHA512 8753558fcf467805bff801be43281597ef6738f90f8f7a62f6acbba2753e57f44bc72cb66411f0a0f413135026ddf683b0330b49ccad77676ec67b7bf3faf06e
31 DIST VBoxGuestAdditions_6.1.26.iso 61073408 BLAKE2B 0711cb37ef21ce2fc277f1817d173f25686ae8f1f3cf983c93975f0e00df5e8e416f6bceaef3e1d1e30d0f3703186f9686a360a00683a89e5620603a41c21e63 SHA512 b1d9f02a740e61a8fdee7d8bc2ed87bbd4913ad367e8f1b7b964c496f9b10126337715cdcf5a3eb0fd299b11ae6324de8dd09657a55a7976dd14143a2d4ba285
32 +DIST VBoxGuestAdditions_6.1.28.iso 62226432 BLAKE2B 0f2d4076476945466cd5d3c5e3064c0f23e511596933d29cd7bab275ee1a21ac5fb81a4723c342f79946000e97681a5e9875cba006bdee6ec684169abd5e04d9 SHA512 2801c78909bdd38b623e958ce61154da7aa2ababf6e7723baf50e958afd1a8d4b0930800fe5549f728a7ac7979d8fa1597c969bf28743d7266b16ccc1b5960bb
33
34 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.28.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.28.ebuild
35 new file mode 100644
36 index 00000000000..4a54ecd35f5
37 --- /dev/null
38 +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.28.ebuild
39 @@ -0,0 +1,34 @@
40 +# Copyright 2021 Gentoo Authors
41 +# Distributed under the terms of the GNU General Public License v2
42 +
43 +EAPI=8
44 +
45 +MY_PN=VBoxGuestAdditions
46 +MY_PV="${PV/beta/BETA}"
47 +MY_PV="${MY_PV/rc/RC}"
48 +MY_P=${MY_PN}_${MY_PV}
49 +
50 +DESCRIPTION="CD image containing guest additions for VirtualBox"
51 +HOMEPAGE="https://www.virtualbox.org/"
52 +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
53 +
54 +LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
55 +SLOT="0/$(ver_cut 1-2)"
56 +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
57 +KEYWORDS="~amd64"
58 +IUSE=""
59 +RESTRICT="mirror"
60 +
61 +RDEPEND="!app-emulation/virtualbox-bin
62 + !=app-emulation/virtualbox-9999"
63 +
64 +S="${WORKDIR}"
65 +
66 +src_unpack() {
67 + return 0
68 +}
69 +
70 +src_install() {
71 + insinto /usr/share/${PN/-additions}
72 + newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
73 +}
74
75 diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest
76 index fd8c4f81533..120ca362071 100644
77 --- a/app-emulation/virtualbox-extpack-oracle/Manifest
78 +++ b/app-emulation/virtualbox-extpack-oracle/Manifest
79 @@ -1,3 +1,4 @@
80 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.22-144080.tar.gz 11133865 BLAKE2B f0db84695d94d914afd22086ced2a2ca73f860a0bc91bc11744e2cc4a3203584b06f7c855053e33c5f775bc7f6db08b7400f5eeea89566b9146dd144ccf1a2f9 SHA512 71dc1a82b9b88f615ecc7172df344042366a9303115cf44685ea96e3e729b8280edd36377b207fdbbf8adb388d1ec9b21c3ee709cf44aeb52d6811b26fa69a80
81 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.24.tar.gz 11135003 BLAKE2B 53bb6dc35eb8ab1a58492ca3b67b63885ffa1ad3ed3a51a9e7e8c522845b082c420fb39a31a379ee56b45c9b02452acc5be4d72c5a5d9bddaa428bf7c9a3a086 SHA512 e2af2213e99c8c35a3090f5e36d05b1ef27c920cd31a2bf97b0368a89f27a5e2d0e0e0dced5e4e7bacda50fe4b57738924f13a933f5307ff2c8c4015ecc030ae
82 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.26.tar.gz 11134336 BLAKE2B 61e543124c7b2566175f35d0eecb046ce2c69a7fe8102ccbc96f61c4bf700d0b78732e535e09f9056ee8c53ca2f11615bbf5788684a35b04116501d9dc4b4f68 SHA512 b4be713b3e3bdbdecb38d4b27f70e9a34630ea6e4f10beddf96ad1372e3d64aa2ee85b0774e871aefb4f9872b3dcdd3005fc3a7bded6be37d06157f3fe2861e3
83 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.28.tar.gz 11136237 BLAKE2B 66f09d39a60277358b08f073e3d5836bdb4acddfacc0c5321b19f876d4c5407ed1039b65e22e188690cb6c034aacca2be8d60a52acb8467a6c6319f46c15bb61 SHA512 7e352889469ad678e93d042a5a240820753918cd191c9e164678b84947fba5ae0616fda7f8e6385b2ba525e51948e4860ca91cdd62a2eb503f79acadcb367f2e
84
85 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.28.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.28.ebuild
86 new file mode 100644
87 index 00000000000..707f5fe35fd
88 --- /dev/null
89 +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.28.ebuild
90 @@ -0,0 +1,41 @@
91 +# Copyright 2021 Gentoo Authors
92 +# Distributed under the terms of the GNU General Public License v2
93 +
94 +EAPI=8
95 +
96 +MAIN_PV="$(ver_cut 1-3)"
97 +if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
98 + MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
99 + DEP_PV="${MY_PV}"
100 + MY_PV="${MY_PV/beta/BETA}"
101 + MY_PV="${MY_PV/rc/RC}"
102 +else
103 + MY_PV="${MAIN_PV}"
104 + DEP_PV="${MAIN_PV}"
105 +fi
106 +#VBOX_BUILD_ID="$(ver_cut 4)"
107 +MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
108 +MY_P="${MY_PN}-${MY_PV}" #-${VBOX_BUILD_ID}"
109 +
110 +DESCRIPTION="PUEL extensions for VirtualBox"
111 +HOMEPAGE="https://www.virtualbox.org/"
112 +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
113 +
114 +LICENSE="PUEL"
115 +SLOT="0/$(ver_cut 1-2)"
116 +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
117 +KEYWORDS="~amd64"
118 +IUSE=""
119 +RESTRICT="bindist mirror strip"
120 +
121 +RDEPEND="=app-emulation/virtualbox-${DEP_PV}*"
122 +
123 +S="${WORKDIR}"
124 +
125 +QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
126 +
127 +src_install() {
128 + insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
129 + doins -r linux.${ARCH}
130 + doins ExtPack* PXE-Intel.rom
131 +}
132
133 diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
134 index 097a2ef816d..a1c595b3873 100644
135 --- a/app-emulation/virtualbox-guest-additions/Manifest
136 +++ b/app-emulation/virtualbox-guest-additions/Manifest
137 @@ -2,4 +2,5 @@ DIST VirtualBox-6.1.20.tar.bz2 165569564 BLAKE2B cf8c110e78e7d7bef3e3243a8966f4d
138 DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d
139 DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6
140 DIST VirtualBox-6.1.26.tar.bz2 165690074 BLAKE2B c522889191ca2ae2749978853463dd74a8ecbd312b6f9ee05b186577b675efd02b0f66293f7486a3a44cb9619e720f7a4012761ad98907496546fe9be362541f SHA512 7668abaa6e5e9cfbc3c7ae1c6efc11663bce906aa002f78cf2c7acbf9b47f96faeb64c2762330c7091694c191ff2311f3674bd930cfdc020c23ef1d4fd893c9b
141 +DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
142 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
143
144 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.28.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.28.ebuild
145 new file mode 100644
146 index 00000000000..50023a853b9
147 --- /dev/null
148 +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.28.ebuild
149 @@ -0,0 +1,221 @@
150 +# Copyright 2021 Gentoo Authors
151 +# Distributed under the terms of the GNU General Public License v2
152 +
153 +EAPI=7
154 +
155 +inherit linux-mod systemd toolchain-funcs
156 +
157 +MY_PN="VirtualBox"
158 +MY_PV="${PV/beta/BETA}"
159 +MY_PV="${MY_PV/rc/RC}"
160 +MY_P="${MY_PN}-${MY_PV}"
161 +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
162 +
163 +DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
164 +HOMEPAGE="https://www.virtualbox.org/"
165 +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
166 + https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.12-patches-01.tar.xz"
167 +
168 +LICENSE="GPL-2"
169 +SLOT="0/$(ver_cut 1-2)"
170 +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
171 +KEYWORDS="~amd64 ~x86"
172 +IUSE="X"
173 +
174 +# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
175 +RDEPEND="
176 + acct-group/vboxguest
177 + acct-group/vboxsf
178 + acct-user/vboxguest
179 + X? ( x11-apps/xrandr
180 + x11-apps/xrefresh
181 + x11-libs/libXmu
182 + x11-libs/libX11
183 + x11-libs/libXt
184 + x11-libs/libXext
185 + x11-libs/libXau
186 + x11-libs/libXdmcp
187 + x11-libs/libSM
188 + x11-libs/libICE )
189 + sys-apps/dbus
190 +"
191 +DEPEND="
192 + ${RDEPEND}
193 + >=dev-util/kbuild-0.1.9998.3127
194 + >=dev-lang/yasm-0.6.2
195 + sys-devel/bin86
196 + sys-libs/pam
197 + sys-power/iasl
198 + x11-base/xorg-proto
199 +"
200 +PDEPEND="
201 + X? ( x11-drivers/xf86-video-vboxvideo )
202 +"
203 +BUILD_TARGETS="all"
204 +BUILD_TARGET_ARCH="${ARCH}"
205 +
206 +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}"
207 +VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
208 +
209 +pkg_setup() {
210 + export DISTCC_DISABLE=1 #674256
211 + MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
212 + vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
213 + use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
214 +
215 + linux-mod_pkg_setup
216 + BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
217 +}
218 +
219 +src_prepare() {
220 + # Remove shipped binaries (kBuild,yasm), see bug #232775
221 + rm -r kBuild/bin tools || die
222 +
223 + # Provide kernel sources
224 + pushd src/VBox/Additions &>/dev/null || die
225 + ebegin "Extracting guest kernel module sources"
226 + kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
227 + eend
228 + popd &>/dev/null || die
229 +
230 + # PaX fixes (see bug #298988)
231 + pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
232 + eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
233 + popd &>/dev/null || die
234 +
235 + # Disable things unused or splitted into separate ebuilds
236 + cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
237 + use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
238 +
239 + # Remove pointless GCC version check
240 + sed -e '/^check_gcc$/d' -i configure || die
241 +
242 + eapply "${WORKDIR}/patches"
243 +
244 + eapply_user
245 +}
246 +
247 +src_configure() {
248 + # build the user-space tools, warnings are harmless
249 + local cmd=(
250 + ./configure
251 + --nofatal
252 + --disable-xpcom
253 + --disable-sdl-ttf
254 + --disable-pulse
255 + --disable-alsa
256 + --with-gcc="$(tc-getCC)"
257 + --with-g++="$(tc-getCXX)"
258 + --target-arch=${ARCH}
259 + --with-linux="${KV_OUT_DIR}"
260 + --build-headless
261 + )
262 + echo "${cmd[@]}"
263 + "${cmd[@]}" || die "configure failed"
264 + source ./env.sh
265 + export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
266 +}
267 +
268 +src_compile() {
269 + MAKE="kmk" emake \
270 + VBOX_BUILD_PUBLISHER=_Gentoo \
271 + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
272 + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
273 + TOOL_YASM_AS=yasm \
274 + VBOX_ONLY_ADDITIONS=1 \
275 + KBUILD_VERBOSE=2
276 +
277 + # Now creating the kernel modules. We must do this _after_
278 + # we compiled the user-space tools as we need two of the
279 + # automatically generated header files. (>=3.2.0)
280 + linux-mod_src_compile
281 +}
282 +
283 +src_install() {
284 + linux-mod_src_install
285 +
286 + cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
287 +
288 + insinto /sbin
289 + newins mount.vboxsf mount.vboxsf
290 + fperms 4755 /sbin/mount.vboxsf
291 +
292 + newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
293 +
294 + insinto /usr/sbin/
295 + newins VBoxService vboxguest-service
296 + fperms 0755 /usr/sbin/vboxguest-service
297 +
298 + insinto /usr/bin
299 + doins VBoxControl
300 + fperms 0755 /usr/bin/VBoxControl
301 +
302 + # VBoxClient user service and xrandr wrapper
303 + if use X ; then
304 + doins VBoxClient
305 + fperms 0755 /usr/bin/VBoxClient
306 +
307 + pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
308 + || die
309 + newins 98vboxadd-xclient VBoxClient-all
310 + fperms 0755 /usr/bin/VBoxClient-all
311 + popd &>/dev/null || die
312 + fi
313 +
314 + # udev rule for vboxdrv
315 + local udev_rules_dir="/lib/udev/rules.d"
316 + dodir ${udev_rules_dir}
317 + echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
318 + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
319 + || die
320 + echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
321 + >> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
322 + || die
323 +
324 + # VBoxClient autostart file
325 + insinto /etc/xdg/autostart
326 + doins "${FILESDIR}"/vboxclient.desktop
327 +
328 + # sample xorg.conf
329 + dodoc "${FILESDIR}"/xorg.conf.vbox
330 + docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
331 +
332 + systemd_dounit "${FILESDIR}/${PN}.service"
333 +}
334 +
335 +pkg_postinst() {
336 + linux-mod_pkg_postinst
337 + if ! use X ; then
338 + elog "use flag X is off, enable it to install the"
339 + elog "X Window System video driver."
340 + fi
341 + elog ""
342 + elog "Please add users to the \"vboxguest\" group so they can"
343 + elog "benefit from seamless mode, auto-resize and clipboard."
344 + elog ""
345 + elog "The vboxsf group has been added to make automount services work."
346 + elog "These services are part of the shared folders support."
347 + elog ""
348 + elog "Please add:"
349 + elog "/etc/init.d/${PN}"
350 + elog "to the default runlevel in order to start"
351 + elog "needed services."
352 + elog "To use the VirtualBox X driver, use the following"
353 + elog "file as your /etc/X11/xorg.conf:"
354 + elog " /usr/share/doc/${PF}/xorg.conf.vbox"
355 + elog ""
356 + elog "Also make sure you use the Mesa library for OpenGL:"
357 + elog " eselect opengl set xorg-x11"
358 + elog ""
359 + elog "An autostart .desktop file has been installed to start"
360 + elog "VBoxClient in desktop sessions."
361 + elog ""
362 + elog "You can mount shared folders with:"
363 + elog " mount -t vboxsf <shared_folder_name> <mount_point>"
364 + elog ""
365 + elog "Warning:"
366 + elog "this ebuild is only needed if you are running gentoo"
367 + elog "inside a VirtualBox Virtual Machine, you don't need"
368 + elog "it to run VirtualBox itself."
369 + elog ""
370 +}
371
372 diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
373 index b3a69ad07cf..dc77204e33a 100644
374 --- a/app-emulation/virtualbox-modules/Manifest
375 +++ b/app-emulation/virtualbox-modules/Manifest
376 @@ -1,3 +1,4 @@
377 DIST vbox-kernel-module-src-6.1.22.tar.xz 672348 BLAKE2B 331f81c370c24487f4966c745a72329065df2cc22918d03edefdf546d8e4ff0a36404ce98f1012faaacc301cd2c507b055db69b9125f91ad87fa5fde14d3abe0 SHA512 b50d7699db8909ea4e9126715152336a2c46e06f9fc24b5ef0624e7d26de1c83b2a57b0387dab0a46a9e50f9906126cfdcae4f290599de88a980adaff7fba180
378 DIST vbox-kernel-module-src-6.1.24.tar.xz 674584 BLAKE2B 3a20f615426a7b788bc4bce00e416fa3822cbec3f00691651acd53b7c7bda8b43d3669195cececa83f1fc50a792e417adcd709d859497da143c4d93a2b414912 SHA512 220d57ab33a41464cd9e506d38390e60b9e67ca8262b1a13732f3d40820e038365c129eb7144f1932b8c2d3fdcea828de3070dd927788015301bf4aa59c1cc48
379 DIST vbox-kernel-module-src-6.1.26.tar.xz 674624 BLAKE2B e38fdbb63e309463a526c4f6607f0cf6193109a9cd9ac4ac4cd752e614ce1594612dd76da7fda9d9453cbc45e9d3aa2989f370d8900f080e604ef1a903d8a736 SHA512 0755a802ae901664d3ef1481ffc8987a0f94d8be1d95c1969f370e2fe6eb479aba1da38d2206eb8191c05d3b7da4cf3d16e4e53d40fcb3f758622030a8864c98
380 +DIST vbox-kernel-module-src-6.1.28.tar.xz 674924 BLAKE2B 4a262a1609df493df8ba5b78d2daa225aed41fe51d54648633393dcb24ec648ae95f2fcb003f9a7ceb1a2a2ea99bc113d54db6621523ddfc3819e729c46f42c8 SHA512 b0fc1a1a821c93aa7dadd3a064d87938d31cf6ce37ab55d960fba104df4f28ab48797dc254e246af7bf1d5df913a9f329035941555fc9f165f02abea4448f684
381
382 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.28.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.28.ebuild
383 new file mode 100644
384 index 00000000000..468a1ffeef5
385 --- /dev/null
386 +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.28.ebuild
387 @@ -0,0 +1,55 @@
388 +# Copyright 2021 Gentoo Authors
389 +# Distributed under the terms of the GNU General Public License v2
390 +
391 +# XXX: the tarball here is just the kernel modules split out of the binary
392 +# package that comes from virtualbox-bin
393 +
394 +EAPI=7
395 +
396 +inherit linux-mod toolchain-funcs
397 +
398 +MY_P="vbox-kernel-module-src-${PV}"
399 +DESCRIPTION="Kernel Modules for Virtualbox"
400 +HOMEPAGE="https://www.virtualbox.org/"
401 +SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
402 +
403 +LICENSE="GPL-2"
404 +SLOT="0/$(ver_cut 1-2)"
405 +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
406 +KEYWORDS="~amd64"
407 +IUSE="pax-kernel"
408 +
409 +RDEPEND="!=app-emulation/virtualbox-9999"
410 +
411 +S="${WORKDIR}"
412 +
413 +BUILD_TARGETS="all"
414 +MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
415 +MODULESD_VBOXDRV_ENABLED="yes"
416 +MODULESD_VBOXNETADP_ENABLED="no"
417 +MODULESD_VBOXNETFLT_ENABLED="no"
418 +
419 +pkg_setup() {
420 + linux-mod_pkg_setup
421 + BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
422 +}
423 +
424 +src_prepare() {
425 + if use pax-kernel && kernel_is -ge 3 0 0 ; then
426 + eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
427 + fi
428 +
429 + default
430 +}
431 +
432 +src_install() {
433 + linux-mod_src_install
434 + insinto /usr/lib/modules-load.d/
435 + newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
436 +}
437 +
438 +pkg_postinst() {
439 + # Remove vboxpci.ko from current running kernel
440 + find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
441 + linux-mod_pkg_postinst
442 +}
443
444 diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
445 index 01a2827067d..34e271c50ce 100644
446 --- a/app-emulation/virtualbox/Manifest
447 +++ b/app-emulation/virtualbox/Manifest
448 @@ -1,4 +1,5 @@
449 DIST VirtualBox-6.1.22.tar.bz2 165560989 BLAKE2B 871c2189827174561a2abce4d52056db892e596bcff76274770b43157cca93d2be9a3458ad3d41cca81d73d95f1db37e2d15fdbc192f4d5a59e3cc9b6365d3f6 SHA512 ab0fc7cea455f74598d5da18528404405221e9c96a34f0355a39187524240596db4b54e1b1af5f152d5329b8e7977218819c0605f0d0ba0d83a1fb8f8487548d
450 DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6
451 DIST VirtualBox-6.1.26.tar.bz2 165690074 BLAKE2B c522889191ca2ae2749978853463dd74a8ecbd312b6f9ee05b186577b675efd02b0f66293f7486a3a44cb9619e720f7a4012761ad98907496546fe9be362541f SHA512 7668abaa6e5e9cfbc3c7ae1c6efc11663bce906aa002f78cf2c7acbf9b47f96faeb64c2762330c7091694c191ff2311f3674bd930cfdc020c23ef1d4fd893c9b
452 +DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
453 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
454
455 diff --git a/app-emulation/virtualbox/virtualbox-6.1.28.ebuild b/app-emulation/virtualbox/virtualbox-6.1.28.ebuild
456 new file mode 100644
457 index 00000000000..9f8660a127b
458 --- /dev/null
459 +++ b/app-emulation/virtualbox/virtualbox-6.1.28.ebuild
460 @@ -0,0 +1,504 @@
461 +# Copyright 2021 Gentoo Authors
462 +# Distributed under the terms of the GNU General Public License v2
463 +
464 +EAPI=7
465 +
466 +PYTHON_COMPAT=( python3_{8..10} )
467 +inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
468 +
469 +MY_PN="VirtualBox"
470 +MY_PV="${PV/beta/BETA}"
471 +MY_PV="${MY_PV/rc/RC}"
472 +MY_P=${MY_PN}-${MY_PV}
473 +[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
474 +
475 +DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
476 +HOMEPAGE="https://www.virtualbox.org/"
477 +SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
478 + https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz"
479 +
480 +LICENSE="GPL-2 dtrace? ( CDDL )"
481 +SLOT="0/$(ver_cut 1-2)"
482 +[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
483 +KEYWORDS="~amd64"
484 +IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
485 +
486 +COMMON_DEPEND="
487 + ${PYTHON_DEPS}
488 + !app-emulation/virtualbox-bin
489 + acct-group/vboxusers
490 + ~app-emulation/virtualbox-modules-${DIR_PV:-${PV}}
491 + dev-libs/libIDL
492 + >=dev-libs/libxslt-1.1.19
493 + net-misc/curl
494 + dev-libs/libxml2
495 + media-libs/libpng:0=
496 + media-libs/libvpx:0=
497 + sys-libs/zlib:=
498 + !headless? (
499 + media-libs/libsdl:0[X,video]
500 + x11-libs/libX11
501 + x11-libs/libxcb:=
502 + x11-libs/libXcursor
503 + x11-libs/libXext
504 + x11-libs/libXmu
505 + x11-libs/libXt
506 + opengl? ( media-libs/libglvnd[X] )
507 + qt5? (
508 + dev-qt/qtcore:5
509 + dev-qt/qtgui:5
510 + dev-qt/qtprintsupport:5
511 + dev-qt/qtwidgets:5
512 + dev-qt/qtx11extras:5
513 + opengl? ( dev-qt/qtopengl:5 )
514 + x11-libs/libXinerama
515 + )
516 + )
517 + dev-libs/openssl:0=
518 + lvm? ( sys-fs/lvm2 )
519 + opus? ( media-libs/opus )
520 + udev? ( >=virtual/udev-171 )
521 + vnc? ( >=net-libs/libvncserver-0.9.9 )
522 +"
523 +DEPEND="
524 + ${COMMON_DEPEND}
525 + alsa? ( >=media-libs/alsa-lib-1.0.13 )
526 + !headless? (
527 + x11-libs/libXinerama
528 + opengl? ( virtual/opengl )
529 + )
530 + pam? ( sys-libs/pam )
531 + pax-kernel? ( sys-apps/elfix )
532 + pulseaudio? ( media-sound/pulseaudio )
533 + qt5? ( dev-qt/linguist-tools:5 )
534 + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
535 +"
536 +BDEPEND="
537 + ${PYTHON_DEPS}
538 + >=dev-util/kbuild-0.1.9998.3127
539 + >=dev-lang/yasm-0.6.2
540 + sys-devel/bin86
541 + sys-libs/libcap
542 + sys-power/iasl
543 + virtual/pkgconfig
544 + doc? (
545 + app-text/docbook-sgml-dtd:4.4
546 + dev-texlive/texlive-basic
547 + dev-texlive/texlive-latex
548 + dev-texlive/texlive-latexrecommended
549 + dev-texlive/texlive-latexextra
550 + dev-texlive/texlive-fontsrecommended
551 + dev-texlive/texlive-fontsextra
552 + )
553 + java? ( >=virtual/jdk-1.8 )
554 +"
555 +RDEPEND="
556 + ${COMMON_DEPEND}
557 + java? ( >=virtual/jre-1.6 )
558 +"
559 +
560 +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
561 + usr/lib/virtualbox/VBoxSDL.so
562 + usr/lib/virtualbox/VBoxSharedFolders.so
563 + usr/lib/virtualbox/VBoxDD2.so
564 + usr/lib/virtualbox/VBoxOGLrenderspu.so
565 + usr/lib/virtualbox/VBoxPython.so
566 + usr/lib/virtualbox/VBoxDD.so
567 + usr/lib/virtualbox/VBoxDDU.so
568 + usr/lib/virtualbox/VBoxREM64.so
569 + usr/lib/virtualbox/VBoxSharedClipboard.so
570 + usr/lib/virtualbox/VBoxHeadless.so
571 + usr/lib/virtualbox/VBoxRT.so
572 + usr/lib/virtualbox/VBoxREM.so
573 + usr/lib/virtualbox/VBoxSettings.so
574 + usr/lib/virtualbox/VBoxKeyboard.so
575 + usr/lib/virtualbox/VBoxSharedCrOpenGL.so
576 + usr/lib/virtualbox/VBoxVMM.so
577 + usr/lib/virtualbox/VirtualBox.so
578 + usr/lib/virtualbox/VBoxOGLhosterrorspu.so
579 + usr/lib/virtualbox/components/VBoxC.so
580 + usr/lib/virtualbox/components/VBoxSVCM.so
581 + usr/lib/virtualbox/components/VBoxDDU.so
582 + usr/lib/virtualbox/components/VBoxRT.so
583 + usr/lib/virtualbox/components/VBoxREM.so
584 + usr/lib/virtualbox/components/VBoxVMM.so
585 + usr/lib/virtualbox/VBoxREM32.so
586 + usr/lib/virtualbox/VBoxPython2_7.so
587 + usr/lib/virtualbox/VBoxXPCOMC.so
588 + usr/lib/virtualbox/VBoxOGLhostcrutil.so
589 + usr/lib/virtualbox/VBoxNetDHCP.so
590 + usr/lib/virtualbox/VBoxNetNAT.so"
591 +
592 +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
593 +
594 +REQUIRED_USE="
595 + java? ( sdk )
596 + python? ( sdk )
597 + vboxwebsrv? ( java )
598 + ${PYTHON_REQUIRED_USE}
599 +"
600 +
601 +pkg_pretend() {
602 + if ! use headless && ! use qt5 ; then
603 + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
604 + elif use headless && use qt5 ; then
605 + einfo "You selected USE=\"headless qt5\", defaulting to"
606 + einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
607 + fi
608 +
609 + if ! use opengl ; then
610 + einfo "No USE=\"opengl\" selected, this build will lack"
611 + einfo "the OpenGL feature."
612 + fi
613 + if ! use python ; then
614 + einfo "You have disabled the \"python\" USE flag. This will only"
615 + einfo "disable the python bindings being installed."
616 + fi
617 +}
618 +
619 +pkg_setup() {
620 + java-pkg-opt-2_pkg_setup
621 + python-single-r1_pkg_setup
622 +
623 + tc-ld-disable-gold #bug 488176
624 + tc-export CC CXX LD AR RANLIB
625 + export HOST_CC="$(tc-getBUILD_CC)"
626 +}
627 +
628 +src_prepare() {
629 + # Remove shipped binaries (kBuild,yasm), see bug #232775
630 + rm -r kBuild/bin tools || die
631 +
632 + # Replace pointless GCC version check with something less stupid.
633 + # This is needed for the qt5 version check.
634 + sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
635 + -i configure || die
636 +
637 + # Disable things unused or split into separate ebuilds
638 + sed -e "s@MY_LIBDIR@$(get_libdir)@" \
639 + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
640 +
641 + # Respect LDFLAGS
642 + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
643 + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
644 +
645 + # Do not use hard-coded ld (related to bug #488176)
646 + sed -e '/QUIET)ld /s@ld @$(LD) @' \
647 + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
648 +
649 + # Use PAM only when pam USE flag is enbaled (bug #376531)
650 + if ! use pam ; then
651 + einfo "Disabling PAM removes the possibility to use the VRDP features."
652 + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
653 + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
654 + src/VBox/HostServices/Makefile.kmk || die
655 + fi
656 +
657 + # add correct java path
658 + if use java ; then
659 + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
660 + -i "${S}"/Config.kmk || die
661 + java-pkg-opt-2_src_prepare
662 + fi
663 +
664 + # Only add nopie patch when we're on hardened
665 + if gcc-specs-pie ; then
666 + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
667 + fi
668 +
669 + # Only add paxmark patch when we're on pax-kernel
670 + if use pax-kernel ; then
671 + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
672 + fi
673 +
674 + eapply "${FILESDIR}/${PN}-6.1.26-configure-include-qt5-path.patch" #805365
675 +
676 + eapply "${WORKDIR}/patches"
677 +
678 + default
679 +}
680 +
681 +doecho() {
682 + echo "$@"
683 + "$@" || die
684 +}
685 +
686 +src_configure() {
687 + local myconf=(
688 + --with-gcc="$(tc-getCC)"
689 + --with-g++="$(tc-getCXX)"
690 + --disable-dbus
691 + --disable-kmods
692 + $(usex alsa '' --disable-alsa)
693 + $(usex debug --build-debug '')
694 + $(usex doc '' --disable-docs)
695 + $(usex java '' --disable-java)
696 + $(usex lvm '' --disable-devmapper)
697 + $(usex opus '' --disable-libopus)
698 + $(usex pulseaudio '' --disable-pulse)
699 + $(usex python '' --disable-python)
700 + $(usex vboxwebsrv --enable-webservice '')
701 + $(usex vnc --enable-vnc '')
702 + )
703 + if ! use headless ; then
704 + myconf+=(
705 + $(usex opengl '' --disable-opengl)
706 + $(usex qt5 '' --disable-qt)
707 + )
708 + else
709 + myconf+=(
710 + --build-headless
711 + --disable-opengl
712 + )
713 + fi
714 + if use amd64 && ! has_multilib_profile ; then
715 + myconf+=( --disable-vmmraw )
716 + fi
717 + # not an autoconf script
718 + doecho ./configure ${myconf[@]}
719 +}
720 +
721 +src_compile() {
722 + source ./env.sh || die
723 +
724 + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
725 + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
726 + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
727 + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
728 + MAKE="kmk" emake \
729 + VBOX_BUILD_PUBLISHER=_Gentoo \
730 + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
731 + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
732 + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
733 + VBOX_WITH_VBOXIMGMOUNT=1 \
734 + all
735 +}
736 +
737 +src_install() {
738 + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
739 +
740 + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
741 +
742 + vbox_inst() {
743 + local binary="${1}"
744 + local perms="${2:-0750}"
745 + local path="${3:-${vbox_inst_path}}"
746 +
747 + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
748 + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
749 +
750 + insinto ${path}
751 + doins ${binary}
752 + fowners root:vboxusers ${path}/${binary}
753 + fperms ${perms} ${path}/${binary}
754 + }
755 +
756 + # Create configuration files
757 + insinto /etc/vbox
758 + newins "${FILESDIR}/${PN}-4-config" vbox.cfg
759 +
760 + # Set the correct libdir
761 + sed \
762 + -e "s@MY_LIBDIR@$(get_libdir)@" \
763 + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
764 +
765 + # Install the wrapper script
766 + exeinto ${vbox_inst_path}
767 + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
768 + fowners root:vboxusers ${vbox_inst_path}/VBox
769 + fperms 0750 ${vbox_inst_path}/VBox
770 +
771 + # Install binaries and libraries
772 + insinto ${vbox_inst_path}
773 + doins -r components
774 +
775 + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
776 + vbox_inst ${each}
777 + done
778 +
779 + # These binaries need to be suid root.
780 + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
781 + vbox_inst ${each} 4750
782 + done
783 +
784 + # Install EFI Firmware files (bug #320757)
785 + for each in VBoxEFI{32,64}.fd ; do
786 + vbox_inst ${each} 0644
787 + done
788 +
789 + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
790 + # VBoxXPCOMIPCD (bug #524202)
791 + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
792 + pax-mark -m "${ED}"${vbox_inst_path}/${each}
793 + done
794 +
795 + # Symlink binaries to the shipped wrapper
796 + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
797 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
798 + done
799 + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
800 + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
801 +
802 + if use pam ; then
803 + # VRDPAuth only works with this (bug #351949)
804 + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
805 + fi
806 +
807 + # set an env-variable for 3rd party tools
808 + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
809 + doenvd "${T}/90virtualbox"
810 +
811 + if ! use headless ; then
812 + vbox_inst rdesktop-vrdp
813 + vbox_inst VBoxSDL 4750
814 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
815 +
816 + for each in vboxsdl VBoxSDL ; do
817 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
818 + done
819 +
820 + if use qt5 ; then
821 + vbox_inst VirtualBox
822 + vbox_inst VirtualBoxVM 4750
823 + for each in VirtualBox{,VM} ; do
824 + pax-mark -m "${ED}"${vbox_inst_path}/${each}
825 + done
826 +
827 + if use opengl ; then
828 + vbox_inst VBoxTestOGL
829 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
830 + fi
831 +
832 + for each in virtualbox{,vm} VirtualBox{,VM} ; do
833 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
834 + done
835 +
836 + insinto /usr/share/${PN}
837 + doins -r nls
838 + doins -r UnattendedTemplates
839 +
840 + domenu ${PN}.desktop
841 + fi
842 +
843 + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
844 + for size in 16 32 48 64 128 ; do
845 + newicon -s ${size} ${PN}-${size}px.png ${PN}.png
846 + done
847 + newicon ${PN}-48px.png ${PN}.png
848 + doicon -s scalable ${PN}.svg
849 + popd &>/dev/null || die
850 + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
851 + for size in 16 24 32 48 64 72 96 128 256 512 ; do
852 + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
853 + icofile="${PN}-${ico}-${size}px.png"
854 + if [[ -f "${icofile}" ]] ; then
855 + newicon -s ${size} ${icofile} ${PN}-${ico}.png
856 + fi
857 + done
858 + done
859 + popd &>/dev/null || die
860 + fi
861 +
862 + if use lvm ; then
863 + vbox_inst VBoxVolInfo 4750
864 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
865 + fi
866 +
867 + if use sdk ; then
868 + insinto ${vbox_inst_path}
869 + doins -r sdk
870 +
871 + if use java ; then
872 + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
873 + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
874 + fi
875 + fi
876 +
877 + if use udev ; then
878 + local udevdir="$(get_udevdir)"
879 + insinto ${udevdir}
880 + doins VBoxCreateUSBNode.sh
881 + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
882 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
883 + insinto ${udevdir}/rules.d
884 + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
885 + > "${T}"/10-virtualbox.rules || die
886 + doins "${T}"/10-virtualbox.rules
887 + fi
888 +
889 + if use vboxwebsrv ; then
890 + vbox_inst vboxwebsrv
891 + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
892 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
893 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
894 + fi
895 +
896 + # Remove dead symlinks (bug #715338)
897 + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
898 +
899 + # Fix version string in extensions or else they don't get accepted
900 + # by the virtualbox host process (see bug #438930)
901 + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
902 + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
903 + || die
904 +
905 + local extensions_dir="${vbox_inst_path}/ExtensionPacks"
906 +
907 + if use vnc ; then
908 + insinto ${extensions_dir}
909 + doins -r ExtensionPacks/VNC
910 + fi
911 +
912 + if use dtrace ; then
913 + insinto ${extensions_dir}
914 + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
915 + fi
916 +
917 + if use doc ; then
918 + dodoc UserManual.pdf
919 + fi
920 +
921 + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
922 +}
923 +
924 +pkg_postinst() {
925 + xdg_pkg_postinst
926 +
927 + if use udev ; then
928 + udevadm control --reload-rules \
929 + && udevadm trigger --subsystem-match=usb
930 + fi
931 +
932 + tmpfiles_process virtualbox-vboxusb.conf
933 +
934 + if ! use headless && use qt5 ; then
935 + elog "To launch VirtualBox just type: \"virtualbox\"."
936 + fi
937 + elog "You must be in the vboxusers group to use VirtualBox."
938 + elog ""
939 + elog "The latest user manual is available for download at:"
940 + elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf"
941 + elog ""
942 + elog "For advanced networking setups you should emerge:"
943 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
944 + elog ""
945 + elog "Starting with version 4.0.0, ${PN} has USB-1 support."
946 + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
947 + elog " app-emulation/virtualbox-extpack-oracle"
948 + elog "package."
949 + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
950 + elog "the \"extension\" USE flag. For installation of the guest additions ISO"
951 + elog "image, please emerge"
952 + elog " app-emulation/virtualbox-additions"
953 + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
954 + elog " app-emulation/virtualbox-extpack-oracle"
955 + if ! use udev ; then
956 + elog ""
957 + elog "WARNING!"
958 + elog "Without USE=udev, USB devices will likely not work in ${PN}."
959 + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
960 + elog ""
961 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
962 + elog "or else USB in ${PN} won't work."
963 + fi
964 +}