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