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-extpack-oracle/, app-emulation/virtualbox-modules/, ...
Date: Wed, 24 Nov 2021 10:58:18
Message-Id: 1637751484.695886d70c8b78e0d6ad9c465a489943a9bb647c.polynomial-c@gentoo
1 commit: 695886d70c8b78e0d6ad9c465a489943a9bb647c
2 Author: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 24 10:55:50 2021 +0000
4 Commit: Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 24 10:58:04 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=695886d7
7
8 virtualbox packages: Bump to version 6.1.30
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.30.ebuild | 34 ++
14 app-emulation/virtualbox-extpack-oracle/Manifest | 1 +
15 .../virtualbox-extpack-oracle-6.1.30.ebuild | 41 ++
16 app-emulation/virtualbox-guest-additions/Manifest | 1 +
17 .../virtualbox-guest-additions-6.1.30.ebuild | 221 +++++++++
18 app-emulation/virtualbox-modules/Manifest | 1 +
19 .../virtualbox-modules-6.1.30.ebuild | 55 +++
20 app-emulation/virtualbox/Manifest | 1 +
21 app-emulation/virtualbox/virtualbox-6.1.30.ebuild | 505 +++++++++++++++++++++
22 10 files changed, 861 insertions(+)
23
24 diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
25 index ec69e0d42737..4f39adff1110 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.24.iso 61081600 BLAKE2B 66427a961c83f2de1a0b8671066154133795e8e4f50ac82e927e82e05594c520b155f29f7f19373e5846c36a1e3f6e5d2f5d17db1cebc1996c4d1737d5b45862 SHA512 8753558fcf467805bff801be43281597ef6738f90f8f7a62f6acbba2753e57f44bc72cb66411f0a0f413135026ddf683b0330b49ccad77676ec67b7bf3faf06e
30 DIST VBoxGuestAdditions_6.1.26.iso 61073408 BLAKE2B 0711cb37ef21ce2fc277f1817d173f25686ae8f1f3cf983c93975f0e00df5e8e416f6bceaef3e1d1e30d0f3703186f9686a360a00683a89e5620603a41c21e63 SHA512 b1d9f02a740e61a8fdee7d8bc2ed87bbd4913ad367e8f1b7b964c496f9b10126337715cdcf5a3eb0fd299b11ae6324de8dd09657a55a7976dd14143a2d4ba285
31 DIST VBoxGuestAdditions_6.1.28.iso 62226432 BLAKE2B 0f2d4076476945466cd5d3c5e3064c0f23e511596933d29cd7bab275ee1a21ac5fb81a4723c342f79946000e97681a5e9875cba006bdee6ec684169abd5e04d9 SHA512 2801c78909bdd38b623e958ce61154da7aa2ababf6e7723baf50e958afd1a8d4b0930800fe5549f728a7ac7979d8fa1597c969bf28743d7266b16ccc1b5960bb
32 +DIST VBoxGuestAdditions_6.1.30.iso 62238720 BLAKE2B 1459548ad7d4c7ed79a44793d11fc4071a8b043dc0cb9b113775688c254cdfa8f658dcf33fa666c5d4c000357f8a1f8ef0f43268af8f84bd6833e16381e276d1 SHA512 0729275f46b486872f665b264c6ad83a0d42bb2a35ff5e96d9a8449bc9042328219f7533e6ef6ded0351e1fa73024755b32560af13606e808910262c3b133726
33
34 diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.30.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.30.ebuild
35 new file mode 100644
36 index 000000000000..4a54ecd35f58
37 --- /dev/null
38 +++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.30.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 00486c8fc731..9378430e7b90 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.24.tar.gz 11135003 BLAKE2B 53bb6dc35eb8ab1a58492ca3b67b63885ffa1ad3ed3a51a9e7e8c522845b082c420fb39a31a379ee56b45c9b02452acc5be4d72c5a5d9bddaa428bf7c9a3a086 SHA512 e2af2213e99c8c35a3090f5e36d05b1ef27c920cd31a2bf97b0368a89f27a5e2d0e0e0dced5e4e7bacda50fe4b57738924f13a933f5307ff2c8c4015ecc030ae
81 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.26.tar.gz 11134336 BLAKE2B 61e543124c7b2566175f35d0eecb046ce2c69a7fe8102ccbc96f61c4bf700d0b78732e535e09f9056ee8c53ca2f11615bbf5788684a35b04116501d9dc4b4f68 SHA512 b4be713b3e3bdbdecb38d4b27f70e9a34630ea6e4f10beddf96ad1372e3d64aa2ee85b0774e871aefb4f9872b3dcdd3005fc3a7bded6be37d06157f3fe2861e3
82 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.28.tar.gz 11136237 BLAKE2B 66f09d39a60277358b08f073e3d5836bdb4acddfacc0c5321b19f876d4c5407ed1039b65e22e188690cb6c034aacca2be8d60a52acb8467a6c6319f46c15bb61 SHA512 7e352889469ad678e93d042a5a240820753918cd191c9e164678b84947fba5ae0616fda7f8e6385b2ba525e51948e4860ca91cdd62a2eb503f79acadcb367f2e
83 +DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.30.tar.gz 11136343 BLAKE2B c3db50c02da2a9a6ba766bf24103f0f45f073ea65954352fe3a3f01c25974374f6c7f7851e933ce4e5a082ec3944f1c521d74f51e10db5708454bd8817d8f23d SHA512 c525743b2304fe39c66f56147d85a92d4fc884cae007c8b801519e0b5bcbf08c7656ba66befbac63b03ba4d20034899ae4438c263de0bae7a3fd36af1608ea75
84
85 diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.30.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.30.ebuild
86 new file mode 100644
87 index 000000000000..707f5fe35fdf
88 --- /dev/null
89 +++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.30.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 8868ea6068ce..7f68713a8ca0 100644
135 --- a/app-emulation/virtualbox-guest-additions/Manifest
136 +++ b/app-emulation/virtualbox-guest-additions/Manifest
137 @@ -1,4 +1,5 @@
138 DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6
139 DIST VirtualBox-6.1.26.tar.bz2 165690074 BLAKE2B c522889191ca2ae2749978853463dd74a8ecbd312b6f9ee05b186577b675efd02b0f66293f7486a3a44cb9619e720f7a4012761ad98907496546fe9be362541f SHA512 7668abaa6e5e9cfbc3c7ae1c6efc11663bce906aa002f78cf2c7acbf9b47f96faeb64c2762330c7091694c191ff2311f3674bd930cfdc020c23ef1d4fd893c9b
140 DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
141 +DIST VirtualBox-6.1.30.tar.bz2 165769447 BLAKE2B e15a8370c7cd83b547012639c3361da1b2ee40e8b094f11c22fadb95c9ddaae4791ee7cab16cb2eb23c6da4fc383f89f629335d577fa834fa1a979e19b9701bb SHA512 fab5b8327d9ad4186e584e90d1aca461d95731d0935509301e8adfe28d0737fb3ded5ac1d97e4cd1edc12c79bebb75cc675289762f9e918106f34bf6e8d363d4
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.30.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.30.ebuild
145 new file mode 100644
146 index 000000000000..50023a853b94
147 --- /dev/null
148 +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.30.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 0309370506ab..b2ec6f1de179 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.24.tar.xz 674584 BLAKE2B 3a20f615426a7b788bc4bce00e416fa3822cbec3f00691651acd53b7c7bda8b43d3669195cececa83f1fc50a792e417adcd709d859497da143c4d93a2b414912 SHA512 220d57ab33a41464cd9e506d38390e60b9e67ca8262b1a13732f3d40820e038365c129eb7144f1932b8c2d3fdcea828de3070dd927788015301bf4aa59c1cc48
378 DIST vbox-kernel-module-src-6.1.26.tar.xz 674624 BLAKE2B e38fdbb63e309463a526c4f6607f0cf6193109a9cd9ac4ac4cd752e614ce1594612dd76da7fda9d9453cbc45e9d3aa2989f370d8900f080e604ef1a903d8a736 SHA512 0755a802ae901664d3ef1481ffc8987a0f94d8be1d95c1969f370e2fe6eb479aba1da38d2206eb8191c05d3b7da4cf3d16e4e53d40fcb3f758622030a8864c98
379 DIST vbox-kernel-module-src-6.1.28.tar.xz 674924 BLAKE2B 4a262a1609df493df8ba5b78d2daa225aed41fe51d54648633393dcb24ec648ae95f2fcb003f9a7ceb1a2a2ea99bc113d54db6621523ddfc3819e729c46f42c8 SHA512 b0fc1a1a821c93aa7dadd3a064d87938d31cf6ce37ab55d960fba104df4f28ab48797dc254e246af7bf1d5df913a9f329035941555fc9f165f02abea4448f684
380 +DIST vbox-kernel-module-src-6.1.30.tar.xz 675180 BLAKE2B 7df02a4b94dd30d211538cffe7e08aa590f78fea79add4105ecaa2e6d0ac2b495d950bab4950f301100b189a58dd29d1fd42c97c12e4458a5953cb5a2ed7c44e SHA512 19f080bea53bc11eeb67bb894fdce3ee6cfc0e9bcd0e697baad86b4f49ac331b0dfcca9b043def8ef8a9d40d3b867f09e14ffafb4eef47418184cbfd0e9acc03
381
382 diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.30.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.30.ebuild
383 new file mode 100644
384 index 000000000000..1c66b52e53af
385 --- /dev/null
386 +++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.30.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-*.run
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 8868ea6068ce..7f68713a8ca0 100644
446 --- a/app-emulation/virtualbox/Manifest
447 +++ b/app-emulation/virtualbox/Manifest
448 @@ -1,4 +1,5 @@
449 DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd59893e2f4b701cbdb31f4c45e2b7389f85f59d8a78ce1e03c83734a49b76fa61f56ea083a588874fa4023b723694f75ee8fb SHA512 cf2c5f58d2f160f8a22d94b7e30bcdaabd907661e05a72341bee93f5092b96c0c84d2291005f433040235227e3d6595ce0e66759c44c24eaedc6c9614646b3d6
450 DIST VirtualBox-6.1.26.tar.bz2 165690074 BLAKE2B c522889191ca2ae2749978853463dd74a8ecbd312b6f9ee05b186577b675efd02b0f66293f7486a3a44cb9619e720f7a4012761ad98907496546fe9be362541f SHA512 7668abaa6e5e9cfbc3c7ae1c6efc11663bce906aa002f78cf2c7acbf9b47f96faeb64c2762330c7091694c191ff2311f3674bd930cfdc020c23ef1d4fd893c9b
451 DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
452 +DIST VirtualBox-6.1.30.tar.bz2 165769447 BLAKE2B e15a8370c7cd83b547012639c3361da1b2ee40e8b094f11c22fadb95c9ddaae4791ee7cab16cb2eb23c6da4fc383f89f629335d577fa834fa1a979e19b9701bb SHA512 fab5b8327d9ad4186e584e90d1aca461d95731d0935509301e8adfe28d0737fb3ded5ac1d97e4cd1edc12c79bebb75cc675289762f9e918106f34bf6e8d363d4
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.30.ebuild b/app-emulation/virtualbox/virtualbox-6.1.30.ebuild
456 new file mode 100644
457 index 000000000000..358382f4a8b7
458 --- /dev/null
459 +++ b/app-emulation/virtualbox/virtualbox-6.1.30.ebuild
460 @@ -0,0 +1,505 @@
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 + virtual/libcrypt:=
519 + lvm? ( sys-fs/lvm2 )
520 + opus? ( media-libs/opus )
521 + udev? ( >=virtual/udev-171 )
522 + vnc? ( >=net-libs/libvncserver-0.9.9 )
523 +"
524 +DEPEND="
525 + ${COMMON_DEPEND}
526 + alsa? ( >=media-libs/alsa-lib-1.0.13 )
527 + !headless? (
528 + x11-libs/libXinerama
529 + opengl? ( virtual/opengl )
530 + )
531 + pam? ( sys-libs/pam )
532 + pax-kernel? ( sys-apps/elfix )
533 + pulseaudio? ( media-sound/pulseaudio )
534 + qt5? ( dev-qt/linguist-tools:5 )
535 + vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
536 +"
537 +BDEPEND="
538 + ${PYTHON_DEPS}
539 + >=dev-util/kbuild-0.1.9998.3127
540 + >=dev-lang/yasm-0.6.2
541 + sys-devel/bin86
542 + sys-libs/libcap
543 + sys-power/iasl
544 + virtual/pkgconfig
545 + doc? (
546 + app-text/docbook-sgml-dtd:4.4
547 + dev-texlive/texlive-basic
548 + dev-texlive/texlive-latex
549 + dev-texlive/texlive-latexrecommended
550 + dev-texlive/texlive-latexextra
551 + dev-texlive/texlive-fontsrecommended
552 + dev-texlive/texlive-fontsextra
553 + )
554 + java? ( >=virtual/jdk-1.8 )
555 +"
556 +RDEPEND="
557 + ${COMMON_DEPEND}
558 + java? ( >=virtual/jre-1.6 )
559 +"
560 +
561 +QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
562 + usr/lib/virtualbox/VBoxSDL.so
563 + usr/lib/virtualbox/VBoxSharedFolders.so
564 + usr/lib/virtualbox/VBoxDD2.so
565 + usr/lib/virtualbox/VBoxOGLrenderspu.so
566 + usr/lib/virtualbox/VBoxPython.so
567 + usr/lib/virtualbox/VBoxDD.so
568 + usr/lib/virtualbox/VBoxDDU.so
569 + usr/lib/virtualbox/VBoxREM64.so
570 + usr/lib/virtualbox/VBoxSharedClipboard.so
571 + usr/lib/virtualbox/VBoxHeadless.so
572 + usr/lib/virtualbox/VBoxRT.so
573 + usr/lib/virtualbox/VBoxREM.so
574 + usr/lib/virtualbox/VBoxSettings.so
575 + usr/lib/virtualbox/VBoxKeyboard.so
576 + usr/lib/virtualbox/VBoxSharedCrOpenGL.so
577 + usr/lib/virtualbox/VBoxVMM.so
578 + usr/lib/virtualbox/VirtualBox.so
579 + usr/lib/virtualbox/VBoxOGLhosterrorspu.so
580 + usr/lib/virtualbox/components/VBoxC.so
581 + usr/lib/virtualbox/components/VBoxSVCM.so
582 + usr/lib/virtualbox/components/VBoxDDU.so
583 + usr/lib/virtualbox/components/VBoxRT.so
584 + usr/lib/virtualbox/components/VBoxREM.so
585 + usr/lib/virtualbox/components/VBoxVMM.so
586 + usr/lib/virtualbox/VBoxREM32.so
587 + usr/lib/virtualbox/VBoxPython2_7.so
588 + usr/lib/virtualbox/VBoxXPCOMC.so
589 + usr/lib/virtualbox/VBoxOGLhostcrutil.so
590 + usr/lib/virtualbox/VBoxNetDHCP.so
591 + usr/lib/virtualbox/VBoxNetNAT.so"
592 +
593 +S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
594 +
595 +REQUIRED_USE="
596 + java? ( sdk )
597 + python? ( sdk )
598 + vboxwebsrv? ( java )
599 + ${PYTHON_REQUIRED_USE}
600 +"
601 +
602 +pkg_pretend() {
603 + if ! use headless && ! use qt5 ; then
604 + einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
605 + elif use headless && use qt5 ; then
606 + einfo "You selected USE=\"headless qt5\", defaulting to"
607 + einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
608 + fi
609 +
610 + if ! use opengl ; then
611 + einfo "No USE=\"opengl\" selected, this build will lack"
612 + einfo "the OpenGL feature."
613 + fi
614 + if ! use python ; then
615 + einfo "You have disabled the \"python\" USE flag. This will only"
616 + einfo "disable the python bindings being installed."
617 + fi
618 +}
619 +
620 +pkg_setup() {
621 + java-pkg-opt-2_pkg_setup
622 + python-single-r1_pkg_setup
623 +
624 + tc-ld-disable-gold #bug 488176
625 + tc-export CC CXX LD AR RANLIB
626 + export HOST_CC="$(tc-getBUILD_CC)"
627 +}
628 +
629 +src_prepare() {
630 + # Remove shipped binaries (kBuild,yasm), see bug #232775
631 + rm -r kBuild/bin tools || die
632 +
633 + # Replace pointless GCC version check with something less stupid.
634 + # This is needed for the qt5 version check.
635 + sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
636 + -i configure || die
637 +
638 + # Disable things unused or split into separate ebuilds
639 + sed -e "s@MY_LIBDIR@$(get_libdir)@" \
640 + "${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
641 +
642 + # Respect LDFLAGS
643 + sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
644 + -i Config.kmk src/libs/xpcom18a4/Config.kmk || die
645 +
646 + # Do not use hard-coded ld (related to bug #488176)
647 + sed -e '/QUIET)ld /s@ld @$(LD) @' \
648 + -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
649 +
650 + # Use PAM only when pam USE flag is enbaled (bug #376531)
651 + if ! use pam ; then
652 + einfo "Disabling PAM removes the possibility to use the VRDP features."
653 + sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
654 + sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
655 + src/VBox/HostServices/Makefile.kmk || die
656 + fi
657 +
658 + # add correct java path
659 + if use java ; then
660 + sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
661 + -i "${S}"/Config.kmk || die
662 + java-pkg-opt-2_src_prepare
663 + fi
664 +
665 + # Only add nopie patch when we're on hardened
666 + if gcc-specs-pie ; then
667 + eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
668 + fi
669 +
670 + # Only add paxmark patch when we're on pax-kernel
671 + if use pax-kernel ; then
672 + eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
673 + fi
674 +
675 + eapply "${FILESDIR}/${PN}-6.1.26-configure-include-qt5-path.patch" #805365
676 +
677 + eapply "${WORKDIR}/patches"
678 +
679 + default
680 +}
681 +
682 +doecho() {
683 + echo "$@"
684 + "$@" || die
685 +}
686 +
687 +src_configure() {
688 + local myconf=(
689 + --with-gcc="$(tc-getCC)"
690 + --with-g++="$(tc-getCXX)"
691 + --disable-dbus
692 + --disable-kmods
693 + $(usex alsa '' --disable-alsa)
694 + $(usex debug --build-debug '')
695 + $(usex doc '' --disable-docs)
696 + $(usex java '' --disable-java)
697 + $(usex lvm '' --disable-devmapper)
698 + $(usex opus '' --disable-libopus)
699 + $(usex pulseaudio '' --disable-pulse)
700 + $(usex python '' --disable-python)
701 + $(usex vboxwebsrv --enable-webservice '')
702 + $(usex vnc --enable-vnc '')
703 + )
704 + if ! use headless ; then
705 + myconf+=(
706 + $(usex opengl '' --disable-opengl)
707 + $(usex qt5 '' --disable-qt)
708 + )
709 + else
710 + myconf+=(
711 + --build-headless
712 + --disable-opengl
713 + )
714 + fi
715 + if use amd64 && ! has_multilib_profile ; then
716 + myconf+=( --disable-vmmraw )
717 + fi
718 + # not an autoconf script
719 + doecho ./configure ${myconf[@]}
720 +}
721 +
722 +src_compile() {
723 + source ./env.sh || die
724 +
725 + # Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
726 + MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
727 + MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
728 + MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
729 + MAKE="kmk" emake \
730 + VBOX_BUILD_PUBLISHER=_Gentoo \
731 + TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
732 + TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
733 + TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
734 + VBOX_WITH_VBOXIMGMOUNT=1 \
735 + all
736 +}
737 +
738 +src_install() {
739 + cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
740 +
741 + local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
742 +
743 + vbox_inst() {
744 + local binary="${1}"
745 + local perms="${2:-0750}"
746 + local path="${3:-${vbox_inst_path}}"
747 +
748 + [[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
749 + [[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
750 +
751 + insinto ${path}
752 + doins ${binary}
753 + fowners root:vboxusers ${path}/${binary}
754 + fperms ${perms} ${path}/${binary}
755 + }
756 +
757 + # Create configuration files
758 + insinto /etc/vbox
759 + newins "${FILESDIR}/${PN}-4-config" vbox.cfg
760 +
761 + # Set the correct libdir
762 + sed \
763 + -e "s@MY_LIBDIR@$(get_libdir)@" \
764 + -i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
765 +
766 + # Install the wrapper script
767 + exeinto ${vbox_inst_path}
768 + newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
769 + fowners root:vboxusers ${vbox_inst_path}/VBox
770 + fperms 0750 ${vbox_inst_path}/VBox
771 +
772 + # Install binaries and libraries
773 + insinto ${vbox_inst_path}
774 + doins -r components
775 +
776 + for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
777 + vbox_inst ${each}
778 + done
779 +
780 + # These binaries need to be suid root.
781 + for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
782 + vbox_inst ${each} 4750
783 + done
784 +
785 + # Install EFI Firmware files (bug #320757)
786 + for each in VBoxEFI{32,64}.fd ; do
787 + vbox_inst ${each} 0644
788 + done
789 +
790 + # VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
791 + # VBoxXPCOMIPCD (bug #524202)
792 + for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
793 + pax-mark -m "${ED}"${vbox_inst_path}/${each}
794 + done
795 +
796 + # Symlink binaries to the shipped wrapper
797 + for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
798 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
799 + done
800 + dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
801 + dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
802 +
803 + if use pam ; then
804 + # VRDPAuth only works with this (bug #351949)
805 + dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
806 + fi
807 +
808 + # set an env-variable for 3rd party tools
809 + echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
810 + doenvd "${T}/90virtualbox"
811 +
812 + if ! use headless ; then
813 + vbox_inst rdesktop-vrdp
814 + vbox_inst VBoxSDL 4750
815 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
816 +
817 + for each in vboxsdl VBoxSDL ; do
818 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
819 + done
820 +
821 + if use qt5 ; then
822 + vbox_inst VirtualBox
823 + vbox_inst VirtualBoxVM 4750
824 + for each in VirtualBox{,VM} ; do
825 + pax-mark -m "${ED}"${vbox_inst_path}/${each}
826 + done
827 +
828 + if use opengl ; then
829 + vbox_inst VBoxTestOGL
830 + pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
831 + fi
832 +
833 + for each in virtualbox{,vm} VirtualBox{,VM} ; do
834 + dosym ${vbox_inst_path}/VBox /usr/bin/${each}
835 + done
836 +
837 + insinto /usr/share/${PN}
838 + doins -r nls
839 + doins -r UnattendedTemplates
840 +
841 + domenu ${PN}.desktop
842 + fi
843 +
844 + pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
845 + for size in 16 32 48 64 128 ; do
846 + newicon -s ${size} ${PN}-${size}px.png ${PN}.png
847 + done
848 + newicon ${PN}-48px.png ${PN}.png
849 + doicon -s scalable ${PN}.svg
850 + popd &>/dev/null || die
851 + pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
852 + for size in 16 24 32 48 64 72 96 128 256 512 ; do
853 + for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
854 + icofile="${PN}-${ico}-${size}px.png"
855 + if [[ -f "${icofile}" ]] ; then
856 + newicon -s ${size} ${icofile} ${PN}-${ico}.png
857 + fi
858 + done
859 + done
860 + popd &>/dev/null || die
861 + fi
862 +
863 + if use lvm ; then
864 + vbox_inst VBoxVolInfo 4750
865 + dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
866 + fi
867 +
868 + if use sdk ; then
869 + insinto ${vbox_inst_path}
870 + doins -r sdk
871 +
872 + if use java ; then
873 + java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
874 + java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
875 + fi
876 + fi
877 +
878 + if use udev ; then
879 + local udevdir="$(get_udevdir)"
880 + insinto ${udevdir}
881 + doins VBoxCreateUSBNode.sh
882 + fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
883 + fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
884 + insinto ${udevdir}/rules.d
885 + sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
886 + > "${T}"/10-virtualbox.rules || die
887 + doins "${T}"/10-virtualbox.rules
888 + fi
889 +
890 + if use vboxwebsrv ; then
891 + vbox_inst vboxwebsrv
892 + dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
893 + newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
894 + newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
895 + fi
896 +
897 + # Remove dead symlinks (bug #715338)
898 + find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
899 +
900 + # Fix version string in extensions or else they don't get accepted
901 + # by the virtualbox host process (see bug #438930)
902 + find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
903 + | xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
904 + || die
905 +
906 + local extensions_dir="${vbox_inst_path}/ExtensionPacks"
907 +
908 + if use vnc ; then
909 + insinto ${extensions_dir}
910 + doins -r ExtensionPacks/VNC
911 + fi
912 +
913 + if use dtrace ; then
914 + insinto ${extensions_dir}
915 + doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
916 + fi
917 +
918 + if use doc ; then
919 + dodoc UserManual.pdf
920 + fi
921 +
922 + newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
923 +}
924 +
925 +pkg_postinst() {
926 + xdg_pkg_postinst
927 +
928 + if use udev ; then
929 + udevadm control --reload-rules \
930 + && udevadm trigger --subsystem-match=usb
931 + fi
932 +
933 + tmpfiles_process virtualbox-vboxusb.conf
934 +
935 + if ! use headless && use qt5 ; then
936 + elog "To launch VirtualBox just type: \"virtualbox\"."
937 + fi
938 + elog "You must be in the vboxusers group to use VirtualBox."
939 + elog ""
940 + elog "The latest user manual is available for download at:"
941 + elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf"
942 + elog ""
943 + elog "For advanced networking setups you should emerge:"
944 + elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
945 + elog ""
946 + elog "Starting with version 4.0.0, ${PN} has USB-1 support."
947 + elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
948 + elog " app-emulation/virtualbox-extpack-oracle"
949 + elog "package."
950 + elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
951 + elog "the \"extension\" USE flag. For installation of the guest additions ISO"
952 + elog "image, please emerge"
953 + elog " app-emulation/virtualbox-additions"
954 + elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
955 + elog " app-emulation/virtualbox-extpack-oracle"
956 + if ! use udev ; then
957 + elog ""
958 + elog "WARNING!"
959 + elog "Without USE=udev, USB devices will likely not work in ${PN}."
960 + elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
961 + elog ""
962 + elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
963 + elog "or else USB in ${PN} won't work."
964 + fi
965 +}