public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-additions/, app-emulation/virtualbox/files/, ...
@ 2022-04-22  7:20 Lars Wendler
  0 siblings, 0 replies; only message in thread
From: Lars Wendler @ 2022-04-22  7:20 UTC (permalink / raw
  To: gentoo-commits

commit:     b36fb9da30b73e71e69c72038fa3d366984514e8
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 22 07:10:17 2022 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Apr 22 07:20:10 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b36fb9da

virtualbox packages: Bump to version 6.1.34

Bug: https://bugs.gentoo.org/839990
Signed-off-by: Lars Wendler <polynomial-c <AT> gentoo.org>

 app-emulation/virtualbox-additions/Manifest        |   1 +
 .../virtualbox-additions-6.1.34.ebuild             |  34 ++
 app-emulation/virtualbox-extpack-oracle/Manifest   |   1 +
 .../virtualbox-extpack-oracle-6.1.34.ebuild        |  41 ++
 app-emulation/virtualbox-guest-additions/Manifest  |   1 +
 .../virtualbox-guest-additions-6.1.34.ebuild       | 221 +++++++++
 app-emulation/virtualbox-modules/Manifest          |   1 +
 .../virtualbox-modules-6.1.34.ebuild               |  67 +++
 app-emulation/virtualbox/Manifest                  |   1 +
 .../files/virtualbox-6.1.34-vboxr0.patch           |  20 +
 app-emulation/virtualbox/virtualbox-6.1.34.ebuild  | 505 +++++++++++++++++++++
 11 files changed, 893 insertions(+)

diff --git a/app-emulation/virtualbox-additions/Manifest b/app-emulation/virtualbox-additions/Manifest
index 925ae01f1b00..171f19734622 100644
--- a/app-emulation/virtualbox-additions/Manifest
+++ b/app-emulation/virtualbox-additions/Manifest
@@ -2,3 +2,4 @@ DIST VBoxGuestAdditions_6.1.24.iso 61081600 BLAKE2B 66427a961c83f2de1a0b86710661
 DIST VBoxGuestAdditions_6.1.28.iso 62226432 BLAKE2B 0f2d4076476945466cd5d3c5e3064c0f23e511596933d29cd7bab275ee1a21ac5fb81a4723c342f79946000e97681a5e9875cba006bdee6ec684169abd5e04d9 SHA512 2801c78909bdd38b623e958ce61154da7aa2ababf6e7723baf50e958afd1a8d4b0930800fe5549f728a7ac7979d8fa1597c969bf28743d7266b16ccc1b5960bb
 DIST VBoxGuestAdditions_6.1.30.iso 62238720 BLAKE2B 1459548ad7d4c7ed79a44793d11fc4071a8b043dc0cb9b113775688c254cdfa8f658dcf33fa666c5d4c000357f8a1f8ef0f43268af8f84bd6833e16381e276d1 SHA512 0729275f46b486872f665b264c6ad83a0d42bb2a35ff5e96d9a8449bc9042328219f7533e6ef6ded0351e1fa73024755b32560af13606e808910262c3b133726
 DIST VBoxGuestAdditions_6.1.32.iso 62388224 BLAKE2B e8e4addf5d3a61ff193fcccf185353aa4325ed3747f1bc9afb376276cd38857cc2a087e8c6872cef083ea4eeda20a0c29bac62263c378b6c608e5fb6424623a0 SHA512 268526eec6d07e69e3ab583a11211331c103db87162be045e0068ebd6beeda491e215ea6de6ca2aed10e4312dd9b2904ab315f05bad7041ba6787bfa61aeb6e9
+DIST VBoxGuestAdditions_6.1.34.iso 61538304 BLAKE2B 7709ef735fafc7dcb78dba8ce77a5afbffbe23e9b83c46cd930519150a60eea7c9399075fde58c6f7be07adb82752352f5db7d9f59b3eb5fccc6c55cbdba36ee SHA512 a3b5977fe773bdc5d67bf9fbb529fb8f77e01a95af51a6681a1716ec300eb574e669bf9d57d0d1663c33440cce92b499efffbf5e468830d82e0c072ddc2d9d31

diff --git a/app-emulation/virtualbox-additions/virtualbox-additions-6.1.34.ebuild b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.34.ebuild
new file mode 100644
index 000000000000..dee7c12719a6
--- /dev/null
+++ b/app-emulation/virtualbox-additions/virtualbox-additions-6.1.34.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PN=VBoxGuestAdditions
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=${MY_PN}_${MY_PV}
+
+DESCRIPTION="CD image containing guest additions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
+
+LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE=""
+RESTRICT="mirror"
+
+RDEPEND="!app-emulation/virtualbox-bin
+	!=app-emulation/virtualbox-9999"
+
+S="${WORKDIR}"
+
+src_unpack() {
+	return 0
+}
+
+src_install() {
+	insinto /usr/share/${PN/-additions}
+	newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
+}

diff --git a/app-emulation/virtualbox-extpack-oracle/Manifest b/app-emulation/virtualbox-extpack-oracle/Manifest
index 6836ed519f82..6d8ed6c42d10 100644
--- a/app-emulation/virtualbox-extpack-oracle/Manifest
+++ b/app-emulation/virtualbox-extpack-oracle/Manifest
@@ -2,3 +2,4 @@ DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.24.tar.gz 11135003 BLAKE2B 53bb6dc3
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.28.tar.gz 11136237 BLAKE2B 66f09d39a60277358b08f073e3d5836bdb4acddfacc0c5321b19f876d4c5407ed1039b65e22e188690cb6c034aacca2be8d60a52acb8467a6c6319f46c15bb61 SHA512 7e352889469ad678e93d042a5a240820753918cd191c9e164678b84947fba5ae0616fda7f8e6385b2ba525e51948e4860ca91cdd62a2eb503f79acadcb367f2e
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.30.tar.gz 11136343 BLAKE2B c3db50c02da2a9a6ba766bf24103f0f45f073ea65954352fe3a3f01c25974374f6c7f7851e933ce4e5a082ec3944f1c521d74f51e10db5708454bd8817d8f23d SHA512 c525743b2304fe39c66f56147d85a92d4fc884cae007c8b801519e0b5bcbf08c7656ba66befbac63b03ba4d20034899ae4438c263de0bae7a3fd36af1608ea75
 DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.32.tar.gz 11137804 BLAKE2B 376274d56ce61a9da785be0a3de63566bc39e9c7a2915a33ff7792173f7625c21d345da757e9963d9b1833124c3430523bc89ba0a0ed27b66a6d87a07d6d6602 SHA512 e7297a9fccd6c74a7986496da71bd6a0970bc53c49845b9bc44714ab04e90e9a4c427f1491f6ec287cdba87a93733de7849f5e78ab7f3ee1a127e8ac4ea20861
+DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.34.tar.gz 11137259 BLAKE2B 81709b2f3e67cafd9cffd80de2d07cfa5a64054b590455f7393ab701984b469b2677ecae8ba82aa812c17688a9212ef2ee97be6584bdefb1eb1a53643ba92d17 SHA512 ec41e31bff4bcb79d46957c8ee41e561c9e3a8932152633a16953add38f142e8ac4029bbbd67d72bdb64784819db2f52c4d66a9a7e8009435231c98d88676cc4

diff --git a/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.34.ebuild b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.34.ebuild
new file mode 100644
index 000000000000..10b24ce1fc11
--- /dev/null
+++ b/app-emulation/virtualbox-extpack-oracle/virtualbox-extpack-oracle-6.1.34.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MAIN_PV="$(ver_cut 1-3)"
+if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
+	MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
+	DEP_PV="${MY_PV}"
+	MY_PV="${MY_PV/beta/BETA}"
+	MY_PV="${MY_PV/rc/RC}"
+else
+	MY_PV="${MAIN_PV}"
+	DEP_PV="${MAIN_PV}"
+fi
+#VBOX_BUILD_ID="$(ver_cut 4)"
+MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
+MY_P="${MY_PN}-${MY_PV}" #-${VBOX_BUILD_ID}"
+
+DESCRIPTION="PUEL extensions for VirtualBox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
+
+LICENSE="PUEL"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE=""
+RESTRICT="bindist mirror strip"
+
+RDEPEND="=app-emulation/virtualbox-${DEP_PV}*"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
+
+src_install() {
+	insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
+	doins -r linux.${ARCH}
+	doins ExtPack* PXE-Intel.rom
+}

diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
index 6c72dc819aec..48f85264e1ed 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -2,4 +2,5 @@ DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd598
 DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
 DIST VirtualBox-6.1.30.tar.bz2 165769447 BLAKE2B e15a8370c7cd83b547012639c3361da1b2ee40e8b094f11c22fadb95c9ddaae4791ee7cab16cb2eb23c6da4fc383f89f629335d577fa834fa1a979e19b9701bb SHA512 fab5b8327d9ad4186e584e90d1aca461d95731d0935509301e8adfe28d0737fb3ded5ac1d97e4cd1edc12c79bebb75cc675289762f9e918106f34bf6e8d363d4
 DIST VirtualBox-6.1.32.tar.bz2 165758238 BLAKE2B 24873d7cc8bd306ea3552fe75379fbe7be767c85406042344eb047ed31184c3357aea07dda5e15c275f5036ae63106ef1d2e6524b143bc645a6b5ba0016f1391 SHA512 8bf7af6b8b4d3ba90f0e91589cf26400648436eb9da6d31c1a760460bfe5eb7311ac3220b4c9a98ac50e559641d3d5f559134be65288821038255de1c2c7ce1e
+DIST VirtualBox-6.1.34.tar.bz2 165761216 BLAKE2B d3c8f7d3d6f408e4c4275c2b2815e92819c871359501ec4fa7212bf7cdc852613e2e4703d8650371097a5bc805efa04ea75bb03ab83d24a869a677555f6e22d5 SHA512 46d63a9fd9df76af654af59fab5cf555858bc2c4b5dc34e2378d85ae784e6380b6def4aab06909a9b5e114a7297269f90cfb2c3d8d6529b423d703afbad18c64
 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123

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

diff --git a/app-emulation/virtualbox-modules/Manifest b/app-emulation/virtualbox-modules/Manifest
index d2a2b3b4a0d2..f3add6818f91 100644
--- a/app-emulation/virtualbox-modules/Manifest
+++ b/app-emulation/virtualbox-modules/Manifest
@@ -2,3 +2,4 @@ DIST vbox-kernel-module-src-6.1.24.tar.xz 674584 BLAKE2B 3a20f615426a7b788bc4bce
 DIST vbox-kernel-module-src-6.1.28.tar.xz 674924 BLAKE2B 4a262a1609df493df8ba5b78d2daa225aed41fe51d54648633393dcb24ec648ae95f2fcb003f9a7ceb1a2a2ea99bc113d54db6621523ddfc3819e729c46f42c8 SHA512 b0fc1a1a821c93aa7dadd3a064d87938d31cf6ce37ab55d960fba104df4f28ab48797dc254e246af7bf1d5df913a9f329035941555fc9f165f02abea4448f684
 DIST vbox-kernel-module-src-6.1.30.tar.xz 675180 BLAKE2B 7df02a4b94dd30d211538cffe7e08aa590f78fea79add4105ecaa2e6d0ac2b495d950bab4950f301100b189a58dd29d1fd42c97c12e4458a5953cb5a2ed7c44e SHA512 19f080bea53bc11eeb67bb894fdce3ee6cfc0e9bcd0e697baad86b4f49ac331b0dfcca9b043def8ef8a9d40d3b867f09e14ffafb4eef47418184cbfd0e9acc03
 DIST vbox-kernel-module-src-6.1.32.tar.xz 675300 BLAKE2B fc843779ae9348203f2528009880e2d2dde65102c8be1837eb3a362e2703f9ecf54f7a10939318cbecbb41b4790a8b7d56c98ad82a4e83592b4c5491af0772b5 SHA512 e1c00be4fe2a0447c30ae0d380fc7a78fec1c3f52fb0cf0d20ccefcd174bf11097a91aa862ef8753be012e546a31555f5be9c1136cbaefc2240708b3adde7e5b
+DIST vbox-kernel-module-src-6.1.34.tar.xz 675236 BLAKE2B 45385b4e60f7f5da8ebd2bb20ebc706ec8ac48e698dc62740ead31bd77e059bfb2980a83f8781832fe8e5faaade88db97c73f25096724ae4f29aba6daf04f7a0 SHA512 313dda056cb5e4020bfc9bafca2d05ab628aa740d174b9457f860ce0cd8eccaf557798cbb5fc1efeb36dc0f1f0320034ee86e48da03b33779eda1093b50d6c64

diff --git a/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild
new file mode 100644
index 000000000000..33bf7475fadf
--- /dev/null
+++ b/app-emulation/virtualbox-modules/virtualbox-modules-6.1.34.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# XXX: the tarball here is just the kernel modules split out of the binary
+#      package that comes from VirtualBox-*.run
+
+EAPI=8
+
+inherit linux-mod toolchain-funcs
+
+MY_P="vbox-kernel-module-src-${PV}"
+DESCRIPTION="Kernel Modules for Virtualbox"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE="pax-kernel"
+
+RDEPEND="!=app-emulation/virtualbox-9999"
+
+S="${WORKDIR}"
+
+BUILD_TARGETS="all"
+MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
+MODULESD_VBOXDRV_ENABLED="yes"
+MODULESD_VBOXNETADP_ENABLED="no"
+MODULESD_VBOXNETFLT_ENABLED="no"
+
+pkg_setup() {
+	linux-mod_pkg_setup
+	BUILD_PARAMS="CC=\"$(tc-getBUILD_CC)\" KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
+	if linux_chkconfig_present CC_IS_CLANG; then
+		ewarn "Warning: building ${PN} with a clang-built kernel is experimental."
+
+		BUILD_PARAMS+=' CC=${CHOST}-clang'
+		if linux_chkconfig_present LD_IS_LLD; then
+			BUILD_PARAMS+=' LD=ld.lld'
+			if linux_chkconfig_present LTO_CLANG_THIN; then
+				# kernel enables cache by default leading to sandbox violations
+				BUILD_PARAMS+=' ldflags-y=--thinlto-cache-dir= LDFLAGS_MODULE=--thinlto-cache-dir='
+			fi
+		fi
+	fi
+}
+
+src_prepare() {
+	if use pax-kernel && kernel_is -ge 3 0 0 ; then
+		eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
+	fi
+
+	default
+}
+
+src_install() {
+	linux-mod_src_install
+	insinto /usr/lib/modules-load.d/
+	newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
+}
+
+pkg_postinst() {
+	# Remove vboxpci.ko from current running kernel
+	find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
+	linux-mod_pkg_postinst
+}

diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index 6c72dc819aec..48f85264e1ed 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -2,4 +2,5 @@ DIST VirtualBox-6.1.24.tar.bz2 165754851 BLAKE2B 65bbc130281a745a00eee2a055dd598
 DIST VirtualBox-6.1.28.tar.bz2 165774255 BLAKE2B fe66ab411ef8fd78ca7b5deb151b2bfc11f3625d54629e6768da9040297cea999c53873c94437f2a57b245e71db0e28bd2ad94ed557f8a1c1c674f477301e192 SHA512 d0eb49a82ec6ddb7ce7da362faf86254d324e73522001c44ab0f26a09ead3d9a800ce0d4ad3698853d4f9a4e9803ceb21f3bf50388a1855edcb2a42ce51f3a96
 DIST VirtualBox-6.1.30.tar.bz2 165769447 BLAKE2B e15a8370c7cd83b547012639c3361da1b2ee40e8b094f11c22fadb95c9ddaae4791ee7cab16cb2eb23c6da4fc383f89f629335d577fa834fa1a979e19b9701bb SHA512 fab5b8327d9ad4186e584e90d1aca461d95731d0935509301e8adfe28d0737fb3ded5ac1d97e4cd1edc12c79bebb75cc675289762f9e918106f34bf6e8d363d4
 DIST VirtualBox-6.1.32.tar.bz2 165758238 BLAKE2B 24873d7cc8bd306ea3552fe75379fbe7be767c85406042344eb047ed31184c3357aea07dda5e15c275f5036ae63106ef1d2e6524b143bc645a6b5ba0016f1391 SHA512 8bf7af6b8b4d3ba90f0e91589cf26400648436eb9da6d31c1a760460bfe5eb7311ac3220b4c9a98ac50e559641d3d5f559134be65288821038255de1c2c7ce1e
+DIST VirtualBox-6.1.34.tar.bz2 165761216 BLAKE2B d3c8f7d3d6f408e4c4275c2b2815e92819c871359501ec4fa7212bf7cdc852613e2e4703d8650371097a5bc805efa04ea75bb03ab83d24a869a677555f6e22d5 SHA512 46d63a9fd9df76af654af59fab5cf555858bc2c4b5dc34e2378d85ae784e6380b6def4aab06909a9b5e114a7297269f90cfb2c3d8d6529b423d703afbad18c64
 DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123

diff --git a/app-emulation/virtualbox/files/virtualbox-6.1.34-vboxr0.patch b/app-emulation/virtualbox/files/virtualbox-6.1.34-vboxr0.patch
new file mode 100644
index 000000000000..8d8105edee9a
--- /dev/null
+++ b/app-emulation/virtualbox/files/virtualbox-6.1.34-vboxr0.patch
@@ -0,0 +1,20 @@
+https://www.virtualbox.org/ticket/20904
+
+--- VirtualBox-6.1.34/Config.kmk
++++ VirtualBox-6.1.34/Config.kmk
+@@ -4502,11 +4502,14 @@
+ TEMPLATE_VBoxR0_TOOL                = $(VBOX_GCC_TOOL)
+ TEMPLATE_VBoxR0_CFLAGS              = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_C) \
+ 	$(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \
+-	$(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
++	$(VBOX_GCC_fno-stack-protector) -fno-common -ffreestanding $(VBOX_GCC_fvisibility-hidden) -std=gnu99 $(VBOX_GCC_IPRT_FMT_CHECK)
+ TEMPLATE_VBoxR0_CXXFLAGS            = -fno-pie -nostdinc -g $(VBOX_GCC_pipe) $(VBOX_GCC_WERR) $(VBOX_GCC_PEDANTIC_CXX) \
+ 	$(VBOX_GCC_Wno-variadic-macros) $(VBOX_GCC_R0_OPT) $(VBOX_GCC_R0_FP) -fno-strict-aliasing -fno-exceptions \
+ 	$(VBOX_GCC_fno-stack-protector) -fno-common $(VBOX_GCC_fvisibility-inlines-hidden) $(VBOX_GCC_fvisibility-hidden) \
+ 	-fno-rtti $(VBOX_GCC_IPRT_FMT_CHECK)
++ if $(VBOX_GCC_VERSION_CC) >= 40500 # 4.1.2 complains, 4.5.2 is okay, didn't check which version inbetween made it okay with g++.
++TEMPLATE_VBoxR0_CXXFLAGS           += -ffreestanding
++ endif
+ TEMPLATE_VBoxR0_CFLAGS.amd64        = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables -ffreestanding
+ TEMPLATE_VBoxR0_CXXFLAGS.amd64      = -m64 -mno-red-zone -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -fasynchronous-unwind-tables
+ TEMPLATE_VBoxR0_CXXFLAGS.freebsd    = -ffreestanding

diff --git a/app-emulation/virtualbox/virtualbox-6.1.34.ebuild b/app-emulation/virtualbox/virtualbox-6.1.34.ebuild
new file mode 100644
index 000000000000..ffef67a75eb1
--- /dev/null
+++ b/app-emulation/virtualbox/virtualbox-6.1.34.ebuild
@@ -0,0 +1,505 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..10} )
+inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
+
+MY_PN="VirtualBox"
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P=${MY_PN}-${MY_PV}
+[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
+
+DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
+	https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.12-patches-01.tar.xz"
+
+LICENSE="GPL-2 dtrace? ( CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64"
+IUSE="alsa debug doc dtrace headless java lvm +opus pam pax-kernel pch pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
+
+COMMON_DEPEND="
+	${PYTHON_DEPS}
+	!app-emulation/virtualbox-bin
+	acct-group/vboxusers
+	~app-emulation/virtualbox-modules-${DIR_PV:-${PV}}
+	dev-libs/libIDL
+	>=dev-libs/libxslt-1.1.19
+	net-misc/curl
+	dev-libs/libxml2
+	media-libs/libpng:0=
+	media-libs/libvpx:0=
+	sys-libs/zlib:=
+	!headless? (
+		media-libs/libsdl:0[X,video]
+		x11-libs/libX11
+		x11-libs/libxcb:=
+		x11-libs/libXcursor
+		x11-libs/libXext
+		x11-libs/libXmu
+		x11-libs/libXt
+		opengl? (
+			media-libs/libglvnd[X]
+			virtual/glu
+		)
+		qt5? (
+			dev-qt/qtcore:5
+			dev-qt/qtgui:5
+			dev-qt/qtprintsupport:5
+			dev-qt/qtwidgets:5
+			dev-qt/qtx11extras:5
+			opengl? ( dev-qt/qtopengl:5 )
+			x11-libs/libXinerama
+		)
+	)
+	dev-libs/openssl:0=
+	virtual/libcrypt:=
+	lvm? ( sys-fs/lvm2 )
+	opus? ( media-libs/opus )
+	udev? ( >=virtual/udev-171 )
+	vnc? ( >=net-libs/libvncserver-0.9.9 )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	alsa? ( >=media-libs/alsa-lib-1.0.13 )
+	!headless? (
+		x11-libs/libXinerama
+		opengl? ( virtual/opengl )
+	)
+	pam? ( sys-libs/pam )
+	pax-kernel? ( sys-apps/elfix )
+	pulseaudio? ( media-sound/pulseaudio )
+	qt5? ( dev-qt/linguist-tools:5 )
+	vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	>=dev-util/kbuild-0.1.9998.3127
+	>=dev-lang/yasm-0.6.2
+	sys-devel/bin86
+	sys-libs/libcap
+	sys-power/iasl
+	virtual/pkgconfig
+	doc? (
+		app-text/docbook-sgml-dtd:4.4
+		dev-texlive/texlive-basic
+		dev-texlive/texlive-latex
+		dev-texlive/texlive-latexrecommended
+		dev-texlive/texlive-latexextra
+		dev-texlive/texlive-fontsrecommended
+		dev-texlive/texlive-fontsextra
+	)
+	java? ( >=virtual/jdk-1.8 )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	java? ( >=virtual/jre-1.6 )
+"
+
+QA_TEXTRELS="
+	usr/lib64/virtualbox/VMMR0.r0
+"
+
+QA_EXECSTACK="
+	usr/lib64/virtualbox/iPxeBaseBin
+	usr/lib64/virtualbox/VMMR0.r0
+	usr/lib64/virtualbox/VBoxDDR0.r0
+"
+
+QA_WX_LOAD="
+	usr/lib64/virtualbox/iPxeBaseBin
+"
+
+QA_PRESTRIPPED="
+	/usr/lib64/virtualbox/VMMR0.r0
+	/usr/lib64/virtualbox/VBoxDDR0.r0
+"
+
+S="${WORKDIR}/${MY_PN}-${DIR_PV:-${MY_PV}}"
+
+REQUIRED_USE="
+	java? ( sdk )
+	python? ( sdk )
+	vboxwebsrv? ( java )
+	${PYTHON_REQUIRED_USE}
+"
+
+PATCHES=(
+	"${FILESDIR}/${P}-vboxr0.patch"
+)
+
+pkg_pretend() {
+	if ! use headless && ! use qt5 ; then
+		einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
+	elif use headless && use qt5 ; then
+		einfo "You selected USE=\"headless qt5\", defaulting to"
+		einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
+	fi
+
+	if ! use opengl ; then
+		einfo "No USE=\"opengl\" selected, this build will lack"
+		einfo "the OpenGL feature."
+	fi
+	if ! use python ; then
+		einfo "You have disabled the \"python\" USE flag. This will only"
+		einfo "disable the python bindings being installed."
+	fi
+}
+
+pkg_setup() {
+	java-pkg-opt-2_pkg_setup
+	python-single-r1_pkg_setup
+
+	tc-ld-disable-gold #bug 488176
+	tc-export CC CXX LD AR RANLIB
+	export HOST_CC="$(tc-getBUILD_CC)"
+}
+
+src_prepare() {
+	# Remove shipped binaries (kBuild,yasm), see bug #232775
+	rm -r kBuild/bin tools || die
+
+	# Replace pointless GCC version check with something less stupid.
+	# This is needed for the qt5 version check.
+	sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
+		-i configure || die
+
+	# Disable things unused or split into separate ebuilds
+	sed -e "s@MY_LIBDIR@$(get_libdir)@" \
+		"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
+
+	if ! use pch ; then
+		# bug #753323
+		printf '\n%s\n' "VBOX_WITHOUT_PRECOMPILED_HEADERS=1" \
+			>> LocalConfig.kmk || die
+	fi
+
+	# Respect LDFLAGS
+	sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
+		-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
+
+	# Do not use hard-coded ld (related to bug #488176)
+	sed -e '/QUIET)ld /s@ld @$(LD) @' \
+		-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+	# Use PAM only when pam USE flag is enbaled (bug #376531)
+	if ! use pam ; then
+		einfo "Disabling PAM removes the possibility to use the VRDP features."
+		sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
+		sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
+			src/VBox/HostServices/Makefile.kmk || die
+	fi
+
+	# add correct java path
+	if use java ; then
+		sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
+			-i "${S}"/Config.kmk || die
+		java-pkg-opt-2_src_prepare
+	fi
+
+	# Only add nopie patch when we're on hardened
+	if gcc-specs-pie ; then
+		eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
+	fi
+
+	# Only add paxmark patch when we're on pax-kernel
+	if use pax-kernel ; then
+		eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
+	fi
+
+	eapply "${FILESDIR}/${PN}-6.1.26-configure-include-qt5-path.patch" #805365
+
+	eapply "${WORKDIR}/patches"
+
+	default
+}
+
+doecho() {
+	echo "$@"
+	"$@" || die
+}
+
+src_configure() {
+	local myconf=(
+		--with-gcc="$(tc-getCC)"
+		--with-g++="$(tc-getCXX)"
+		--disable-dbus
+		--disable-kmods
+		$(usex alsa '' --disable-alsa)
+		$(usex debug --build-debug '')
+		$(usex doc '' --disable-docs)
+		$(usex java '' --disable-java)
+		$(usex lvm '' --disable-devmapper)
+		$(usex opus '' --disable-libopus)
+		$(usex pulseaudio '' --disable-pulse)
+		$(usex python '' --disable-python)
+		$(usex vboxwebsrv --enable-webservice '')
+		$(usex vnc --enable-vnc '')
+	)
+	if ! use headless ; then
+		myconf+=(
+			$(usex opengl '' --disable-opengl)
+			$(usex qt5 '' --disable-qt)
+		)
+	else
+		myconf+=(
+			--build-headless
+			--disable-opengl
+		)
+	fi
+	if use amd64 && ! has_multilib_profile ; then
+		myconf+=( --disable-vmmraw )
+	fi
+	# not an autoconf script
+	doecho ./configure "${myconf[@]}"
+}
+
+src_compile() {
+	source ./env.sh || die
+
+	# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
+	MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
+	MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
+	MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
+	MAKE="kmk" emake \
+		VBOX_BUILD_PUBLISHER=_Gentoo \
+		TOOL_GXX3_CC="$(tc-getCC)" TOOL_GXX3_CXX="$(tc-getCXX)" \
+		TOOL_GXX3_LD="$(tc-getCXX)" VBOX_GCC_OPT="${CXXFLAGS}" \
+		TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
+		VBOX_WITH_VBOXIMGMOUNT=1 \
+		all
+}
+
+src_install() {
+	cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
+
+	local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
+
+	vbox_inst() {
+		local binary="${1}"
+		local perms="${2:-0750}"
+		local path="${3:-${vbox_inst_path}}"
+
+		[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
+		[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
+
+		insinto ${path}
+		doins ${binary}
+		fowners root:vboxusers ${path}/${binary}
+		fperms ${perms} ${path}/${binary}
+	}
+
+	# Create configuration files
+	insinto /etc/vbox
+	newins "${FILESDIR}/${PN}-4-config" vbox.cfg
+
+	# Set the correct libdir
+	sed \
+		-e "s@MY_LIBDIR@$(get_libdir)@" \
+		-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
+
+	# Install the wrapper script
+	exeinto ${vbox_inst_path}
+	newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
+	fowners root:vboxusers ${vbox_inst_path}/VBox
+	fperms 0750 ${vbox_inst_path}/VBox
+
+	# Install binaries and libraries
+	insinto ${vbox_inst_path}
+	doins -r components
+
+	for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
+		vbox_inst ${each}
+	done
+
+	# These binaries need to be suid root.
+	for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
+		vbox_inst ${each} 4750
+	done
+
+	# Install EFI Firmware files (bug #320757)
+	for each in VBoxEFI{32,64}.fd ; do
+		vbox_inst ${each} 0644
+	done
+
+	# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
+	# VBoxXPCOMIPCD (bug #524202)
+	for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
+		pax-mark -m "${ED}"${vbox_inst_path}/${each}
+	done
+
+	# Symlink binaries to the shipped wrapper
+	for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
+		dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+	done
+	dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
+	dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
+
+	if use pam ; then
+		# VRDPAuth only works with this (bug #351949)
+		dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
+	fi
+
+	# set an env-variable for 3rd party tools
+	echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
+	doenvd "${T}/90virtualbox"
+
+	if ! use headless ; then
+		vbox_inst rdesktop-vrdp
+		vbox_inst VBoxSDL 4750
+		pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
+
+		for each in vboxsdl VBoxSDL ; do
+			dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+		done
+
+		if use qt5 ; then
+			vbox_inst VirtualBox
+			vbox_inst VirtualBoxVM 4750
+			for each in VirtualBox{,VM} ; do
+				pax-mark -m "${ED}"${vbox_inst_path}/${each}
+			done
+
+			if use opengl ; then
+				vbox_inst VBoxTestOGL
+				pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
+			fi
+
+			for each in virtualbox{,vm} VirtualBox{,VM} ; do
+				dosym ${vbox_inst_path}/VBox /usr/bin/${each}
+			done
+
+			insinto /usr/share/${PN}
+			doins -r nls
+			doins -r UnattendedTemplates
+
+			domenu ${PN}.desktop
+		fi
+
+		pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
+		for size in 16 32 48 64 128 ; do
+			newicon -s ${size} ${PN}-${size}px.png ${PN}.png
+		done
+		newicon ${PN}-48px.png ${PN}.png
+		doicon -s scalable ${PN}.svg
+		popd &>/dev/null || die
+		pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
+		for size in 16 24 32 48 64 72 96 128 256 512 ; do
+			for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
+				icofile="${PN}-${ico}-${size}px.png"
+				if [[ -f "${icofile}" ]] ; then
+					newicon -s ${size} ${icofile} ${PN}-${ico}.png
+				fi
+			done
+		done
+		popd &>/dev/null || die
+	fi
+
+	if use lvm ; then
+		vbox_inst VBoxVolInfo 4750
+		dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
+	fi
+
+	if use sdk ; then
+		insinto ${vbox_inst_path}
+		doins -r sdk
+
+		if use java ; then
+			java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
+			java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
+		fi
+	fi
+
+	if use udev ; then
+		local udevdir="$(get_udevdir)"
+		local udev_file="VBoxCreateUSBNode.sh"
+		local rules_file="10-virtualbox.rules"
+
+		insinto ${udevdir}
+		doins ${udev_file}
+		fowners root:vboxusers ${udevdir}/${udev_file}
+		fperms 0750 ${udevdir}/${udev_file}
+
+		insinto ${udevdir}/rules.d
+		sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/${rules_file} \
+			> "${T}"/${rules_file} || die
+		doins "${T}"/${rules_file}
+	fi
+
+	if use vboxwebsrv ; then
+		vbox_inst vboxwebsrv
+		dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
+		newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
+		newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
+	fi
+
+	# Remove dead symlinks (bug #715338)
+	find "${ED}"/usr/$(get_libdir)/${PN} -xtype l -delete || die
+
+	# Fix version string in extensions or else they don't get accepted
+	# by the virtualbox host process (see bug #438930)
+	find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
+		| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
+		|| die
+
+	local extensions_dir="${vbox_inst_path}/ExtensionPacks"
+
+	if use vnc ; then
+		insinto ${extensions_dir}
+		doins -r ExtensionPacks/VNC
+	fi
+
+	if use dtrace ; then
+		insinto ${extensions_dir}
+		doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
+	fi
+
+	if use doc ; then
+		dodoc UserManual.pdf
+	fi
+
+	newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+
+	if use udev ; then
+		udevadm control --reload-rules \
+			&& udevadm trigger --subsystem-match=usb
+	fi
+
+	tmpfiles_process virtualbox-vboxusb.conf
+
+	if ! use headless && use qt5 ; then
+		elog "To launch VirtualBox just type: \"virtualbox\"."
+	fi
+	elog "You must be in the vboxusers group to use VirtualBox."
+	elog ""
+	elog "The latest user manual is available for download at:"
+	elog "http://download.virtualbox.org/virtualbox/${DIR_PV:-${PV}}/UserManual.pdf"
+	elog ""
+	elog "For advanced networking setups you should emerge:"
+	elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
+	elog ""
+	elog "Starting with version 4.0.0, ${PN} has USB-1 support."
+	elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
+	elog "  app-emulation/virtualbox-extpack-oracle"
+	elog "package."
+	elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
+	elog "the \"extension\" USE flag. For installation of the guest additions ISO"
+	elog "image, please emerge"
+	elog "  app-emulation/virtualbox-additions"
+	elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
+	elog "  app-emulation/virtualbox-extpack-oracle"
+	if ! use udev ; then
+		elog ""
+		elog "WARNING!"
+		elog "Without USE=udev, USB devices will likely not work in ${PN}."
+	fi
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2022-04-22  7:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-22  7:20 [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-additions/, app-emulation/virtualbox/files/, Lars Wendler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox