commit: efaa10da483386a28f81e8f349318f299f9ec6a0
Author: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 17 08:49:32 2025 +0000
Commit: Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Thu Jul 17 11:41:42 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efaa10da
app-emulation/virtualbox-guest-additions: add 7.1.12
Signed-off-by: Viorel Munteanu <ceamac <AT> gentoo.org>
app-emulation/virtualbox-guest-additions/Manifest | 1 +
.../virtualbox-guest-additions-7.1.12.ebuild | 255 +++++++++++++++++++++
2 files changed, 256 insertions(+)
diff --git a/app-emulation/virtualbox-guest-additions/Manifest
b/app-emulation/virtualbox-guest-additions/Manifest
index ff6e2dff7e00..097836d7f56a 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,5 +1,6 @@
DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B
ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551
SHA512
337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6
DIST VirtualBox-7.1.10.tar.bz2 233395034 BLAKE2B
8f451932a4b3cd5e4628f8dd45e9a2cfec6cfbc02fd4eeb7f4dedd473c9c022f57751e4ea78ab1edd6989c111a5c751da1c87662d24c971c3f673bedcf9d6f06
SHA512
841c539b30c964eec0e3a5eddc354bcec530aeed882507928c2f0a8675756c27a650cb3094a130d4f609e83a10f1273b40e9a765228586c3c8c90bb74d7872ad
+DIST VirtualBox-7.1.12.tar.bz2 214691769 BLAKE2B
7d316732c504b62e19cc0611242c24f12b93faccc6d7dbcc0ab6c63f01828f29c659fa4947cc0fb5443615320edea9b904e53ce68baf4ff4f62e73f99bf5bee9
SHA512
0996f59463a3c89e249b3fac0531f5814287afa6a279020b49f48740143fea1b1cf466508b7cfcb6f809d0046117022a67d836b67be3173a0d6cd2aadca6086e
DIST VirtualBox-7.1.8.tar.bz2 215541146 BLAKE2B
dbe8e432162ed29716e14a390be1fa14d13f861943bb2392f8de0cd8ec3dbb991588a8aafe47b2bd0884ca12932af78799d7b21a2b115d818702ccbed564dc97
SHA512
9c801309aac8eeea94279c6872892046cdf933dda0dc7493be5442a9dabbb6e5e513e116bb17d8fd225a6d6d37285f21c26e42daeb37c4335f3636b810f84dfb
DIST VirtualBox-7.2.0_BETA2.tar.bz2 196983756 BLAKE2B
efb80e894f0b86eb3c2bd040f485a61382798ad7a70a5fd69ccd8042f6b2ae000ff2fd294dd111518d4cf182f35756d4b3675da8619bcbecd72bd1bb9c9bc5cc
SHA512
5d3463393e61435c0fcf389e77ef94d7f7d15c7c19e587e597113c041afc0b724771261663d489bc2631c917b9f44c584118dd37bf6fdf07983e7d8b999a4c3f
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B
d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577
SHA512
a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
diff --git
a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.12.ebuild
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.12.ebuild
new file mode 100644
index 000000000000..29e952eeeb8e
--- /dev/null
+++
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.12.ebuild
@@ -0,0 +1,255 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_PV=${PV^^}
+MY_P=${MY_PN}-${MY_PV}
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
+
https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.10.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${MY_PV}"
+
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+dbus gui"
+
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ sys-libs/pam
+ sys-libs/zlib
+ ~app-emulation/virtualbox-guest-modules-${PV}
+ dbus? ( sys-apps/dbus )
+ gui? (
+ x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libX11
+ x11-libs/libXext
+ x11-libs/libXmu
+ x11-libs/libXt
+ )
+"
+# some libs here are indirect dependencies, and also needed at compile time.
+# keeping them in DEPEND to avoid warnings from qa-vdb.
+DEPEND="
+ ${RDEPEND}
+ gui? (
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-base/xorg-proto
+ )
+"
+BDEPEND="
+ >=dev-lang/yasm-0.6.2
+ >=dev-build/kbuild-0.1.9998.3127
+ sys-devel/bin86
+ sys-power/iasl
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.1.6-disable-vboxvideo-module.patch
+ "${FILESDIR}"/${PN}-7.1-arm64.patch
+ "${WORKDIR}/virtualbox-patches-7.1.10/patches"
+)
+
+DOCS=() # Don't install the default README file during einstalldocs
+
+DOC_CONTENTS="\n
+Please add users to the \"vboxguest\" group so they can\n
+benefit from seamless mode, auto-resize and clipboard.\n
+\n
+The vboxsf group has been added to make automount services work.\n
+These services are part of the shared folders support.\n
+\n
+Please add:\n
+ /etc/init.d/virtualbox-guest-additions\n
+to the default runlevel in order to start\n
+needed services.\n
+\n
+An autostart .desktop file has been installed to start\n
+VBoxClient in desktop sessions.\n
+\n
+You can mount shared folders with:\n
+ mount -t vboxsf <shared_folder_name> <mount_point>\n
+\n
+Warning:\n
+ this ebuild is only needed if you are running gentoo\n
+ inside a VirtualBox Virtual Machine, you don't need\n
+ it to run VirtualBox itself.\n
+\n"
+
+src_prepare() {
+ # Remove shipped binaries (kBuild,yasm), see bug #232775
+ rm -r kBuild/bin tools || die
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ if use gui; then
+ echo "VBOX_NO_LEGACY_XORG_X11 := 1" >> LocalConfig.kmk || die
+ else
+ echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk || die
+ fi
+
+ # Remove pointless GCC version check
+ sed -e '/ check_gcc$/d' -i configure || die
+
+ # Respect LDFLAGS (bug #759100)
+ sed -i -e '/TEMPLATE_VBoxR3Exe_LDFLAGS.linux[ ]*=/ s/$/
$(CCLDFLAGS)/' Config.kmk || die
+
+ eapply "${PATCHES[@]}"
+ eapply_user
+}
+
+src_configure() {
+ tc-export AR CC CXX LD RANLIB
+
+ # Build the user-space tools, warnings are harmless
+ local myconf=(
+ --with-gcc="$(tc-getCC)"
+ --with-g++="$(tc-getCXX)"
+
+ --nofatal
+ --disable-xpcom
+ --disable-sdl-ttf
+ --disable-pulse
+ --disable-alsa
+ $(usev !dbus --disable-dbus)
+ --target-arch=${ARCH}
+ --disable-kmods
+ --build-headless
+ )
+
+ # bug #843437
+ # Respect LDFLAGS (bug #759100)
+ # Cannot use LDFLAGS here because they also get passed to $(LD)
+ cat >> LocalConfig.kmk <<-EOF || die
+ CFLAGS=${CFLAGS}
+ CXXFLAGS=${CXXFLAGS}
+ CCLDFLAGS=${LDFLAGS}
+ EOF
+
+ edo ./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}"
+
+ local myemakeargs=(
+ VBOX_BUILD_PUBLISHER=_Gentoo
+ VBOX_ONLY_ADDITIONS=1
+
+ KBUILD_VERBOSE=2
+
+ AS="$(tc-getCC)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ LD="$(tc-getCC)"
+
+ TOOL_GCC3_CC="$(tc-getCC)"
+ TOOL_GCC3_CXX="$(tc-getCXX)"
+ TOOL_GCC3_LD="$(tc-getCC)"
+ TOOL_GCC3_AS="$(tc-getCC)"
+ TOOL_GCC3_AR="$(tc-getAR)"
+ TOOL_GCC3_OBJCOPY="$(tc-getOBJCOPY)"
+ #TOOL_GCC3_LD_SYSMOD="$(tc-getCC)"
+
+ 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_GXX3_LD_SYSMOD="$(tc-getCXX)"
+
+ TOOL_GCC3_CFLAGS="${CFLAGS}"
+ TOOL_GCC3_CXXFLAGS="${CXXFLAGS}"
+ VBOX_GCC_OPT="${CXXFLAGS}"
+ VBOX_NM="$(tc-getNM)"
+ TOOL_YASM_AS=yasm
+ )
+
+ MAKE="kmk" emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ cd out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ if use dbus; then
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+ else
+ newinitd <(sed 's/ dbus\>//' "${FILESDIR}"/${PN}-8.initd-r1)
${PN}
+ fi
+
+ 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 gui ; then
+ doins VBoxClient
+ fperms 0755 /usr/bin/VBoxClient
+ doins VBoxDRMClient
+ fperms 4755 /usr/bin/VBoxDRMClient
+
+ 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
+
+ systemd_dounit "${FILESDIR}/${PN}.service"
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ udev_reload
+
+ if ! use gui ; then
+ elog "The use flag \"gui\" is off, enable it to install the"
+ elog "X Window System drivers and integration."
+ fi
+
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ udev_reload
+}