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