diff options
22 files changed, 682 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest new file mode 100644 index 00000000..5a451676 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/Manifest @@ -0,0 +1,2 @@ +DIST VirtualBox-7.1.6.tar.bz2 205786817 BLAKE2B 5328efe566217f69b665be58b19fc18f5898d634f0ee4057de93e66817dc15a2a708c71d9b323cfce752adf221dac44cbf2be0b8bfd37b2051c777fff0f4759a SHA512 16aa69eef997550e40e2759b9e0aa28b082d04de1352c62246bd8c63bb951545e5d6c6c1d930ae284c5c925eb44d504f071f545aa934bc4d94fbdb5ba74423d9 +DIST virtualbox-patches-7.1.0.tar.bz2 5952 BLAKE2B cb024f36249d7d312c9d0f9231c22a9609d45de1d4c82ca36672fea703765d437d7a414d810adb5eb5f2db92018b669c3b5d0c32372c5ced90f5e13f82344ffa SHA512 c6ef54b7d60f01f5f2b89c6fd7f8b7b509bc62bca0502114cedcbaaf9643445ea413bba481dcf43fb96b5b4d94d64395965682c1ee160d889213615c9272184c diff --git a/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop b/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop new file mode 100644 index 00000000..316eb9f6 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/vboxclient.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Type=Application +Name=VirtualBox Client Service +Exec=VBoxClient-all +Terminal=false +X-KDE-StartupNotify=false +StartupNotify=false diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig new file mode 100644 index 00000000..f04dab4d --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-5-localconfig @@ -0,0 +1,30 @@ +# -*- Makefile -*- +# +# Overwrite some default kBuild settings +# + +# +# Copyright (C) 2006-2008 Sun Microsystems, Inc. +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License as published by the Free Software Foundation, +# in version 2 as it comes in the "COPYING" file of the VirtualBox OSE +# distribution. VirtualBox OSE is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY of any kind. +# + +# don't build testcases to save time, they are not needed for the package +VBOX_WITH_TESTCASES := +VBOX_WITH_VALIDATIONKIT := + +KBUILD_MSG_STYLE := brief + +## paths, origin, hardening +VBOX_WITH_HARDENING := 2 +VBOX_WITH_ORIGIN := +VBOX_ONLY_ADDITIONS := 1 + +## don't build with -Werror +VBOX_WITH_WARNINGS_AS_ERRORS := diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch new file mode 100644 index 00000000..8e53107a --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.0.8-fix-gcc13.patch @@ -0,0 +1,24 @@ +This file ends up included in +src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp which +is compiled with -ffreestanding, so it shouldn't include math.h + +See also: https://bugs.gentoo.org/907597 + +--- a/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h ++++ b/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h +@@ -169,6 +169,7 @@ + #ifndef IN_MODULE + /* XXX Not for modules */ + #include <limits.h> ++#if defined __STDC_HOSTED__ && __STDC_HOSTED__ == 1 + #if !defined(MAXSHORT) || !defined(MINSHORT) || \ + !defined(MAXINT) || !defined(MININT) + /* +@@ -178,6 +179,7 @@ + + #include <math.h> + #endif ++#endif // defined __STDC_HOSTED__ && __STDC_HOSTED__ == 1 + #undef MAXSHORT + #define MAXSHORT SHRT_MAX + #undef MINSHORT diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.1.6-disable-vboxvideo-module.patch b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.1.6-disable-vboxvideo-module.patch new file mode 100644 index 00000000..1ccf0baa --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-7.1.6-disable-vboxvideo-module.patch @@ -0,0 +1,19 @@ +The vboxvideo module is deprecated. +Do not build it when VBOX_NO_LEGACY_XORG_X11 is defined. + +--- a/src/VBox/Additions/linux/drm/Makefile.kmk ++++ b/src/VBox/Additions/linux/drm/Makefile.kmk +@@ -25,6 +25,8 @@ + # SPDX-License-Identifier: GPL-3.0-only + # + ++ifndef VBOX_NO_LEGACY_XORG_X11 ++ + SUB_DEPTH = ../../../../.. + include $(KBUILD_PATH)/subheader.kmk + +@@ -50,3 +52,4 @@ + + include $(FILE_KBUILD_SUB_FOOTER) + ++endif diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd-r1 b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd-r1 new file mode 100644 index 00000000..17c90bb9 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions-8.initd-r1 @@ -0,0 +1,25 @@ +#!/sbin/openrc-run +# Copyright 1999-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +pidfile="/var/run/vboxguest-service.pid" +command="/usr/sbin/vboxguest-service" +command_args="--foreground" +command_background="true" + +depend() { + need dbus localmount + before display-manager +} + +start_pre() { + einfo "Loading kernel modules" + /sbin/modprobe vboxguest 2>&1 + /sbin/modprobe vboxsf 2>&1 +} + +stop_post() { + einfo "Removing kernel modules" + /sbin/modprobe -r vboxsf 2>&1 + /sbin/modprobe -r vboxguest 2>&1 +} diff --git a/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service new file mode 100644 index 00000000..35f9ce24 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/virtualbox-guest-additions.service @@ -0,0 +1,16 @@ +[Unit] +Description=VirtualBox Guest Additions +ConditionVirtualization=oracle +Before=display-manager.service + +[Service] +Type=simple +ExecStartPre=/sbin/modprobe vboxguest +ExecStartPre=/sbin/modprobe vboxsf +ExecStart=/usr/sbin/vboxguest-service --foreground +ExecStopPost=/sbin/modprobe -r vboxsf +ExecStopPost=/sbin/modprobe -r vboxguest +PIDFile=/var/run/vboxguest-service.pid + +[Install] +WantedBy=multi-user.target diff --git a/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox b/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox new file mode 100644 index 00000000..a8624694 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/files/xorg.conf.vbox @@ -0,0 +1,13 @@ +Section "Device" + Identifier "Device-vboxvideo" + Driver "vboxvideo" +EndSection +Section "Screen" + Identifier "Screen-vboxvideo" + Device "Device-vboxvideo" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Screen-vboxvideo" +EndSection diff --git a/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.6-r1.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.6-r1.ebuild new file mode 100644 index 00000000..6fe5f541 --- /dev/null +++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-7.1.6-r1.ebuild @@ -0,0 +1,232 @@ +# Copyright 2022-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit edo readme.gentoo-r1 systemd toolchain-funcs + +MY_PN="VirtualBox" +MY_PV=${PV^^} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="VirtualBox 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-7.1.0.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 ~x86" +IUSE="+dbus gui" + +RDEPEND=" + app-emulation/virtualbox-guest-modules + 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 + ) +" +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 + +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 + + # 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 "${FILESDIR}"/${PN}-7.1.6-disable-vboxvideo-module.patch + eapply "${WORKDIR}/virtualbox-patches-7.1.0/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} + --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=_Redcore + 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 + + # VBoxClient autostart file + insinto /etc/xdg/autostart + doins "${FILESDIR}"/vboxclient.desktop + + systemd_dounit "${FILESDIR}/${PN}.service" + + readme.gentoo_create_doc +} + +pkg_postinst() { + 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 +} diff --git a/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-kmod b/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-kmod new file mode 100644 index 00000000..46d59dbe --- /dev/null +++ b/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-kmod @@ -0,0 +1,5 @@ +# modprobe.d configuration file for VBOXSF + +# Internal Aliases - Do not edit +# ------------------------------ +alias fs-vboxsf vboxsf diff --git a/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-rules b/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-rules new file mode 100644 index 00000000..e4311fd0 --- /dev/null +++ b/app-emulation/virtualbox-guest-modules/files/virtualbox-guest-rules @@ -0,0 +1,2 @@ +KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660" +KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660" diff --git a/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.1.6.ebuild b/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.1.6.ebuild new file mode 100644 index 00000000..e8c4e3d0 --- /dev/null +++ b/app-emulation/virtualbox-guest-modules/virtualbox-guest-modules-7.1.6.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=8 + +inherit udev + +DESCRIPTION="Kernel Modules (guest) for Virtualbox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64" +IUSE="" + +DEPEND=" + acct-group/vboxguest + acct-group/vboxsf + acct-user/vboxguest + ~sys-kernel/${PN}-dkms-${PV}" +RDEPEND="${DEPEND}" + +S=${WORKDIR} + +src_compile() { + : +} + +src_install() { + insinto /etc/modprobe.d/ + newins "${FILESDIR}"/virtualbox-guest-kmod virtualbox-guest.conf + + insinto /lib/udev/rules.d + newins "${FILESDIR}"/virtualbox-guest-rules 60-virtualbox-guest-additions.rules +} + +pkg_postinst() { + udev_reload +} + +pkg_postrm() { + udev_reload +} diff --git a/metadata/md5-cache/app-emulation/virtualbox-guest-additions-7.1.6-r1 b/metadata/md5-cache/app-emulation/virtualbox-guest-additions-7.1.6-r1 new file mode 100644 index 00000000..f8b7406f --- /dev/null +++ b/metadata/md5-cache/app-emulation/virtualbox-guest-additions-7.1.6-r1 @@ -0,0 +1,15 @@ +BDEPEND=>=dev-lang/yasm-0.6.2 >=dev-build/kbuild-0.1.9998.3127 sys-devel/bin86 sys-power/iasl virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare +DEPEND=app-emulation/virtualbox-guest-modules 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 ) gui? ( x11-libs/libICE x11-libs/libSM x11-libs/libXau x11-libs/libXdmcp x11-base/xorg-proto ) +DESCRIPTION=VirtualBox user-space tools for Gentoo guests +EAPI=8 +HOMEPAGE=https://www.virtualbox.org/ +INHERIT=edo readme.gentoo-r1 systemd toolchain-funcs +IUSE=+dbus gui +KEYWORDS=~amd64 ~x86 +LICENSE=GPL-3 LGPL-2.1+ MIT || ( GPL-3 CDDL ) +RDEPEND=app-emulation/virtualbox-guest-modules 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 ) +SLOT=0/7.1 +SRC_URI=https://download.virtualbox.org/virtualbox/7.1.6/VirtualBox-7.1.6.tar.bz2 https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-7.1.0.tar.bz2 +_eclasses_=edo 367e103a74bf77e6a8da7894d999fa3c multilib b2a329026f2e404e9e371097dda47f96 readme.gentoo-r1 b045f3acf546393ab6b3170781875358 systemd 54bd206bb5c4efac6ae28b6b006713b0 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 +_md5_=7b2d46b0eccdfc2f51ed7c7cf8319cff diff --git a/metadata/md5-cache/app-emulation/virtualbox-guest-modules-7.1.6 b/metadata/md5-cache/app-emulation/virtualbox-guest-modules-7.1.6 new file mode 100644 index 00000000..681c3461 --- /dev/null +++ b/metadata/md5-cache/app-emulation/virtualbox-guest-modules-7.1.6 @@ -0,0 +1,13 @@ +BDEPEND=virtual/pkgconfig +DEFINED_PHASES=compile install postinst postrm +DEPEND=acct-group/vboxguest acct-group/vboxsf acct-user/vboxguest ~sys-kernel/virtualbox-guest-modules-dkms-7.1.6 +DESCRIPTION=Kernel Modules (guest) for Virtualbox +EAPI=8 +HOMEPAGE=http://www.virtualbox.org/ +INHERIT=udev +KEYWORDS=amd64 +LICENSE=GPL-2 +RDEPEND=acct-group/vboxguest acct-group/vboxsf acct-user/vboxguest ~sys-kernel/virtualbox-guest-modules-dkms-7.1.6 +SLOT=0 +_eclasses_=multilib b2a329026f2e404e9e371097dda47f96 toolchain-funcs 6afdb6107430c1832ca7e16aacbf8fa1 udev f3d9a4376ebd22131726a68e1a0a058f +_md5_=4af167ac0905c4dd3df23afbaa0bb4fd diff --git a/metadata/md5-cache/sys-kernel/virtualbox-guest-modules-dkms-7.1.6 b/metadata/md5-cache/sys-kernel/virtualbox-guest-modules-dkms-7.1.6 new file mode 100644 index 00000000..73b3a861 --- /dev/null +++ b/metadata/md5-cache/sys-kernel/virtualbox-guest-modules-dkms-7.1.6 @@ -0,0 +1,13 @@ +BDEPEND=>=dev-build/kbuild-0.1.9998.3127 +DEFINED_PHASES=compile configure install postinst prepare prerm +DEPEND=sys-kernel/dkms +DESCRIPTION=Kernel Modules (guest) source for Virtualbox +EAPI=8 +HOMEPAGE=http://www.virtualbox.org/ +KEYWORDS=~amd64 +LICENSE=GPL-2 +RDEPEND=sys-kernel/dkms +RESTRICT=mirror +SLOT=0 +SRC_URI=https://download.virtualbox.org/virtualbox/7.1.6/VirtualBox-7.1.6.tar.bz2 +_md5_=0de8db54e057e9e18e6a6fa3e40760f5 diff --git a/metadata/pkg_desc_index b/metadata/pkg_desc_index index 5342fa3b..b52b43e5 100644 --- a/metadata/pkg_desc_index +++ b/metadata/pkg_desc_index @@ -8,6 +8,8 @@ app-arch/unp 2.0_pre9-r1: Script for unpacking various file formats app-backup/timeshift 24.06.3: A system restore utility for Linux app-emulation/qemu-guest-agent 8.2.0-r6: QEMU Guest Agent (qemu-ga) for use when running inside a VM app-emulation/steam 1.0.0.79: Installer, launcher and supplementary files for Valve's Steam client +app-emulation/virtualbox-guest-additions 7.1.6-r1: VirtualBox user-space tools for Gentoo guests +app-emulation/virtualbox-guest-modules 7.1.6: Kernel Modules (guest) for Virtualbox app-emulation/virtualbox-modules 7.1.6: Kernel Modules for Virtualbox app-laptop/tp_smapi 0.44-r1: IBM ThinkPad SMAPI BIOS driver app-misc/calamares-config-redcore 1.314.1337-r18: Redcore Linux Calamares modules config @@ -73,6 +75,7 @@ sys-kernel/linux-sources-redcore-lts 5.15.178-r1 6.1.130-r1 6.6.82-r1 6.12.18-r1 sys-kernel/nvidia-drivers-dkms 390.157-r8 470.256.02-r1 550.144.03: NVIDIA driver sources for linux sys-kernel/tp_smapi-dkms 0.44-r4: IBM ThinkPad SMAPI BIOS driver sources sys-kernel/vhba-dkms 20240917-r1: Virtual (SCSI) Host Bus Adapter kernel module for the CDEmu suite sources +sys-kernel/virtualbox-guest-modules-dkms 7.1.6: Kernel Modules (guest) source for Virtualbox sys-kernel/virtualbox-modules-dkms 7.1.6: Kernel Modules source for Virtualbox sys-kernel/zfs-dkms 2.3.0: ZFS sources for linux sys-power/radeon-profile 20200824-r10: Read current clocks of ATi/AMD Radeon cards diff --git a/sys-kernel/virtualbox-guest-modules-dkms/Manifest b/sys-kernel/virtualbox-guest-modules-dkms/Manifest new file mode 100644 index 00000000..cceb1e2f --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/Manifest @@ -0,0 +1 @@ +DIST VirtualBox-7.1.6.tar.bz2 205786817 BLAKE2B 5328efe566217f69b665be58b19fc18f5898d634f0ee4057de93e66817dc15a2a708c71d9b323cfce752adf221dac44cbf2be0b8bfd37b2051c777fff0f4759a SHA512 16aa69eef997550e40e2759b9e0aa28b082d04de1352c62246bd8c63bb951545e5d6c6c1d930ae284c5c925eb44d504f071f545aa934bc4d94fbdb5ba74423d9 diff --git a/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-dkms.patch b/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-dkms.patch new file mode 100644 index 00000000..8e1a8c69 --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-dkms.patch @@ -0,0 +1,32 @@ +diff '--color=auto' -Nur a/Makefile b/Makefile +--- a/Makefile 2025-03-12 10:37:08.581683046 +0000 ++++ b/Makefile 2025-03-12 10:35:30.305692527 +0000 +@@ -24,14 +24,17 @@ + # SPDX-License-Identifier: GPL-3.0-only + # + +-ifneq ($(KERNELRELEASE),) ++ifneq ($(KBUILD_EXTMOD),) + +-# Building from kBuild (make -C <kernel_directory> M=`pwd`) +-# or inside a kernel source tree. ++# Building from kBuild (make -C <kernel_directory> M=`pwd`). ++# KBUILD_EXTMOD is set to $(M) in this case. + +-obj-m = vboxguest/ vboxsf/ ++obj-m = vboxguest/ ++ ifneq ($(wildcard $(KBUILD_EXTMOD)/vboxsf/Makefile),) ++obj-m += vboxsf/ ++ endif + +-else # ! KERNELRELEASE ++else # ! KBUILD_EXTMOD + + KBUILD_VERBOSE = + ifeq ($(KBUILD_VERBOSE),) +@@ -107,4 +110,4 @@ + install-vboxguest install-vboxsf \ + clean-vboxguest clean-vboxsf + +-endif # ! KERNELRELEASE ++endif # ! KBUILD_EXTMOD diff --git a/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-no-vboxvideo.patch b/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-no-vboxvideo.patch new file mode 100644 index 00000000..908c812f --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-no-vboxvideo.patch @@ -0,0 +1,90 @@ +diff '--color=auto' -Nur a/Makefile b/Makefile +--- a/Makefile 2025-01-21 12:49:27.000000000 +0000 ++++ b/Makefile 2025-03-12 10:31:49.695713811 +0000 +@@ -29,7 +29,7 @@ + # Building from kBuild (make -C <kernel_directory> M=`pwd`) + # or inside a kernel source tree. + +-obj-m = vboxguest/ vboxsf/ vboxvideo/ ++obj-m = vboxguest/ vboxsf/ + + else # ! KERNELRELEASE + +@@ -42,7 +42,7 @@ + VBOX_QUIET_SH := set -x; + endif + +-all: vboxguest vboxsf vboxvideo ++all: vboxguest vboxsf + + vboxguest: + @echo "=== Building 'vboxguest' module ===" +@@ -69,18 +69,6 @@ + echo; \ + fi + +-vboxvideo: +- + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \ +- echo "=== Building 'vboxvideo' module ==="; \ +- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo || exit 1; \ +- if [ -f vboxvideo/vboxvideo.ko ]; then \ +- cp vboxvideo/vboxvideo.ko .; \ +- elif [ -f vboxvideo/vboxvideo.o ]; then \ +- cp vboxvideo/vboxvideo.o .; \ +- fi; \ +- echo; \ +- fi +- + install-vboxguest: + + $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest install + +@@ -89,12 +77,7 @@ + $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxsf install; \ + fi + +-install-vboxvideo: +- + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \ +- $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \ +- fi +- +-install: install-vboxguest install-vboxsf install-vboxvideo ++install: install-vboxguest install-vboxsf + + clean-vboxguest: + + $(VBOX_QUIET)$(MAKE) -C vboxguest clean +@@ -106,31 +89,22 @@ + fi + rm -f vboxsf.*o + +-clean-vboxvideo: +- + $(VBOX_QUIET_SH)if [ -d vboxvideo ]; then \ +- $(MAKE) -C vboxvideo clean; \ +- fi +- rm -f vboxvideo.*o +- +-clean: clean-vboxguest clean-vboxsf clean-vboxvideo ++clean: clean-vboxguest clean-vboxsf + + check: + $(VBOX_QUIET)$(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxguest check + + unload: +- $(VBOX_QUIET)/sbin/rmmod vboxvideo || true +- $(VBOX_QUIET)/sbin/rmmod vboxvfs || true + $(VBOX_QUIET)/sbin/rmmod vboxsf || true + $(VBOX_QUIET)/sbin/rmmod vboxguest || true + + load: unload + $(VBOX_QUIET)/sbin/insmod vboxguest.ko + $(VBOX_QUIET)if [ -f vboxsf.ko ]; then /sbin/insmod vboxsf.ko; fi +- $(VBOX_QUIET)if [ -f vboxvideo.ko ]; then /sbin/insmod vboxvideo.ko; fi + + .PHONY: all install clean check unload load \ +- vboxguest vboxsf vboxvideo \ +- install-vboxguest install-vboxsf install-vboxvideo \ +- clean-vboxguest clean-vboxsf clean-vboxvideo ++ vboxguest vboxsf \ ++ install-vboxguest install-vboxsf \ ++ clean-vboxguest clean-vboxsf + + endif # ! KERNELRELEASE diff --git a/sys-kernel/virtualbox-guest-modules-dkms/files/dkms.conf b/sys-kernel/virtualbox-guest-modules-dkms/files/dkms.conf new file mode 100644 index 00000000..e1196f45 --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/files/dkms.conf @@ -0,0 +1,10 @@ +PACKAGE_NAME="virtualbox-guest-modules-dkms" +PACKAGE_VERSION="7.1.6" +BUILD_EXCLUSIVE_KERNEL="^(5\.[0-9]+\.|6\.[0-9]\.|\.|6\.1[0-2]\.)" # only build for kernels v5.x.x up to and including v6.12.x +BUILT_MODULE_NAME[0]="vboxguest" +BUILT_MODULE_LOCATION[0]="vboxguest" +DEST_MODULE_LOCATION[0]="/extra/dkms" +BUILT_MODULE_NAME[1]="vboxsf" +BUILT_MODULE_LOCATION[1]="vboxsf" +DEST_MODULE_LOCATION[1]="/extra/dkms" +AUTOINSTALL="yes" diff --git a/sys-kernel/virtualbox-guest-modules-dkms/files/vboxguest-6.1.36-log-use-c99.patch b/sys-kernel/virtualbox-guest-modules-dkms/files/vboxguest-6.1.36-log-use-c99.patch new file mode 100644 index 00000000..41641f23 --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/files/vboxguest-6.1.36-log-use-c99.patch @@ -0,0 +1,13 @@ +https://bugs.gentoo.org/298988 + +--- a/vboxguest/Makefile ++++ b/vboxguest/Makefile +@@ -149,7 +149,7 @@ + IN_MODULE \ + RT_WITH_VBOX \ + VBGL_VBOXGUEST \ +- VBOX_WITH_HGCM ++ VBOX_WITH_HGCM LOG_USE_C99 + ifeq ($(VBOX_KBUILD_TARGET_ARCH),amd64) + VBOXMOD_DEFS += VBOX_WITH_64_BITS_GUESTS + endif diff --git a/sys-kernel/virtualbox-guest-modules-dkms/virtualbox-guest-modules-dkms-7.1.6.ebuild b/sys-kernel/virtualbox-guest-modules-dkms/virtualbox-guest-modules-dkms-7.1.6.ebuild new file mode 100644 index 00000000..222e7fac --- /dev/null +++ b/sys-kernel/virtualbox-guest-modules-dkms/virtualbox-guest-modules-dkms-7.1.6.ebuild @@ -0,0 +1,72 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=8 + + +MY_PN="VirtualBox" +MY_PV=${PV^^} +MY_P=${MY_PN}-${MY_PV} + +DESCRIPTION="Kernel Modules (guest) source for Virtualbox" +HOMEPAGE="http://www.virtualbox.org/" +SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2" +S="${WORKDIR}/${MY_PN}-${MY_PV}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +RESTRICT="mirror" +IUSE="" + +DEPEND=" + sys-kernel/dkms +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=dev-build/kbuild-0.1.9998.3127 +" + +VBOX_MOD_SRC_DIR="out/linux.${ARCH}/release/bin/additions/src" + +src_prepare() { + rm -r kBuild/bin tools || die + + pushd src/VBox/Additions &>/dev/null || die + ebegin "Extracting guest kernel module sources" + kmk GuestDrivers-src vboxguest-src vboxsf-src &>/dev/null + eend $? || die + popd &>/dev/null || die + + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/Makefile-no-vboxvideo.patch + eapply -d "${VBOX_MOD_SRC_DIR}" -- "${FILESDIR}"/Makefile-dkms.patch + + eapply_user +} + +src_configure() { + : +} + +src_compile() { + : +} + +src_install() { + dodir usr/src/${P} + insinto usr/src/${P} + doins ${FILESDIR}/dkms.conf + doins -r ${VBOX_MOD_SRC_DIR}/* +} + +pkg_postinst() { + dkms add ${PN}/${PV} +} + +pkg_prerm() { + dkms remove ${PN}/${PV} --all +} |