repo/gentoo:master commit in: app-emulation/virtualbox/, app-emulation/virtualbox/files/

"Viorel Munteanu" <[email protected]>
Newsgroups gmane.linux.gentoo.cvs
Message-ID <1785992220.e42340a2d1a1ee21b9d67b6991b9bb850beeb0f6.ceamac@gentoo>
commit:     e42340a2d1a1ee21b9d67b6991b9bb850beeb0f6
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  6 04:57:00 2026 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Thu Aug  6 04:57:00 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e42340a2

app-emulation/virtualbox: drop 7.2.12

Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>

 app-emulation/virtualbox/Manifest                  |   2 -
 .../virtualbox-7.2.10-x-wayland-optional.patch     |  71 --
 app-emulation/virtualbox/virtualbox-7.2.12.ebuild  | 785 ---------------------
 3 files changed, 858 deletions(-)

diff --git a/app-emulation/virtualbox/Manifest b/app-emulation/virtualbox/Manifest
index c817655fcac3..07f9e0fb0d09 100644
--- a/app-emulation/virtualbox/Manifest
+++ b/app-emulation/virtualbox/Manifest
@@ -1,11 +1,9 @@
 DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551 SHA512 337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6
 DIST VirtualBox-7.1.18.tar.bz2 222872511 BLAKE2B 1c692a6bd86185035e379feefddd3e98c18a49f231a2fd57702ca95c887ffe9ec435a90ebad457d07054bcd88bd31d84db61ed21ae8a99ae6d6ca39e18b1879c SHA512 bb0eae83af0ca94e502fc713a5fdf90e2760eb90e548ad102259b57edcda98f04adf6e9cb83b52bee3c1b341f1c2823fec05a0c60a2403e70be6159dd4a21c34
-DIST VirtualBox-7.2.12.tar.bz2 207089435 BLAKE2B 10f3733371366c5fd8d247ccb91088ef32619cff1be5ad116bcda1cb195bf468222434fdf3675798dda945130c5edc6e0aede800cb0b34170259559bce73da60 SHA512 a58ab2a7436ab09a66fe30e477adcdc376d3e4d09b9ce10621fda25c72f68b345de84ce3f96784460573f732899cf4b4ec1baa2478c5ff81af721b12ffb88082
 DIST VirtualBox-7.2.14.tar.bz2 223796857 BLAKE2B 040bfe03852cea08e333a4f90285d69ed8727e869b47ed4075d6c0351ee819240bea4b00d375aaba27b0e2f74a4490e40cd498faa61131175a814ae6d1380be3 SHA512 97fde73d0c93cdd26d148429b1f6b92538469b41006888803024505b200cb78e8098e19a101d9cc471991a6be7519bbf42b8818ddd584925946af048dc2ffff3
 DIST VirtualBox-7.2.8.tar.bz2 207408458 BLAKE2B f57d2cbf02cb6b4b78a203737d1e12916b396e188a58d075b2b6414e83e526f0adecab7e317b33a639de51d30b8351d74dc4beb48e57e5a0feb1bf68d2523339 SHA512 a67256506c870b7fcecb0ec8b1d5e75490ee02379b5e967aead44ed09e2b15c0a2c3fd2d1e021281609d8d1f98b161cd3aa0265938490a999a700a1e01a9013b
 DIST virtualbox-help-7.1.0.tar.xz 1631644 BLAKE2B 408748619d1e981b9d5b5e615baca75ff297e9b7e745751767361b7b9c74345a3db1980734439f3868c412fe28a6b687b417adc3cc148d2e2b8a9fa60e48463b SHA512 513b8474d4fbf7cdb83624dc8d344122c524d92f9f84b32784161c8e1cac8ddc2c265447621d7cd3cf105d555a044e6abf42155f413ba89d507eba7ce3b2da89
 DIST virtualbox-help-7.1.18.tar.xz 8350244 BLAKE2B 4c63fc530418d4852a6a88b4dacd2c9e9fa753ff3836ebadb2f6cc99296c35604bddf0a95addbcdf2f4d36ddc5299395f3bde0fa0e2201d1dc48d262197a8bd3 SHA512 247bf80af406e4f76d71e8b966f113f138b5f08bf3755fe9e70cabc9a9f1d098215dbadb00ab184e9325e5cee7e927fad0a360faa28f90598bd995e70996d640
-DIST virtualbox-help-7.2.12.tar.xz 8379464 BLAKE2B 57babfbbec6e8bd522c4d53eb5478385124a2d52410e1660102c8532dafca76374846671e488153e9eeb88ca0551e567a621832ea9676acf9f843d24dd70a338 SHA512 3fd02a1bebe0a9fae71c9cca9b54fa2b3e0d0ce91d9d90243e8045e50f3ff7dd5e309aaee981769b6bafd302a3ad4444fd8bf570d496218abed168ba6cc05d01
 DIST virtualbox-help-7.2.14.tar.xz 8379920 BLAKE2B 5a63006fa6c974c87d9ad31df19f37b7bc26f8edcc6f43b27ce443e3e3447b8c5dd094f1e24908b21c043408a2c290bf8c9be3ece1d213794b87e537b464ad0f SHA512 124014da86b309f6360806c72166e8b544e2045668d6104cf135098123140a6542c8cddb829392002edd18c67d74bb7a0807fec6f83e9fa52287d8795ab98c7f
 DIST virtualbox-help-7.2.8.tar.xz 8378772 BLAKE2B 6941831bcdabe0017f3b03c4741ac5df5feef8aa376f0686878eb70e8ae7e9bdf878a34db86b4756ac65476ea08e3e0f1417db7870d35619bb4065bd271264dd SHA512 476d9e3ca3c338ec0c54a91204c24b5033af75c60d55e66693093bef30262157437f36a66c5c8184e9eb95b0a243cd6ec5c59f2c5b9c6dc31f94ab5cea393e5f
 DIST virtualbox-patches-7.0.22-r1.tar.bz2 6972 BLAKE2B e9116cb2ed874f9a0133e756b725a48ee665a412114d04195849f5930782c65678a2aaf581b9b02bc29001be4191116e322643232ee37de5cba0f2b5049b615f SHA512 be72b596f63229bd28b22c026108cf5a5c951f58343a709f158446593e6f872a81734dd83a838dd91c02c80854312e2cad81f3a525035db5ffabeb96729a8276

diff --git a/app-emulation/virtualbox/files/virtualbox-7.2.10-x-wayland-optional.patch b/app-emulation/virtualbox/files/virtualbox-7.2.10-x-wayland-optional.patch
deleted file mode 100644
index 6e66c3406165..000000000000
--- a/app-emulation/virtualbox/files/virtualbox-7.2.10-x-wayland-optional.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-Make X and/or wayland optional depending on how qtbase was compiled.
-
---- a/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
-+++ b/src/VBox/Frontends/VirtualBox/src/platform/nix/VBoxUtils-nix.cpp
-@@ -66,9 +66,12 @@ VBGHDISPLAYSERVERTYPE NativeWindowSubsystem::displayServerType()
- {
-     if (!qApp)
-         return VBGHDISPLAYSERVERTYPE_NONE;
-+#if QT_CONFIG(xcb)
-     QNativeInterface::QX11Application *pX11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
-     if (pX11App)
-         return VBGHDISPLAYSERVERTYPE_X11;
-+#endif
-+#if QT_CONFIG(wayland)
- #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) && defined(RT_OS_LINUX)
-     QNativeInterface::QWaylandApplication *pWaylandApp = qApp->nativeInterface<QNativeInterface::QWaylandApplication>();
-     if (pWaylandApp)
-@@ -76,6 +79,7 @@ VBGHDISPLAYSERVERTYPE NativeWindowSubsystem::displayServerType()
- #else
-     if (QGuiApplication::platformName().contains("wayland", Qt::CaseInsensitive))
-         return VBGHDISPLAYSERVERTYPE_PURE_WAYLAND;
-+#endif
- #endif
-     return VBGHDISPLAYSERVERTYPE_NONE;
- }
-@@ -100,6 +104,7 @@ bool NativeWindowSubsystem::X11IsCompositingManagerRunning()
- 
- bool NativeWindowSubsystem::WaylandIsCompositingManagerRunning()
- {
-+#if QT_CONFIG(wayland)
- #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0) && defined(RT_OS_LINUX)
-     QNativeInterface::QWaylandApplication *pWaylandApp = qApp->nativeInterface<QNativeInterface::QWaylandApplication>();
-     if (pWaylandApp)
-@@ -107,6 +112,7 @@ bool NativeWindowSubsystem::WaylandIsCompositingManagerRunning()
-         if (pWaylandApp->compositor())
-             return true;
-     }
-+#endif
- #endif
-     return false;
- }
-@@ -741,12 +747,14 @@ void NativeWindowSubsystem::setXwaylandMayGrabKeyboardFlag(QWidget *pWidget)
- Display *NativeWindowSubsystem::X11GetDisplay()
- {
-     Display *pDisplay = 0;
-+#if QT_CONFIG(xcb)
-     if (qApp)
-     {
-         QNativeInterface::QX11Application *pX11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
-         if (pX11App)
-             pDisplay = pX11App->display();
-     }
-+#endif
-     Assert(pDisplay);
-     return pDisplay;
- }
-@@ -754,12 +762,14 @@ Display *NativeWindowSubsystem::X11GetDisplay()
- xcb_connection_t *NativeWindowSubsystem::X11GetConnection()
- {
-     xcb_connection_t *pConnection = 0;
-+#if QT_CONFIG(xcb)
-     if (qApp)
-     {
-         QNativeInterface::QX11Application *pX11App = qApp->nativeInterface<QNativeInterface::QX11Application>();
-         if (pX11App)
-             pConnection = pX11App->connection();
-     }
-+#endif
-     Assert(pConnection);
-     return pConnection;
- }

diff --git a/app-emulation/virtualbox/virtualbox-7.2.12.ebuild b/app-emulation/virtualbox/virtualbox-7.2.12.ebuild
deleted file mode 100644
index fee6ec22cb81..000000000000
--- a/app-emulation/virtualbox/virtualbox-7.2.12.ebuild
+++ /dev/null
@@ -1,785 +0,0 @@
-# Copyright 2022-2026 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# To add a new Python here:
-# 1. Patch src/libs/xpcom18a4/python/Makefile.kmk (copy the previous impl's logic)
-#    Do NOT skip this part. It'll end up silently not-building the Python extension
-#    or otherwise misbehaving if you do.
-#
-# 2. Then update PYTHON_COMPAT & set PYTHON_SINGLE_TARGET for testing w/ USE=python.
-#
-#  May need to look at other distros (e.g. Arch Linux) to find patches for newer
-#  Python versions as upstream tends to lag. Upstream may have patches on their
-#  trunk branch but not release branch.
-#
-#  See bug #785835, bug #856121.
-PYTHON_COMPAT=( python3_{12..14} )
-
-inherit desktop edo flag-o-matic java-pkg-opt-2 linux-info multilib optfeature pax-utils \
-	python-single-r1 tmpfiles toolchain-funcs udev xdg
-
-MY_PN="VirtualBox"
-MY_P=${MY_PN}-${PV^^}
-HELP_PV=${PV}
-PATCHES_PV="7.2.6"
-
-DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
-HOMEPAGE="https://www.virtualbox.org/ https://github.com/VirtualBox/virtualbox"
-SRC_URI="
-	https://download.virtualbox.org/virtualbox/${PV^^}/${MY_P}.tar.bz2
-	https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${PATCHES_PV}.tar.bz2
-	gui? ( !doc? (
-		https://distfiles.gentoo.org/pub/dev/[email protected]/${CATEGORY}/${PN}/${PN}-help-${HELP_PV}.tar.xz
-	) )
-"
-S="${WORKDIR}/${MY_PN}-${PV^^}"
-
-LICENSE="GPL-2+ GPL-3 LGPL-2.1 MIT dtrace? ( CDDL )"
-SLOT="0/$(ver_cut 1-2)"
-KEYWORDS="~amd64"
-IUSE="X alsa dbus debug doc dtrace +gui java lvm nls pam pch pulseaudio +opengl python +sdk +sdl test +udev vboxwebsrv vde vnc wayland"
-RESTRICT="!test? ( test )"
-
-unset WATCOM #856769
-
-COMMON_DEPEND="
-	acct-group/vboxusers
-	app-arch/xz-utils
-	~app-emulation/virtualbox-modules-${PV%*a}
-	dev-libs/libtpms
-	dev-libs/libxml2:=
-	dev-libs/openssl:0=
-	media-libs/libogg
-	media-libs/libpng:0=
-	media-libs/libvorbis
-	media-libs/libvpx:0=
-	net-misc/curl
-	virtual/zlib:=
-	dbus? ( sys-apps/dbus )
-	gui? (
-		dev-qt/qtbase:6[X=,wayland=,widgets]
-		dev-qt/qtscxml:6
-		dev-qt/qttools:6[assistant]
-		x11-libs/libX11
-		x11-libs/libXt
-	)
-	lvm? ( sys-fs/lvm2 )
-	opengl? (
-		media-libs/libglvnd[X]
-		media-libs/vulkan-loader
-		x11-libs/libX11
-		x11-libs/libXt
-	)
-	pam? ( sys-libs/pam )
-	python? ( ${PYTHON_DEPS} )
-	sdl? (
-		media-libs/libsdl2[X,video]
-		x11-libs/libX11
-		x11-libs/libXt
-	)
-	vboxwebsrv? ( net-libs/gsoap[-gnutls(-),debug?] )
-	vde? ( net-misc/vde )
-	vnc? ( >=net-libs/libvncserver-0.9.9 )
-"
-# We're stuck on JDK (and JRE, I guess?) 1.8 because of need for wsimport
-# with USE="vboxwebsrv java". Note that we have to put things in DEPEND,
-# not (only, anyway) BDEPEND, as the eclass magic to set the environment variables
-# based on *DEPEND doesn't work for BDEPEND at least right now.
-#
-# There's a comment in Config.kmk about it
-# ("With Java 11 wsimport was removed, usually part of a separate install now.")
-# but it needs more investigation.
-#
-# See bug #878299 to track this issue.
-DEPEND="
-	${COMMON_DEPEND}
-	>=dev-libs/libxslt-1.1.19
-	virtual/libcrypt:=
-	x11-libs/libXt
-	alsa? ( >=media-libs/alsa-lib-1.0.13 )
-	gui? (
-		x11-base/xorg-proto
-		x11-libs/libxcb:=
-		x11-libs/libXcursor
-		x11-libs/libXext
-		x11-libs/libXinerama
-		x11-libs/libXmu
-		x11-libs/libXrandr
-	)
-	java? ( virtual/jdk:1.8 )
-	opengl? (
-		x11-base/xorg-proto
-		x11-libs/libXcursor
-		x11-libs/libXinerama
-		x11-libs/libXmu
-		x11-libs/libXrandr
-		virtual/glu
-	)
-	sdl? (
-		x11-libs/libXcursor
-		x11-libs/libXinerama
-	)
-	pulseaudio? ( media-libs/libpulse )
-	udev? ( >=virtual/udev-171 )
-"
-RDEPEND="
-	${COMMON_DEPEND}
-	gui? ( x11-libs/libxcb:= )
-	java? ( virtual/jre:1.8 )
-"
-BDEPEND="
-	>=app-arch/tar-1.34-r2
-	>=dev-lang/yasm-0.6.2
-	dev-util/glslang
-	>=dev-build/kbuild-0.1.9998.3660
-	sys-apps/which
-	sys-devel/bin86
-	sys-libs/libcap
-	sys-power/iasl
-	virtual/pkgconfig
-	doc? (
-		app-doc/dita-ot-bin
-		app-text/docbook-sgml-dtd:4.4
-		app-text/docbook-xsl-ns-stylesheets
-		dev-texlive/texlive-basic
-		dev-texlive/texlive-latex
-		dev-texlive/texlive-latexrecommended
-		dev-texlive/texlive-latexextra
-		dev-texlive/texlive-fontsrecommended
-		dev-texlive/texlive-fontsextra
-		dev-qt/qttools:6[assistant]
-		sys-libs/nss_wrapper
-	)
-	gui? ( dev-qt/qttools:6[linguist] )
-	nls? ( dev-qt/qttools:6[linguist] )
-	java? ( virtual/jdk:1.8 )
-	python? (
-		${PYTHON_DEPS}
-		test? (
-			$(python_gen_cond_dep '
-				dev-python/pytest[${PYTHON_USEDEP}]
-			')
-		)
-	)
-"
-
-QA_FLAGS_IGNORED="
-	usr/lib64/virtualbox/VBoxDDR0.r0
-	usr/lib64/virtualbox/VMMR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
-"
-
-QA_TEXTRELS="
-	usr/lib64/virtualbox/VMMR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-"
-
-QA_EXECSTACK="
-	usr/lib64/virtualbox/iPxeBaseBin
-	usr/lib64/virtualbox/VMMR0.r0
-	usr/lib64/virtualbox/VBoxDDR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.debug
-"
-
-QA_WX_LOAD="
-	usr/lib64/virtualbox/iPxeBaseBin
-"
-
-QA_PRESTRIPPED="
-	usr/lib64/virtualbox/VMMR0.r0
-	usr/lib64/virtualbox/VBoxDDR0.r0
-	usr/lib64/virtualbox/ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack/linux.amd64/VBoxDTraceR0.r0
-"
-
-REQUIRED_USE="
-	java? ( sdk )
-	python? ( sdk ${PYTHON_REQUIRED_USE} )
-	test? ( !debug )
-	vboxwebsrv? ( java )
-"
-
-PATCHES=(
-	"${FILESDIR}"/${PN}-7.2.8-parallel-make.patch
-
-	# Downloaded patchset
-	"${WORKDIR}"/virtualbox-patches-${PATCHES_PV}/patches
-	"${FILESDIR}"/${PN}-7.2.10-x-wayland-optional.patch
-)
-
-pkg_pretend() {
-	if ! use gui; then
-		einfo "No USE=\"gui\" selected, this build will not include any Qt frontend."
-		use X && einfo "USE=\"X\" has no effect without USE=\"gui\""
-		use wayland && einfo "USE=\"wayland\" has no effect without USE=\"gui\""
-	fi
-
-	if ! use opengl; then
-		einfo "No USE=\"opengl\" selected, this build will lack"
-		einfo "the OpenGL feature."
-	fi
-	if ! use nls && use gui; then
-		einfo "USE=\"gui\" also selects USE=\"nls\".  This build"
-		einfo "will have NLS support."
-	fi
-
-	# 749273
-	local d=${ROOT}
-	for i in usr "$(get_libdir)"; do
-		d="${d}/$i"
-		if [[ "$(stat -L -c "%g %u" "${d}")" != "0 0" ]]; then
-			die "${d} should be owned by root, VirtualBox will not start otherwise"
-		fi
-	done
-}
-
-pkg_setup() {
-	java-pkg-opt-2_pkg_setup
-	use python && python-single-r1_pkg_setup
-}
-
-src_prepare() {
-	default
-
-	if use python; then
-		mkdir test
-		cp "${FILESDIR}"/test_python.py test/
-		python_fix_shebang test/test_python.py
-	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
-
-	# Remove shipped binaries (kBuild, yasm) and tools, see bug #232775
-	rm -r kBuild/bin || die
-	# Remove everything in tools except kBuildUnits
-	find tools -mindepth 1 -maxdepth 1 -name kBuildUnits -prune -o -exec rm -r {} \+ || 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
-
-	# bug #916002, #488176, #925347
-	tc-ld-is-mold || tc-ld-force-bfd
-
-	# 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
-		echo -e "\nIPRT_WITHOUT_PAM=1" >> LocalConfig.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
-
-	# bug #940482
-	filter-flags -fno-plt
-
-	# bug #908814
-	filter-lto
-
-	# bug #843437
-	cat >> LocalConfig.kmk <<-EOF || die
-		CXXFLAGS=${CXXFLAGS}
-		CFLAGS=${CFLAGS}
-	EOF
-
-	if use sdl; then
-		sed -i 's/sdl-config/sdl2-config/' configure || die
-		echo -e "\nVBOX_WITH_VBOXSDL=1" >> LocalConfig.kmk || die
-	fi
-
-	#443830
-	echo -e "\nVBOX_WITH_VBOX_IMG=1" >> LocalConfig.kmk || die
-
-	if tc-is-clang; then
-		# clang does not support this extension
-		eapply "${FILESDIR}"/${PN}-7.1.0-disable-rebuild-iPxeBiosBin.patch
-	fi
-
-	# fix doc generation
-	echo -e "\nVBOX_PATH_DOCBOOK=/usr/share/sgml/docbook/xsl-ns-stylesheets" >> LocalConfig.kmk || die
-	# replace xhtml names with numeric equivalents
-	find doc/manual -name \*.xml -exec sed -i \
-		-e 's/&nbsp;/\&#160;/g' \
-		-e 's/&ndash;/\&#8211;/g' \
-		-e 's/&larr;/\&#8592;/g' \
-		-e 's/&rarr;/\&#8594;/g' \
-		-e 's/&harr;/\&#8596;/g' {} \+ || die
-
-	# fix help path #891879
-	echo -e "\nVBOX_PATH_PACKAGE_DOCS=/usr/share/doc/${PF}" >> LocalConfig.kmk || die
-
-	# 489208
-	# Cannot patch the whole text, many translations.  Use sed instead to replace the command
-	find src/VBox/Frontends/VirtualBox/nls -name \*.ts -exec sed -i \
-		's/&apos;[^&]*\(vboxdrv setup\|vboxconfig\)&apos;/\&apos;emerge -1 virtualbox-modules\&apos;/' {} \+ || die
-	sed -i "s:'/sbin/vboxconfig':'emerge -1 virtualbox-modules':" \
-		src/VBox/Frontends/VirtualBox/src/main.cpp \
-		src/VBox/VMM/VMMR3/VMR3.cpp || die
-
-	# 890561
-	echo -e "\nVBOX_GTAR=gtar" >> LocalConfig.kmk || die
-
-	if ! use nls && ! use gui; then
-		cat >> LocalConfig.kmk <<-EOF || die
-			VBOX_WITH_NLS :=
-			VBOX_WITH_MAIN_NLS :=
-			VBOX_WITH_PUEL_NLS :=
-			VBOX_WITH_VBOXMANAGE_NLS :=
-		EOF
-	fi
-}
-
-src_configure() {
-	tc-export AR CC CXX LD RANLIB
-	export HOST_CC="$(tc-getBUILD_CC)"
-
-	# --enable-webservice is a no-op
-	# webservice is automagically enabled if gsoap is found
-	local myconf=(
-		--with-gcc="$(tc-getCC)"
-		--with-g++="$(tc-getCXX)"
-
-		--disable-kmods
-
-		$(usev !alsa --disable-alsa)
-		$(usev !dbus --disable-dbus)
-		$(usev debug --build-debug)
-		$(usev !doc --disable-docs)
-		$(usev !java --disable-java)
-		$(usev !lvm --disable-devmapper)
-		$(usev !pulseaudio --disable-pulse)
-		$(usev !python --disable-python)
-		$(usev !vboxwebsrv --with-gsoap-dir=/dev/null)
-		$(usev vde --enable-vde)
-		$(usev vnc --enable-vnc)
-	)
-
-	if use gui || use sdl || use opengl; then
-		myconf+=(
-			$(usev !opengl --disable-opengl)
-			$(usev !gui --disable-qt)
-			$(usev !sdl --disable-sdl)
-		)
-	else
-		myconf+=(
-			--build-headless
-		)
-		# disable shared clipboard when headless, it crashes when connecting with RDP: bug #955867
-		echo -e "\nVBOX_WITH_SHARED_CLIPBOARD :=" >> LocalConfig.kmk || die
-	fi
-
-	# not an autoconf script
-	edo ./configure "${myconf[@]}"
-
-	# Force usage of chosen Python implementation
-	# bug #856121, bug #785835
-	sed -i \
-		-e '/VBOX_WITH_PYTHON.*=/d' \
-		-e '/VBOX_PATH_PYTHON_INC.*=/d' \
-		-e '/VBOX_LIB_PYTHON.*=/d' \
-		AutoConfig.kmk || die
-
-	if use python; then
-		cat >> AutoConfig.kmk <<-EOF || die
-			VBOX_WITH_PYTHON=$(usev python 1)
-			VBOX_PATH_PYTHON_INC=$(python_get_includedir)
-			VBOX_LIB_PYTHON=$(python_get_library_path)
-		EOF
-
-		local mangled_python="${EPYTHON#python}"
-		mangled_python="${mangled_python/.}"
-
-		# Stub out the script which defines what the Makefile ends up
-		# building for. gen_python_deps.py gets called by the Makefile
-		# with some args and it spits out a bunch of paths for a hardcoded
-		# list of Pythons. We just override it with what we're actually using.
-		# This minimises the amount of patching we have to do for new Pythons.
-		cat > src/libs/xpcom18a4/python/gen_python_deps.py <<-EOF || die
-			print("VBOX_PYTHON${mangled_python}_INC=$(python_get_includedir)")
-			print("VBOX_PYTHON${mangled_python}_LIB=$(python_get_library_path)")
-			print("VBOX_PYTHONDEF_INC=$(python_get_includedir)")
-			print("VBOX_PYTHONDEF_LIB=$(python_get_library_path)")
-		EOF
-
-		chmod +x src/libs/xpcom18a4/python/gen_python_deps.py || die
-	else
-		cat >> AutoConfig.kmk <<-EOF || die
-			VBOX_WITH_PYTHON:=
-		EOF
-	fi
-}
-
-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}"
-
-	local myemakeargs=(
-		VBOX_BUILD_PUBLISHER=_Gentoo
-		VBOX_WITH_VBOXIMGMOUNT=1
-
-		KBUILD_VERBOSE=2
-
-		AS="$(tc-getCC)"
-		CC="$(tc-getCC)"
-		CXX="$(tc-getCXX)"
-
-		TOOL_GCC3_CC="$(tc-getCC)"
-		TOOL_GCC3_LD="$(tc-getCC)"
-		TOOL_GCC3_AS="$(tc-getCC)"
-		TOOL_GCC3_AR="$(tc-getAR)"
-		TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
-
-		TOOL_GXX3_CC="$(tc-getCC)"
-		TOOL_GXX3_CXX="$(tc-getCXX)"
-		TOOL_GXX3_LD="$(tc-getCXX)"
-		TOOL_GXX3_AS="$(tc-getCXX)"
-		TOOL_GXX3_AR="$(tc-getAR)"
-		TOOL_GXX3_OBJCOPY="$(tc-getOBJCOPY)"
-
-		TOOL_GCC3_CFLAGS="${CFLAGS}"
-		TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
-		VBOX_GCC_OPT="${CXXFLAGS}"
-		VBOX_NM="$(tc-getNM)"
-
-		TOOL_YASM_AS=yasm
-	)
-
-	if use amd64 && has_multilib_profile; then
-		myemakeargs+=(
-			CC32="$(tc-getCC) -m32"
-			CXX32="$(tc-getCXX) -m32"
-
-			TOOL_GCC32_CC="$(tc-getCC) -m32"
-			TOOL_GCC32_CXX="$(tc-getCXX) -m32"
-			TOOL_GCC32_LD="$(tc-getCC) -m32"
-			TOOL_GCC32_AS="$(tc-getCC) -m32"
-			TOOL_GCC32_AR="$(tc-getAR)"
-			TOOL_GCC32_OBJCOPY="$(tc-getOBJCOPY)"
-
-			TOOL_GXX32_CC="$(tc-getCC) -m32"
-			TOOL_GXX32_CXX="$(tc-getCXX) -m32"
-			TOOL_GXX32_LD="$(tc-getCXX) -m32"
-			TOOL_GXX32_AS="$(tc-getCXX) -m32"
-			TOOL_GXX32_AR="$(tc-getAR)"
-			TOOL_GXX32_OBJCOPY="$(tc-getOBJCOPY)"
-		)
-	fi
-
-	if use doc; then
-		# dita needs to write to ~/.fop and ~/.java
-		# but it ignores ${HOME} and tries to write to the real home of user portage
-		# resulting in a sandbox violation
-		# -Duser.home= does not work
-		# force using the temporary homedir with nss_wrapper
-		echo "${LOGNAME}::$(id -u):$(id -g):${USER}:${HOME}:/bin/bash" >> ~/passwd
-		echo "${LOGNAME}::$(id -g):" >> ~/group
-
-		local -x LD_PRELOAD=libnss_wrapper.so
-		local -x NSS_WRAPPER_PASSWD="${HOME}"/passwd
-		local -x NSS_WRAPPER_GROUP="${HOME}"/group
-	fi
-
-	MAKE="kmk" emake "${myemakeargs[@]}" all
-}
-
-src_test() {
-	if use python; then
-		local -x VBOX_APP_HOME="${S}"/out/linux.${ARCH}/$(usex debug debug release)
-		local -x VBOX_INSTALL_PATH="${VBOX_APP_HOME}"
-		local -x VBOX_PROGRAM_PATH="${VBOX_APP_HOME}"/bin
-		local -x VBOX_SDK_PATH="${VBOX_PROGRAM_PATH}"/sdk
-		local -x PYTHONPATH="${VBOX_SDK_PATH}"/installer/python/vboxapi/src
-		einfo "VBOX_APP_HOME ${VBOX_APP_HOME}"
-		einfo "VBOX_PROGRAM_PATH ${VBOX_PROGRAM_PATH}"
-		einfo "VBOX_SDK_PATH ${VBOX_SDK_PATH}"
-		einfo "PYTHONPATH ${PYTHONPATH}"
-		LD_LIBRARY_PATH="${VBOX_PROGRAM_PATH}" epytest test/
-	fi
-}
-
-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,VMMPreload} \
-		vboximg-mount vbox-img *so *r0; 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{-x86,-amd64}.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}/vboximg-mount /usr/bin/vboximg-mount
-	dosym ${vbox_inst_path}/vbox-img /usr/bin/vbox-img
-
-	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 "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
-	# environment variables used during SDK binding installation
-	echo "VBOX_SDK_PATH=${vbox_inst_path}/sdk" >> "${T}/90virtualbox"
-	echo "VBOX_INSTALL_PATH=${vbox_inst_path}" >> "${T}/90virtualbox"
-	doenvd "${T}/90virtualbox"
-
-	if use sdl; then
-		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
-	fi
-
-	if use gui; then
-		vbox_inst VirtualBox
-		vbox_inst VirtualBoxVM 4750
-		for each in VirtualBox{,VM} ; do
-			pax-mark -m "${ED}"${vbox_inst_path}/${each}
-		done
-
-		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
-
-		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" -exec 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 UserManual.q{ch,hc}
-		docompress -x /usr/share/doc/${PF}
-	elif use gui; then
-		dodoc "${WORKDIR}"/${PN}-help-${HELP_PV}/UserManual.q{ch,hc}
-		docompress -x /usr/share/doc/${PF}
-	fi
-
-	if use python; then
-		local python_path_ext="${ED}/usr/$(get_libdir)/virtualbox/VBoxPython3.so"
-		if [[ ! -x "${python_path_ext}" ]]; then
-			eerror "Couldn't find ${python_path_ext}! Bindings were requested with USE=python"
-			eerror "but none were installed. This may happen if support for a Python target"
-			eerror "(listed in PYTHON_COMPAT in the ebuild) is incomplete within the Makefiles."
-			die "Incomplete installation of Python bindings! File a bug with Gentoo!"
-		fi
-
-		# 378871
-		local installer_dir="${ED}/usr/$(get_libdir)/virtualbox/sdk/installer/python/vboxapi/src"
-		pushd "${installer_dir}" &> /dev/null || die
-		sed -e "s;%VBOX_INSTALL_PATH%;${vbox_inst_path};" \
-			-e "s;%VBOX_SDK_PATH%;${vbox_inst_path}/sdk;" \
-			-i vboxapi/__init__.py || die
-		# insert shebang, the files come without one
-		find vboxapi -name \*.py -exec sed -e "1 i\#! ${PYTHON}" -i {} \+ || die
-		python_domodule vboxapi
-		popd &> /dev/null || die
-
-		# upstream added a /bin/sh stub here
-		# use /usr/bin/python3, python_doscript will take care of it
-		sed -e '1 i #! /usr/bin/python3' -i vboxshell.py
-		python_doscript vboxshell.py
-
-		# do not install the installer
-		rm -r "${installer_dir%vboxapi*}" || die
-	fi
-
-	newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
-}
-
-pkg_postinst() {
-	xdg_pkg_postinst
-
-	if use udev; then
-		udev_reload
-		udevadm trigger --subsystem-match=usb
-	fi
-
-	tmpfiles_process virtualbox-vboxusb.conf
-
-	if use gui; 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 "https://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
-	elog ""
-
-	optfeature "Advanced networking setups" net-misc/bridge-utils sys-apps/usermode-utilities
-	optfeature "USB2, USB3, PXE boot, and VRDP support" app-emulation/virtualbox-extpack-oracle
-	optfeature "Guest additions ISO" app-emulation/virtualbox-additions
-
-	if ! use udev; then
-		ewarn "Without USE=udev, USB devices will likely not work in ${PN}."
-	fi
-}
-
-pkg_postrm() {
-	xdg_pkg_postrm
-
-	use udev && udev_reload
-}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.