From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1621984-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 8050A158043
	for <garchives@archives.gentoo.org>; Wed, 17 Apr 2024 19:56:19 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id A323AE29EC;
	Wed, 17 Apr 2024 19:56:16 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id 134F2E29EC
	for <gentoo-commits@lists.gentoo.org>; Wed, 17 Apr 2024 19:56:15 +0000 (UTC)
Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (4096 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id D5F0D343485
	for <gentoo-commits@lists.gentoo.org>; Wed, 17 Apr 2024 19:56:14 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 458FC1711
	for <gentoo-commits@lists.gentoo.org>; Wed, 17 Apr 2024 19:56:13 +0000 (UTC)
From: "Viorel Munteanu" <ceamac@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Viorel Munteanu" <ceamac@gentoo.org>
Message-ID: <1713383759.fd2d38e3065e73915e47a8246fa76edb3066c6a4.ceamac@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-guest-additions/
X-VCS-Repository: repo/gentoo
X-VCS-Files: app-emulation/virtualbox-guest-additions/Manifest app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.16.ebuild
X-VCS-Directories: app-emulation/virtualbox-guest-additions/
X-VCS-Committer: ceamac
X-VCS-Committer-Name: Viorel Munteanu
X-VCS-Revision: fd2d38e3065e73915e47a8246fa76edb3066c6a4
X-VCS-Branch: master
Date: Wed, 17 Apr 2024 19:56:13 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: cd40645e-1851-49ca-9c9b-cfc267d736f9
X-Archives-Hash: deee8a161f539020bf6ee356fc9b4402

commit:     fd2d38e3065e73915e47a8246fa76edb3066c6a4
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 17 18:54:16 2024 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Wed Apr 17 19:55:59 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd2d38e3

app-emulation/virtualbox-guest-additions: add 7.0.16

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

 app-emulation/virtualbox-guest-additions/Manifest  |   2 +
 .../virtualbox-guest-additions-7.0.16.ebuild       | 290 +++++++++++++++++++++
 2 files changed, 292 insertions(+)

diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
index e66fdc8bd12a..94862e2eeed7 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -2,6 +2,8 @@ DIST VirtualBox-6.1.48.tar.bz2 165960987 BLAKE2B c981e390ae518b829970827f6032fb1
 DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51 SHA512 ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
 DIST VirtualBox-7.0.12.tar.bz2 175644088 BLAKE2B 507cbf7b1a8a807bd2602e74bc19a59cb177b9b2bdefa1be582e520666360a42510ca501f20c354746a0f1dadf61fe29135e3edc867e611bfe60a9405cb2bbce SHA512 9fe4511442eba788d02f932f5e98cfcc5aa4ebed41c00bd7333cf7e3f5de787e458f1f56930978283f041f403652c803143335fe9120ab63a2c113ca7b3f588f
 DIST VirtualBox-7.0.14.tar.bz2 175654864 BLAKE2B 99f4942b864ce481d69983af31393d763452c5b55697ab642b43c155f5fbc2a9963fbe1b7744baef620d0b351e1ac73c1ef978698b9a7e77897bb9cbc18dc17c SHA512 6a82933bbf51ff255d17cb61ae6ddfb791a2200e3dff705f181cd06c6031b48cf15faa5e8202a65daef0fb20b7fd9e33d40dbd0f9cc3f49af49fff04a1cb0a73
+DIST VirtualBox-7.0.16.tar.bz2 170897951 BLAKE2B 6b436c38df632222621723db94677a0efef5de2ac1eacec73571bc658955f23fff347fa60c37ec78c58bf94b82b8f9a95fb26c07ef4becc7e9f535af069151f5 SHA512 1b8ba08bec144cbd1f2e9aa0929cdf60a0b99930f1dd80567094fba75097d87661aef3da2cc24f4abff6b6db8f186e251c5f693a2a93943cc39909d5f1e1bce5
 DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
 DIST virtualbox-patches-7.0.14.tar.bz2 6937 BLAKE2B da5f18efbba2a8f4701b3d29dc00784e4e80e18a18b029e5dce8c142eb4dc97637069bfc5081422064a7dc59dfacf503ebbdc3421caa96430dc53fa72988aa20 SHA512 57cc34b92e4626de5c445e34ae025da7ec0d752a60618c619a55c28bf7d6b1cc9dc81ea059b949b0f3e625568207e8084f9462faf487ca0daf2794e7f1feac36
+DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
 DIST virtualbox-patches-7.0.8.tar.bz2 2733 BLAKE2B 044dfe02a5bd5e757091318b394b0e5918677b5bbce9caef4a18d4d8df54821559f0df6ffbdd6f52d4934bc4018e9c9d908571c5d3d8804fd3b0f22a7a1aed84 SHA512 93a06aa3f9508d3a8743ca8494a958159b5bc3fd7a0a08ff23414d05c4f31084cf0f1c82a3866e222c83e6996ba004546f0bd33c6eb9a90eec8e548b8b3f2fbf

diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.16.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.16.ebuild
new file mode 100644
index 000000000000..f704b0857188
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.16.ebuild
@@ -0,0 +1,290 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod-r1 readme.gentoo-r1 systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${PV}/${MY_P}.tar.bz2
+	https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.0.16.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+# Reminder: see the LICENSE related comment in app-emulation/virtualbox-additions ebuild
+LICENSE="GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL )"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="+dbus gui"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+# TODO: find out what this is, remove comment if obsolete
+
+RDEPEND="
+	acct-group/vboxguest
+	acct-group/vboxsf
+	acct-user/vboxguest
+	sys-libs/pam
+	sys-libs/zlib
+	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
+"
+
+DOCS=()	# Don't install the default README file during einstalldocs
+
+VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src"
+CONFIG_CHECK="~DRM_TTM ~DRM_VMWGFX"
+WARNING_DRM_TTM="DRM_TTM is needed for running the vboxvideo driver."
+WARNING_DRM_VMWGFX="DRM_VMWGFX is the recommended driver for VMSVGA."
+
+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
+
+	# 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
+	eend $? || die
+	popd &>/dev/null || die
+
+	# PaX fixes (see bug #298988)
+	eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+
+	# Disable things unused or splitted into separate ebuilds
+	cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+	if ! use gui; then
+		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 "${WORKDIR}/virtualbox-patches-7.0.16/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}
+		--with-linux="${KV_OUT_DIR}"
+		--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[@]}"
+
+	# 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)
+	# Move this here for bug 836037
+	local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
+	local modlist=( vboxguest vboxsf )
+	use gui && modlist+=( vboxvideo )
+	modlist=( "${modlist[@]/%/=misc:${VBOX_MOD_SRC_DIR}}" )
+	linux-mod-r1_src_compile
+}
+
+src_install() {
+	linux-mod-r1_src_install
+
+	insinto /etc/modprobe.d # 485996
+	newins - vboxsf.conf <<-EOF
+		# modprobe.d configuration file for VBOXSF
+
+		# Internal Aliases - Do not edit
+		# ------------------------------
+		alias fs-vboxsf vboxsf
+	EOF
+
+	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
+
+	# sample xorg.conf
+	dodoc "${FILESDIR}"/xorg.conf.vbox
+	docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
+
+	systemd_dounit "${FILESDIR}/${PN}.service"
+
+	readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+	linux-mod-r1_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
+}