summaryrefslogtreecommitdiff
path: root/app-emulation/virtualbox-guest-additions
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/virtualbox-guest-additions')
-rw-r--r--app-emulation/virtualbox-guest-additions/Manifest4
-rw-r--r--app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch13
-rw-r--r--app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild280
3 files changed, 297 insertions, 0 deletions
diff --git a/app-emulation/virtualbox-guest-additions/Manifest b/app-emulation/virtualbox-guest-additions/Manifest
index 543dca0fba30..58d61aa6fd08 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,5 +1,6 @@
AUX vboxclient.desktop 145 BLAKE2B c01f4c307cd965d271e19f31cab5f902126bdf49bd947329c9ffad4955665b142576438dd124bc323d540cb2f6229c722b2611d4ba405521432965d9d0bddd8f SHA512 90e2ff4b8a67120f7f3c116676c7553243a1bf3c9a76f71ef471bc556c4eee55953e6a5dde952688d4892d469149db8704a921a14755eea66b1789805fe3ca42
AUX vboxguest-6.0.6-log-use-c99.patch 282 BLAKE2B df1d521c39ab6b3fa421f866fd83545bfea972dbbb1a952ce6aa388845175a4a3f71bc1cd34151f537994713ad1144fb0497f1383ed116357e7971f02c38ada9 SHA512 31fc13e5bb6286f80fde312aeb7917f662addc5b889ca1aeafa4f3545bece46eccface3b94df01c25a33d60302a14b3ae5b1eef87f25a4eef9a9dd4a75b3d7cb
+AUX vboxguest-6.1.36-log-use-c99.patch 288 BLAKE2B 7a869ea9c46d91b64e6f062173bce10db25581b2390dad517016eb35cdae0727579e374318afdf749c3118436c667dacaf670f93698894b972b3badc60a80a43 SHA512 c66d75e77d84f081095de91248f236606b5e0bcc50a5525918fce979c97d84dddf6d10fc2a21832db74b5ef632949d9dee8ec30b4f1ab05bcec1aa75da681971
AUX virtualbox-guest-additions-5-localconfig 937 BLAKE2B 4ad7e6520572ed5b3ee29c03b77fb1a4df5279e38929c4e6e446387f30eef9fd8f32b9f877db1074c0e28f9a461ec3114e7120f636e02ce41a72a81b1e69c62e SHA512 ccbc2db825060fd5044e42bf4e53271d6e64a7a400b09705230006367e696dd3bff384f1e4873bf2aedfec8e6fdc8f8ecc537cd5a1fe629727c2943371d13e40
AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e5de2ada767a06341f9259a9e491660e796640dd4a251fbbf85f66786b8ec829357aa51546e502ca99452fa998ce20031637 SHA512 e01579b0ce980517a7b9e163915977a58c73594cf4c8484d20941449b9a21a4346ab1bb031b248ee438b350fa23b4bc78a1d6e501986b329564a4df487f5d3ca
AUX virtualbox-guest-additions-8.initd-r1 547 BLAKE2B 1b26fc26e95baa74d551f8a9cf62f698485d63a0487c4cc4fc9906b8ced191f078e2b794ef9db9488de9e92188c73812c16e37ff542f06e0d52a4dc62b631960 SHA512 81ccc8d3edd965feb55290cf1281a97a485f14fd1de07cd59479bd7746291d41abc45c2e7e209f17f7df057528be83c48f3e270b526e6b86d85c5ec4be2d3944
@@ -7,9 +8,12 @@ AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9
AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9
DIST VirtualBox-6.1.32.tar.bz2 165758238 BLAKE2B 24873d7cc8bd306ea3552fe75379fbe7be767c85406042344eb047ed31184c3357aea07dda5e15c275f5036ae63106ef1d2e6524b143bc645a6b5ba0016f1391 SHA512 8bf7af6b8b4d3ba90f0e91589cf26400648436eb9da6d31c1a760460bfe5eb7311ac3220b4c9a98ac50e559641d3d5f559134be65288821038255de1c2c7ce1e
DIST VirtualBox-6.1.34.tar.bz2 165761216 BLAKE2B d3c8f7d3d6f408e4c4275c2b2815e92819c871359501ec4fa7212bf7cdc852613e2e4703d8650371097a5bc805efa04ea75bb03ab83d24a869a677555f6e22d5 SHA512 46d63a9fd9df76af654af59fab5cf555858bc2c4b5dc34e2378d85ae784e6380b6def4aab06909a9b5e114a7297269f90cfb2c3d8d6529b423d703afbad18c64
+DIST VirtualBox-6.1.36.tar.bz2 165685382 BLAKE2B 98dbb06450b9df650cb72493bcdea4b88fa9dd21f76d723fdc0bb2c1ab8266f67e972a7222dc9b5bd0d43754911710664bddace753995be025cf6bcc05a24ae5 SHA512 cc3b984a7da40c9bf14831808a2bc2bf7bf6821e53c25fa11cb4b4275feb1d4b0cb4a47d8a360b90c89e5a4038481efe8fe28ee22996dbefb6446761e88a8dec
DIST virtualbox-6.1.12-patches-01.tar.xz 2528 BLAKE2B a5d7cde0daea41bee2e40e46569c725769927a31865d99d13b8b13c4903e59b4097f85da15dc592b9c7e8baf8ff805397af827620f107ba09a468b4d1198ecab SHA512 f71d10a9fbce99c3f631ef30bcfa9d0e017e702ac509541b039e08ccbcd024beb93fde09c43d90af5d9d28f6842a7947f20e7950d3897da3e6d57859657e1123
+DIST virtualbox-patches-6.1.36.tar.bz2 2733 BLAKE2B dcfebfeca4873d382441515d48b4dfee9343bc7c83ea3cbb5002dbf7975143a79fae9a701b67dc35505e9ca03ff1b6293cb7c3279c4fdfda8ad21ba5fb9b7e87 SHA512 1bed5cdefbf8e7c4b0d9092ba4961ecf2262f27f35c71a91ef6f2e8fe8a1d92ed74f06bafbf58d70ba7165d933997f58073f4d4f4051e3ba5c0339b729066f57
EBUILD virtualbox-guest-additions-6.1.32-r1.ebuild 6280 BLAKE2B 68ef78d95ffbc6847b3a7d948848741e714c57788535c9ecd639b3969bdb28048b4075aef131d5614a3da51d1b603a30d6c9b7b289fd6ea8c912ed52de0613f4 SHA512 7a91705459852d2d53debaeaec17027ee12138926395c46181ffc603232775e16986a35a9e3d287b889e262f4ed7b115251f4e00b01677da51f9b1a325081ad9
EBUILD virtualbox-guest-additions-6.1.34-r1.ebuild 6282 BLAKE2B 696de6d8cf22409ddae78794d4d3d12f3d8cea49884d6317420baefceb3554354d63234fda6b20027293939aa4629e9d84cc241a343f0bb08a84c7a78d8db696 SHA512 37b29dedd36f3bc43753f910ba2dd57c36f84be2c097ca56c6c1b5b52523645d4a0ceff537716fbf673726009c5e2e40884023458275cc0ee3b2c5c9c00e1419
EBUILD virtualbox-guest-additions-6.1.34-r2.ebuild 7469 BLAKE2B affb2aeb74ed6ca588418c23ab2febb374ad7ecc532e056c12c6636f4d433e2eb3e59727a2b1cc6c57f0dea0dcbfa20e67260b95b44bc98c9c0cf5903eac93c4 SHA512 8154a867db0bf5da50f66dd4ba53af4586f3e8a90ba5c693c046bf38b2201082a518deb532947b0abcfe70420273bb5eed8c88657d4c6587580108836c22c57b
EBUILD virtualbox-guest-additions-6.1.34-r3.ebuild 7668 BLAKE2B 331840fbcbf2aa2240fca277830150f6519731c5343e48becf0498d8e3ca6277bced1a99958c37569689eca95c640f8443000db3a1fdcf4e2cd9f393135805e8 SHA512 0c960875f24c56d1214aa4b020b21377c2ed8e8c9ccdb029b780dfb08297d122ecea7b9a58c53a2190d56864fbd6786d84509fdee694fc9abfdb2fae7b618ba1
+EBUILD virtualbox-guest-additions-6.1.36.ebuild 7704 BLAKE2B 01d1b7926be2f9181f2ca5b72beac93842515ffe49d05fdb98d4dec999aab51ddf7f6760885d641efebbc93b379bcf377810f0b5aa9626c2261e6e4ca95d72b1 SHA512 b502f136bc0674929d4c1a4de74891d7fa2e4bc11d28b754266eefc20c9359c8ea84550c92c6c0e71e269fe39eb289031f0af9ae8fc40b2ff76e23ef589d19e4
MISC metadata.xml 415 BLAKE2B 9b88f53744c7399cfd98a2a06bd6a61f9e73214b6cf2c126936ffb608400b49a0328eeb1e226679ffd3b43a0d5dd6c353ea56df549b222a4ca851c0c34137ee9 SHA512 6206d0e6ab3dfdde8e022e630f8598b3ba167c0b532d1ea77f4666d83202ef721a9b07d47ebd1770d01b36e18e8adfc6027a337c4e0415008085c2d9f0495c23
diff --git a/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch b/app-emulation/virtualbox-guest-additions/files/vboxguest-6.1.36-log-use-c99.patch
new file mode 100644
index 000000000000..41641f2336a5
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/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/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild
new file mode 100644
index 000000000000..90faf81beab9
--- /dev/null
+++ b/app-emulation/virtualbox-guest-additions/virtualbox-guest-additions-6.1.36.ebuild
@@ -0,0 +1,280 @@
+# Copyright 2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo linux-mod systemd toolchain-funcs udev
+
+MY_PN="VirtualBox"
+MY_PV="${PV/beta/BETA}"
+MY_PV="${MY_PV/rc/RC}"
+MY_P="${MY_PN}-${MY_PV}"
+[[ "${PV}" == *a ]] && DIR_PV="$(ver_cut 1-3)"
+
+DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
+HOMEPAGE="https://www.virtualbox.org/"
+SRC_URI="https://download.virtualbox.org/virtualbox/${DIR_PV:-${MY_PV}}/${MY_P}.tar.bz2
+ https://gitweb.gentoo.org/proj/virtualbox-patches.git/snapshot/virtualbox-patches-${MY_PV}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0/$(ver_cut 1-2)"
+[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
+KEYWORDS="~amd64 ~x86"
+IUSE="X"
+
+# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
+RDEPEND="
+ acct-group/vboxguest
+ acct-group/vboxsf
+ acct-user/vboxguest
+ X? ( x11-apps/xrandr
+ x11-apps/xrefresh
+ x11-libs/libXmu
+ x11-libs/libX11
+ x11-libs/libXt
+ x11-libs/libXext
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libSM
+ x11-libs/libICE )
+ sys-apps/dbus
+"
+DEPEND="
+ ${RDEPEND}
+ >=dev-util/kbuild-0.1.9998.3127
+ >=dev-lang/yasm-0.6.2
+ sys-devel/bin86
+ sys-libs/pam
+ sys-power/iasl
+ x11-base/xorg-proto
+"
+PDEPEND="
+ X? ( x11-drivers/xf86-video-vboxvideo )
+"
+BUILD_TARGETS="all"
+BUILD_TARGET_ARCH="${ARCH}"
+
+S="${WORKDIR}/${MY_PN}-${DIR_PV:-${PV}}"
+VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
+
+pkg_setup() {
+ export DISTCC_DISABLE=1 #674256
+ MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
+ vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
+ use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
+
+ linux-mod_pkg_setup
+}
+
+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)
+ pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
+ eapply "${FILESDIR}"/vboxguest-6.1.36-log-use-c99.patch
+ popd &>/dev/null || die
+
+ # Disable things unused or splitted into separate ebuilds
+ cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
+ use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
+
+ # 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
+
+ # Do not use hard-coded ld (related to bug #488176)
+ #sed -e '/QUIET)ld /s@ld @$(LD) @' \
+ # -i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
+
+ eapply "${WORKDIR}/virtualbox-patches-${MY_PV}/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
+ --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
+ BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR} KBUILD_EXTRA_SYMBOLS=${S}/Module.symvers"
+ linux-mod_src_compile
+}
+
+src_install() {
+ linux-mod_src_install
+
+ cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
+
+ insinto /sbin
+ newins mount.vboxsf mount.vboxsf
+ fperms 4755 /sbin/mount.vboxsf
+
+ newinitd "${FILESDIR}"/${PN}-8.initd-r1 ${PN}
+
+ 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"
+}
+
+pkg_postinst() {
+ linux-mod_pkg_postinst
+ udev_reload
+ if ! use X ; then
+ elog "use flag X is off, enable it to install the"
+ elog "X Window System video driver."
+ fi
+ elog ""
+ elog "Please add users to the \"vboxguest\" group so they can"
+ elog "benefit from seamless mode, auto-resize and clipboard."
+ elog ""
+ elog "The vboxsf group has been added to make automount services work."
+ elog "These services are part of the shared folders support."
+ elog ""
+ elog "Please add:"
+ elog "/etc/init.d/${PN}"
+ elog "to the default runlevel in order to start"
+ elog "needed services."
+ elog "To use the VirtualBox X driver, use the following"
+ elog "file as your /etc/X11/xorg.conf:"
+ elog " /usr/share/doc/${PF}/xorg.conf.vbox"
+ elog ""
+ elog "Also make sure you use the Mesa library for OpenGL:"
+ elog " eselect opengl set xorg-x11"
+ elog ""
+ elog "An autostart .desktop file has been installed to start"
+ elog "VBoxClient in desktop sessions."
+ elog ""
+ elog "You can mount shared folders with:"
+ elog " mount -t vboxsf <shared_folder_name> <mount_point>"
+ elog ""
+ elog "Warning:"
+ elog "this ebuild is only needed if you are running gentoo"
+ elog "inside a VirtualBox Virtual Machine, you don't need"
+ elog "it to run VirtualBox itself."
+ elog ""
+}
+
+pkg_postrm() {
+ linux-mod_pkg_postrm
+ udev_reload
+}