commit:     76fbdf92e93e5c7ab63d75c8f36d9d319bf55e87
Author:     Viorel Munteanu <ceamac.paragon <AT> gmail <DOT> com>
AuthorDate: Tue Jul 26 19:31:14 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 27 21:05:31 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=76fbdf92

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

Closes: https://bugs.gentoo.org/847097
Signed-off-by: Viorel Munteanu <ceamac.paragon <AT> gmail.com>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-emulation/virtualbox-guest-additions/Manifest  |   2 +
 .../files/vboxguest-6.1.36-log-use-c99.patch       |  13 +
 .../virtualbox-guest-additions-6.1.36.ebuild       | 280 +++++++++++++++++++++
 3 files changed, 295 insertions(+)

diff --git a/app-emulation/virtualbox-guest-additions/Manifest 
b/app-emulation/virtualbox-guest-additions/Manifest
index 7c756f072fe3..140f1e61f347 100644
--- a/app-emulation/virtualbox-guest-additions/Manifest
+++ b/app-emulation/virtualbox-guest-additions/Manifest
@@ -1,3 +1,5 @@
 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

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
+}

Reply via email to