mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
app-emulation/virtualbox-guest-additions: add 7.2.18
Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
DIST VirtualBox-7.0.26.tar.bz2 174650718 BLAKE2B ba13a940b9566a5ac5b228bf29d49d4b9bf16a72da3212c305538711d363f1e6fddaa8717d4c46394ce488d2c1670874fece356740f421f44f6f40bd655f5551 SHA512 337f62438679f98b342213dbafdd3e07f7d7092a4205bfe388d64d1cc8224499621addea56b70d806c93290bb82e6150c07516e69250460a276e3b7a4484a9b6
|
||||
DIST VirtualBox-7.2.14.tar.bz2 223796857 BLAKE2B 040bfe03852cea08e333a4f90285d69ed8727e869b47ed4075d6c0351ee819240bea4b00d375aaba27b0e2f74a4490e40cd498faa61131175a814ae6d1380be3 SHA512 97fde73d0c93cdd26d148429b1f6b92538469b41006888803024505b200cb78e8098e19a101d9cc471991a6be7519bbf42b8818ddd584925946af048dc2ffff3
|
||||
DIST VirtualBox-7.2.16.tar.bz2 224818919 BLAKE2B 69b76f2a3b46583f0c4322dad33fd158e4ab03c66e6c588e20c1f9fc36f94fa08c5cb7c4030388b40dbc81d5a947d26a072d533de916111be46a919c1cb31bfc SHA512 273b12490b895ba50f8dd8b9df430d029683ce43823381e332c272712016c7349def83a34075f8c6b96682f79584b8c039bac7fda941fc167a8839a3adedd0d6
|
||||
DIST VirtualBox-7.2.18.tar.bz2 256080202 BLAKE2B 33c58a04677f38d868a8234db6e41bbc15930da14eab6cd3260291c36c323c3fd8cc830e4b185f18c0d85a98f39e0da0e8be3da68b2630c92cbc3331019e1c34 SHA512 92f1540cf96d32a05474fbe321340c043601a407813d2baa7e3a4194189e05f9b51078b0b805b2da7217a61012bed072a3c912f9e8150422c305672b47f28d28
|
||||
DIST virtualbox-patches-7.0.16.tar.bz2 6808 BLAKE2B d15fa2ca306375142c3e25d4759d2790b2bb9eb69e333a8773ad500b29dd127b401943abf59ca59d01858a3ed5551fb3a6c93c4c893c8de971a714ce5306d577 SHA512 a488cbc6660fe8637c44cd79d87156609af089988239a7e76fea8a3c7e6319512c574bef2e942b354b14ce671a8e75ab8b2160abf7c40963795ee8a545ecd992
|
||||
DIST virtualbox-patches-7.2.14.tar.bz2 6774 BLAKE2B da85493f23fd5798b3e438a46f6fb16803ae727c846fdb06366e537d333301938805bd83c67f265a95a2c9fd6fd845d1365ddc2cf7e4f6269212eb585659e1b8 SHA512 d7fafbf70de187c2b96ca140bb4f11ee2c2fc1c0e6d324f53fb6aa999f6262fcc7c4b464410ec44816ea1effa3bc1090dd29a57b0485be837915c4a31f789a92
|
||||
|
||||
@@ -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.2.14"
|
||||
|
||||
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.3660
|
||||
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 <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
|
||||
}
|
||||
Reference in New Issue
Block a user