commit:     32cd03450512e113f621665ef416c33954760e28
Author:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 21 20:06:50 2025 +0000
Commit:     Viorel Munteanu <ceamac <AT> gentoo <DOT> org>
CommitDate: Tue Jan 21 21:42:56 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32cd0345

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

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

 app-emulation/virtualbox-guest-additions/Manifest  |   1 +
 .../virtualbox-guest-additions-7.0.24.ebuild       | 287 +++++++++++++++++++++
 2 files changed, 288 insertions(+)

diff --git a/app-emulation/virtualbox-guest-additions/Manifest 
b/app-emulation/virtualbox-guest-additions/Manifest
index 581ffb472a90..d1f6db864dbf 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,5 +1,6 @@
 DIST VirtualBox-6.1.50.tar.bz2 165959648 BLAKE2B 
e244c4fa2ffe86216664104473e27e8ddbad86aae3bc26612d18204a4e67cece91d1fa3aa9e70f1c39f915bf5e4a1e6a14bbb19162c3ae2ff554373df95bce51
 SHA512 
ee2ec352e020f07262bf2120278d0d9807c501cd7c4d621d4e12ce18a821b134d48eb852bc7136008cfa77ed709703d3c2835b7a7177c325d989e8f433aff73f
 DIST VirtualBox-7.0.22.tar.bz2 174643573 BLAKE2B 
93ba1dd44a7147e61d72489a127e497f510c12eef576f8a30af45011e383050a908124c0f9794a92f28400cbb2f230308884893bafacd4f8a391b2354958f02d
 SHA512 
eb231cc487becfbad8c979fb9d6a1ede3a28a1bb11e77b1482181be4bd294fd209c77a7d599562f99f1ac2be587203b9d97230ccce4f85ed96c63e66b0fce392
+DIST VirtualBox-7.0.24.tar.bz2 174663788 BLAKE2B 
110b11904a20f42c8be48ca684f09a65b744f6b642d31d38f1c4b7f8d9766e0cfef34d9208930b958ae5580d8e5a1c5b23e6f8ae411a42b7e65fb9cf9dd9c32c
 SHA512 
54fcdc78fb771f5fcbac606fe5596382921abc9b28943d037708230f92c79a008cffd69baa6c42504806546842d85e82fd788433cc12b180e3eaec2b565f6769
 DIST VirtualBox-7.1.4.tar.bz2 206218796 BLAKE2B 
62a4f44b4eac2e1cb2c0bace5dfabf86c41b738d81aede3de75d88159a8d76158748eaae38ee3eedbc0f79b639a875f1ef6805a8ca7c95021f475935f54d7ef9
 SHA512 
97654339d509447e2604db01e29f9e810f59498a378e645f412cffb67022c4e547f205e8ebdac6ae33aaa8f7bc0f289bdca2e5a04b1fa31b4a05c191d7600a9c
 DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B 
dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87
 SHA512 
1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
 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.0.24.ebuild
 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.24.ebuild
new file mode 100644
index 000000000000..7c809f94b95c
--- /dev/null
+++ 
b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.0.24.ebuild
@@ -0,0 +1,287 @@
+# Copyright 2022-2025 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"
+
+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
+}

Reply via email to