public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Viorel Munteanu" <ceamac@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-guest-additions/
Date: Wed, 10 Apr 2024 18:18:00 +0000 (UTC)	[thread overview]
Message-ID: <1712773072.460a3ddc55b91f01f61d41f87f3019aafb23c00b.ceamac@gentoo> (raw)

commit:     460a3ddc55b91f01f61d41f87f3019aafb23c00b
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Wed Apr 10 17:20:57 2024 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Wed Apr 10 18:17:52 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=460a3ddc

app-emulation/virtualbox-guest-additions: remove a dependency

Same changes as for 7.0.14:
Remove dependency on x11-drivers/xf86-video-vboxvideo.
Move the long elog sequence to readme.gentoo-r1.
Add more warnings and kernel checks.

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

 .../virtualbox-guest-additions-6.1.50-r1.ebuild    | 292 +++++++++++++++++++++
 1 file changed, 292 insertions(+)

diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild
new file mode 100644
index 000000000000..60c236597e5a
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.50-r1.ebuild
@@ -0,0 +1,292 @@
+# 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-6.1.36.tar.bz2"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+KEYWORDS="~amd64 ~x86"
+IUSE="X +dbus"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+RDEPEND="
+	acct-group/vboxguest
+	acct-group/vboxsf
+	acct-user/vboxguest
+	sys-libs/pam
+	sys-libs/zlib
+	dbus? ( sys-apps/dbus )
+	X? (
+		x11-apps/xrandr
+		x11-apps/xrefresh
+		x11-libs/libX11
+		x11-libs/libXext
+		x11-libs/libXmu
+		x11-libs/libXt
+	)
+"
+DEPEND="
+	${RDEPEND}
+	X? (
+		x11-base/xorg-proto
+		x11-libs/libICE
+		x11-libs/libSM
+		x11-libs/libXau
+		x11-libs/libXdmcp
+	)
+"
+BDEPEND="
+	>=dev-build/kbuild-0.1.9998.3127
+	<=dev-build/kbuild-0.1.9998.3500
+	>=dev-lang/yasm-0.6.2
+	sys-devel/bin86
+	sys-power/iasl
+"
+
+PATCHES=(
+	"${FILESDIR}"/virtualbox-guest-additions-7.0.8-fix-gcc13.patch
+)
+
+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() {
+	eapply "${PATCHES[@]}"
+
+	# 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 X; 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-6.1.36/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 X && 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 X ; 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 X ; then
+		elog "The use flag \"X\" is off, enable it to install the"
+		elog "X Window System drivers and integration."
+	fi
+
+	readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+	udev_reload
+}


             reply	other threads:[~2024-04-10 18:18 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 18:18 Viorel Munteanu [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-01-24 17:13 [gentoo-commits] repo/gentoo:master commit in: app-emulation/virtualbox-guest-additions/ Viorel Munteanu
2025-01-21 21:43 Viorel Munteanu
2025-01-21 21:43 Viorel Munteanu
2025-01-13  7:00 Viorel Munteanu
2025-01-13  7:00 Viorel Munteanu
2025-01-02 10:59 Viorel Munteanu
2025-01-02 10:59 Viorel Munteanu
2024-12-31 18:20 Viorel Munteanu
2024-12-31 18:20 Viorel Munteanu
2024-10-18 17:16 Viorel Munteanu
2024-10-18 17:16 Viorel Munteanu
2024-10-08  5:18 Viorel Munteanu
2024-09-30 19:35 Arthur Zamarin
2024-09-30 19:35 Arthur Zamarin
2024-09-27 17:08 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-15 13:02 Viorel Munteanu
2024-09-01 10:45 Viorel Munteanu
2024-09-01 10:45 Viorel Munteanu
2024-08-23 11:56 Viorel Munteanu
2024-07-26 15:02 Viorel Munteanu
2024-07-16 18:13 Viorel Munteanu
2024-06-05  4:53 Viorel Munteanu
2024-06-05  4:53 Viorel Munteanu
2024-06-05  4:53 Viorel Munteanu
2024-06-03  8:08 Sam James
2024-06-03  8:07 Sam James
2024-05-03 17:41 Viorel Munteanu
2024-05-03 17:41 Viorel Munteanu
2024-05-01  5:00 Viorel Munteanu
2024-05-01  5:00 Viorel Munteanu
2024-05-01  3:49 Viorel Munteanu
2024-05-01  3:49 Viorel Munteanu
2024-04-30  4:25 Viorel Munteanu
2024-04-30  4:25 Viorel Munteanu
2024-04-17 19:56 Viorel Munteanu
2024-04-10 18:18 Viorel Munteanu
2024-02-10 16:31 Viorel Munteanu
2024-01-25 15:50 Viorel Munteanu
2024-01-25 15:42 Viorel Munteanu
2024-01-25 10:08 Viorel Munteanu
2024-01-25  9:52 Viorel Munteanu
2024-01-25  9:51 Viorel Munteanu
2024-01-17 17:38 Viorel Munteanu
2024-01-17 17:38 Viorel Munteanu
2024-01-12 21:39 Sam James
2023-10-18  4:08 Viorel Munteanu
2023-10-18  4:08 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:50 Viorel Munteanu
2023-08-15 12:16 Viorel Munteanu
2023-08-12 19:41 Arthur Zamarin
2023-08-03 21:32 Sam James
2023-08-03 20:45 Sam James
2023-07-20  9:40 Viorel Munteanu
2023-07-20  9:40 Viorel Munteanu
2023-06-01  6:25 Viorel Munteanu
2023-06-01  6:25 Viorel Munteanu
2023-05-30  5:22 Viorel Munteanu
2023-05-29 17:49 Arthur Zamarin
2023-05-29 17:49 Arthur Zamarin
2023-05-29 17:49 Arthur Zamarin
2023-05-29 13:10 Sam James
2023-04-21 16:38 Viorel Munteanu
2023-04-21 16:38 Viorel Munteanu
2023-04-21 16:38 Viorel Munteanu
2023-02-21 15:06 Viorel Munteanu
2023-02-21 15:06 Viorel Munteanu
2023-02-21 12:29 Viorel Munteanu
2023-02-15  5:12 Sam James
2023-02-15  5:12 Sam James
2023-01-22  9:59 Viorel Munteanu
2023-01-22  9:59 Viorel Munteanu
2023-01-11 15:38 Viorel Munteanu
2023-01-11 12:54 Arthur Zamarin
2023-01-11 12:54 Arthur Zamarin
2022-11-20  8:20 Viorel Munteanu
2022-11-02 16:17 Viorel Munteanu
2022-11-02  6:41 Viorel Munteanu
2022-10-27  8:35 Joonas Niilola
2022-10-27  7:53 Joonas Niilola
2022-10-17 21:05 Sam James
2022-10-06 10:23 Joonas Niilola
2022-10-06  5:25 Joonas Niilola
2022-09-05  1:22 Sam James
2022-09-05  1:22 Sam James
2022-09-04 17:45 Sam James
2022-08-26 23:27 Sam James
2022-07-25  2:28 Sam James
2022-07-24 23:23 Sam James
2022-07-10 22:51 Sam James
2022-07-10 22:51 Sam James
2022-07-06  9:04 Sam James
2022-05-28 14:12 Lars Wendler
2022-05-15 13:01 Lars Wendler
2022-04-04 18:28 Jakov Smolić
2022-03-30 20:09 Jakov Smolić
2021-12-08  6:17 Sam James
2021-12-06 21:11 Jakov Smolić
2021-08-19  1:08 Sam James
2021-07-19 18:36 Sam James
2021-05-06 21:21 Sam James
2021-04-30 23:34 Sam James
2021-04-12 17:33 Sam James
2021-04-12 17:33 Sam James
2021-01-22  1:49 Sam James
2021-01-22  1:48 Sam James
2021-01-18  2:53 Sam James
2021-01-06  3:10 Sam James
2020-12-08 12:12 Lars Wendler
2020-12-08 12:12 Lars Wendler
2020-09-02  3:55 Sam James
2020-08-30  1:32 Thomas Deutschmann
2020-08-29 20:53 Thomas Deutschmann
2020-07-28 13:37 Lars Wendler
2020-04-26 23:44 Thomas Deutschmann
2020-04-22 14:03 Mikle Kolyada
2020-03-29  7:19 Mikle Kolyada
2020-02-25 17:15 Lars Wendler
2020-01-16 16:27 Lars Wendler
2019-11-28  9:09 Lars Wendler
2019-10-16 21:00 Lars Wendler
2019-09-15  9:04 Mikle Kolyada
2019-09-07 21:07 Thomas Deutschmann
2019-08-28 14:34 David Seifert
2019-05-08 14:18 Lars Wendler
2019-05-08 14:12 Lars Wendler
2019-04-29  7:30 Lars Wendler
2019-04-18 20:32 Thomas Deutschmann
2019-04-08 13:15 Mikle Kolyada
2018-11-28  2:07 Thomas Deutschmann
2018-11-25  9:25 Mikle Kolyada
2018-11-16 17:00 Lars Wendler
2018-07-22 17:07 Mikle Kolyada
2018-07-18 10:39 Lars Wendler
2018-07-03 18:52 Jonas Stein
2018-05-08 15:15 Agostino Sarubbo
2018-05-07 23:55 Thomas Deutschmann
2018-04-27  1:14 Matt Turner
2018-01-21 20:30 Thomas Deutschmann
2018-01-18 21:41 Mikle Kolyada
2018-01-18 11:29 Lars Wendler
2017-12-29 17:48 Mikle Kolyada
2017-12-26  2:06 Thomas Deutschmann
2017-10-17 10:56 Lars Wendler
2017-07-25 11:47 Lars Wendler
2017-01-31 12:31 Tobias Klausmann
2016-08-18 16:49 Christoph Junghans
2016-07-14  9:28 Lars Wendler
2016-03-05 22:38 Mikle Kolyada
2016-02-22  8:42 Patrick Lauer
2015-11-06  8:46 Mikle Kolyada

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1712773072.460a3ddc55b91f01f61d41f87f3019aafb23c00b.ceamac@gentoo \
    --to=ceamac@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox