From 47ac19467d84100074607d6a9316806834a8a78e Mon Sep 17 00:00:00 2001
From: V3n3RiX <venerix@koprulu.sector>
Date: Wed, 12 Mar 2025 11:57:47 +0000
Subject: app-emulation/virtualbox-guest-additions : import from Gentoo, port
 to DKMS framework

---
 .../files/Makefile-dkms.patch                      | 32 ++++++++
 .../files/Makefile-no-vboxvideo.patch              | 90 ++++++++++++++++++++++
 .../virtualbox-guest-modules-dkms/files/dkms.conf  | 10 +++
 .../files/vboxguest-6.1.36-log-use-c99.patch       | 13 ++++
 4 files changed, 145 insertions(+)
 create mode 100644 sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-dkms.patch
 create mode 100644 sys-kernel/virtualbox-guest-modules-dkms/files/Makefile-no-vboxvideo.patch
 create mode 100644 sys-kernel/virtualbox-guest-modules-dkms/files/dkms.conf
 create mode 100644 sys-kernel/virtualbox-guest-modules-dkms/files/vboxguest-6.1.36-log-use-c99.patch

(limited to 'sys-kernel/virtualbox-guest-modules-dkms/files')

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
-- 
cgit v1.2.3