From 493d123b2ee14266ea7d72b23f7024e614ae373c Mon Sep 17 00:00:00 2001 From: Viorel Munteanu Date: Thu, 29 Jan 2026 10:33:22 +0200 Subject: [PATCH] app-emulation/virtualbox-guest-additions: add 7.1.16 Signed-off-by: Viorel Munteanu --- .../virtualbox-guest-additions/Manifest | 2 + .../virtualbox-guest-additions-7.1.16.ebuild | 256 ++++++++++++++++++ 2 files changed, 258 insertions(+) create mode 100644 app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.16.ebuild diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest index 755640f545ebd..53dd223d996cd 100644 --- a/app-emulation/virtualbox-guest-additions/Manifest +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -1,8 +1,10 @@ DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551 SHA512 337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6 DIST VirtualBox-7.1.14.tar.bz2 216819853 BLAKE2B 7a9004859ab7fbd72ef54fc62273f5fc451cbb87f0adf7a32b71c8864b7db8244714b59e75dc9ffbe817551a2fcdc9bb2076e3ec7835e83de36276b7a2b74dab SHA512 c856f1e5babf4a67fbc2a2e3979aa3e6da703166406322e3ce15d726b81d060e693cd76c5f470f320c9e25d69380b78af87c119206c3869dd304c9faca9d41da +DIST VirtualBox-7.1.16.tar.bz2 221864875 BLAKE2B 90dcb976a494f5be5e42af2edce65059957a7ba7bcd3396f629ff0f91d1f8858f3c748d2463db0d7e510a59734fc23cbde245904a1a0175147f394c13ffff9e3 SHA512 d55d4aae917f1fa7fd468778dddb6bfeee848d5574aa79c407d2ce046af3061c12f418b4f7af56515453244a440702b5f9bb48f8a7e3005ddea729eb189b5cfd DIST VirtualBox-7.2.4.tar.bz2 207084201 BLAKE2B 80bd0dc8c8667fe9525671afd92a78c1291a23861d452cde00bd76577fba5d71002bb4a5d01cc50f07b811702b739f3bdef61d76b29ed81a3ff6f3305d2e32ff SHA512 49bf9d860ef2f7393c3da9fc0c267358a5a70657a3664a3075e233f4c1c0785921d9b020c2f8d52c11022c3f92923b181c14893e50264b5dbbf9898336faa174 DIST VirtualBox-7.2.6.tar.bz2 211192590 BLAKE2B 4871e52d8ebc6eb05c6c7dc08a7a38010bb536e7db4617023235ce8104a984e267341a502e3c385abe1a2fd4e0bb1e054f55794b994a5dba79e368f5ef4c3f9a SHA512 77b83b9fd086f89313eb73ecf98f3b2484985ddf6bb89d514b350e55f44c37a001f842d966173d0eed5071db08e1b0e66e0cbab4365ec99b7904143a7d162a55 DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992 DIST virtualbox-patches-7.1.14-r1.tar.bz2 6886 BLAKE2B 8de5bf3994873f5e32cf04523dacd6603ed0bcdab217697a0e6959bb951692be8bb23dd2f7b75ea6d8094b5a3b7b59cd19637d1e9e993811a8e4ffe2538ff189 SHA512 740aeacb66d9bea8dd45c173817417a433a7379b3b8f7c5ff67b876301b597b273ccf856ec0144a4515c3f27e415c935e953f037ef277254d49daa9f9de589b1 +DIST virtualbox-patches-7.1.16.tar.bz2 6001 BLAKE2B 0e8bd42b9556321841e94827df500cbed40ecffc47e2e82fbcc7a98e00a069322e7e549f6ceb250359735d3602467fa55c81aa2534c05502b1854e8a11b839c5 SHA512 aea93103e5122568b7c0bb70566872935326675c7f9dda00563a83e0cb59c92020501e780e30b2b58c1c0b0f2cb97a6d72379702c913c14fd4c7546f7e033361 DIST virtualbox-patches-7.2.4.tar.bz2 6938 BLAKE2B be3ef14c2090f39eeb1fe6fe82231dbf725ff6d20603e72e4c3bbf8b15ae7698d2be86bb321bd1776a15c6385770a393cc8c6b945ea87c54f9c767c3c77b61af SHA512 2e9c403dff97f5146e7632d7f6b5d0230f65f8be172efc6dd2959e72054778f617aa437f8c86d1489f9ce9212899ff08e83433a9eca3e5691353b036d426784a DIST virtualbox-patches-7.2.6.tar.bz2 6041 BLAKE2B 6bd791a24acccc7ab923f09b5a1a88f557c59f2526b1055c7a877e3ca25ca002c58cc5fb67737e2f53c322bae5c716dba4472da8c977006d6297793fae55fafc SHA512 94a49da99d6affa0c89e0fb349bb09fd1dc7f05ced9c828d52d30455fb8c76a245db1f572491801fa381e7521bc8f4e094ddb3d8fd2d341835f3bd238a24cc25 diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.16.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.16.ebuild new file mode 100644 index 0000000000000..e93f23fac8f98 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.16.ebuild @@ -0,0 +1,256 @@ +# Copyright 2022-2026 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} +PATCHES_PV="7.1.16" + +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-${PATCHES_PV}.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 + virtual/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-${PATCHES_PV}/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 \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 +}