virtualbox 7.2.8-1 (x86_64) 2026-18058
0

Status testing
Submitter bero [@T] lindev.ch
Platform rolling
Repository main
URL https://abf.openmandriva.org/build_lists/598659
Packages
virtualbox-7.2.8-1.x86_64.source
virtualbox-7.2.8-1.x86_64.binary
virtualbox-debuginfo-7.2.8-1.x86_64.debuginfo
virtualbox-debugsource-7.2.8-1.x86_64.binary
virtualbox-guest-additions-7.2.8-1.x86_64.binary
virtualbox-guest-additions-debuginfo-7.2.8-1.x86_64.debuginfo
virtualbox-guest-kernel-module-sources-7.2.8-1.x86_64.binary
virtualbox-kernel-module-sources-7.2.8-1.x86_64.binary
Build Date 2026-04-30 23:03:31 +0000 UTC
Last Updated 2026-04-30 23:47:12.686427325 +0000 UTC
$ git diff --patch-with-stat --summary bbbee27f756791614b6258d0c6f26ee7f9731261..05b1e47ea9c247f48d0d45eba38a157f625ab921

 .abf.yml                                           |   6 +-
 .onedev-buildspec.yml                              |   4 +
 12-make-module.patch                               |  14 +-
 18-system-xorg.patch                               |  16 +--
 29-fix-ftbfs-as-needed.patch                       |  28 ++--
 32-disable-guest-version-check.patch               |  33 +++--
 ..._BETA3-dont-check-for-mkisofs-or-makeself.patch |  12 +-
 VirtualBox-5.0.18-xserver_guest_xorg19.patch       |  10 +-
 VirtualBox-5.1.8-gsoap-2.8.13.patch                |  11 +-
 ...Box-6.1.2-revert-removal-of-vital-symbols.patch |  16 +--
 VirtualBox-7.1.4-unload-kvm.patch                  |  28 ++++
 vbox-1024x768-instead-of-800x600.patch             |  15 +++
 vbox-7.1.6-workaround-doc-build-failure.patch      |  11 ++
 vbox-7.2.2-curl-8.16.patch                         |  62 +++++++++
 virtualbox-6.1.32-python3.11.patch                 |  12 --
 virtualbox-7.0.8-libstdc++13.patch                 |  11 ++
 virtualbox-7.1.10-c23.patch                        |  13 ++
 virtualbox-fix-build-with-gcc-14.patch             |  23 ++++
 virtualbox-fix-modules-rebuild-command.patch       |  10 +-
 virtualbox-no-prehistoric-xfree86.patch            |  47 +++----
 virtualbox.spec                                    | 145 ++++++++++++++-------
 21 files changed, 366 insertions(+), 161 deletions(-)
 create mode 100644 .onedev-buildspec.yml
 create mode 100644 VirtualBox-7.1.4-unload-kvm.patch
 create mode 100644 vbox-1024x768-instead-of-800x600.patch
 create mode 100644 vbox-7.1.6-workaround-doc-build-failure.patch
 create mode 100644 vbox-7.2.2-curl-8.16.patch
 delete mode 100644 virtualbox-6.1.32-python3.11.patch
 create mode 100644 virtualbox-7.0.8-libstdc++13.patch
 create mode 100644 virtualbox-7.1.10-c23.patch
 create mode 100644 virtualbox-fix-build-with-gcc-14.patch

diff --git a/.abf.yml b/.abf.yml
index 630374f..72db7a1 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,6 +1,6 @@
 sources:
   os_openmandriva.png: 3c1c957c644369db0009773c895fbbb0617d5785
   os_openmandriva_64.png: 80cce1aee0eea3e7aed9ee36d5829c0f0fa50fd4
-  openssl-1.1.1k.tar.gz: bad9dc4ae6dcc1855085463099b5dacb0ec6130b
-  VirtualBox-7.0.0.tar.bz2: 017223866220034ece6902b4edd28f1f8e10d8f5
-  UserManual.pdf: 4a389dce8a98e61e83340fc399b3fb88953fde1f
+  openssl-3.0.16.tar.gz: 9f2b9d6aa10576a5938b5a9cbc777af3ff51d64a
+  VirtualBox-7.2.8.tar.bz2: a000b0c81acffa02c535d01511036d03c101a142
+  UserManual.pdf: ce13d21df479f8a28bebfb679a54bb13663aa99b
diff --git a/.onedev-buildspec.yml b/.onedev-buildspec.yml
new file mode 100644
index 0000000..b95f83a
--- /dev/null
+++ b/.onedev-buildspec.yml
@@ -0,0 +1,4 @@
+version: 40
+imports:
+- projectPath: OpenMandriva/Packages
+  revision: mirroring
diff --git a/12-make-module.patch b/12-make-module.patch
index e4c73ba..7e6872c 100644
--- a/12-make-module.patch
+++ b/12-make-module.patch
@@ -1,12 +1,12 @@
-diff -up VirtualBox-6.1.36/src/VBox/Installer/linux/Makefile-header.gmk.21~ VirtualBox-6.1.36/src/VBox/Installer/linux/Makefile-header.gmk
---- VirtualBox-6.1.36/src/VBox/Installer/linux/Makefile-header.gmk.21~	2022-07-20 14:52:18.700146467 +0200
-+++ VirtualBox-6.1.36/src/VBox/Installer/linux/Makefile-header.gmk	2022-07-20 14:53:19.121506077 +0200
-@@ -50,7 +50,7 @@
+diff -up VirtualBox-7.1.0_BETA1/src/VBox/Installer/linux/Makefile-header.gmk.14~ VirtualBox-7.1.0_BETA1/src/VBox/Installer/linux/Makefile-header.gmk
+--- VirtualBox-7.1.0_BETA1/src/VBox/Installer/linux/Makefile-header.gmk.14~	2024-08-12 13:31:09.716391963 +0200
++++ VirtualBox-7.1.0_BETA1/src/VBox/Installer/linux/Makefile-header.gmk	2024-08-12 13:36:25.115834612 +0200
+@@ -60,7 +60,7 @@
  #
  
- # VBOX_KBUILD_TARGET_ARCH = amd64|x86
+ # VBOX_KBUILD_TARGET_ARCH = amd64|x86|arm64|arm32
 -ifeq ($(filter-out x86_64 amd64 AMD64,$(shell uname -m)),)
-+ifeq ($(filter-out x86_64 amd64 AMD64,$(shell rpm --eval %_target_cpu)),)
++ifeq ($(filter-out x86_64 amd64 AMD64 znver1,$(shell rpm --eval %_target_cpu)),)
   VBOX_KBUILD_TARGET_ARCH_DEFAULT := amd64
  else
-  VBOX_KBUILD_TARGET_ARCH_DEFAULT := x86
+  ifeq ($(filter-out aarch64,$(shell uname -m)),)
diff --git a/18-system-xorg.patch b/18-system-xorg.patch
index 47ceafc..1e54f21 100644
--- a/18-system-xorg.patch
+++ b/18-system-xorg.patch
@@ -1,16 +1,16 @@
-diff -up VirtualBox-6.0.0/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk.0108~ VirtualBox-6.0.0/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
---- VirtualBox-6.0.0/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk.0108~	2018-12-19 00:23:11.145158830 +0100
-+++ VirtualBox-6.0.0/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk	2018-12-19 00:26:13.714950398 +0100
-@@ -38,18 +38,6 @@ endif
+diff -up VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk.15~ VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk
+--- VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk.15~	2023-04-20 21:02:59.080692158 +0200
++++ VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/lib/Makefile.kmk	2023-04-20 21:29:53.776886999 +0200
+@@ -50,18 +50,6 @@ endif
  LIBRARIES += \
  	VBoxGuestR3Lib \
  	VBoxGuestR3LibShared
 -ifndef VBOX_ONLY_VALIDATIONKIT
 - if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd)
-- ifndef VBOX_USE_SYSTEM_XORG_HEADERS
--  LIBRARIES += \
--  	VBoxGuestR3LibXFree86
-- endif
+-  ifndef VBOX_USE_SYSTEM_XORG_HEADERS
+-   LIBRARIES += \
+-   	VBoxGuestR3LibXFree86
+-  endif
 - endif
 - if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris)
 -  LIBRARIES += \
diff --git a/29-fix-ftbfs-as-needed.patch b/29-fix-ftbfs-as-needed.patch
index a66501e..c635212 100644
--- a/29-fix-ftbfs-as-needed.patch
+++ b/29-fix-ftbfs-as-needed.patch
@@ -1,16 +1,12 @@
-Description: Fix FTBFS with ld --as-needed.
-Origin: vendor, http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/app-emulation/virtualbox/files/virtualbox-4.1.4-asneeded.patch?revision=1.2&view=markup
-
-Index: virtualbox/Config.kmk
-===================================================================
---- virtualbox.orig/Config.kmk	2015-04-02 15:46:59.611743003 +0200
-+++ virtualbox/Config.kmk	2015-04-02 15:46:59.611743003 +0200
-@@ -6409,7 +6409,7 @@
- TEMPLATE_VBoxBldProg_LDFLAGS.amd64       = -m64
- TEMPLATE_VBoxBldProg_LDFLAGS.sparc64     = -m64
-  ifeq ($(KBUILD_HOST),linux)
--TEMPLATE_VBoxBldProg_LIBS                = pthread m rt dl
-+TEMPLATE_VBoxBldProg_LIBS                = pthread m rt dl crypt
-  else ifeq ($(KBUILD_HOST),os2)
- TEMPLATE_VBoxBldProg_TOOL                = GXX3OMF
- TEMPLATE_VBoxBldProg_LIBS                = socket iconv
+diff -up VirtualBox-7.2.0_BETA2/Config.kmk.18~ VirtualBox-7.2.0_BETA2/Config.kmk
+--- VirtualBox-7.2.0_BETA2/Config.kmk.18~	2025-06-26 14:36:17.000000000 +0200
++++ VirtualBox-7.2.0_BETA2/Config.kmk	2025-06-29 23:26:33.719070921 +0200
+@@ -6545,7 +6545,7 @@ else # the gcc guys
+  TEMPLATE_VBoxR3Exe_LDFLAGS.solaris    = -Wl,-z,ignore # same as VBOX_LD_as_needed
+ 
+  ifeq ($(KBUILD_TARGET),linux)
+-  TEMPLATE_VBoxR3Exe_LATE_LIBS         = pthread m rt dl
++  TEMPLATE_VBoxR3Exe_LATE_LIBS         = pthread m rt dl crypt
+  else ifeq ($(KBUILD_TARGET),os2)
+   TEMPLATE_VBoxR3Exe_TOOL              = GXX3OMF
+   TEMPLATE_VBoxR3Exe_LATE_LIBS         = socket iconv
diff --git a/32-disable-guest-version-check.patch b/32-disable-guest-version-check.patch
index 7068193..4e26481 100644
--- a/32-disable-guest-version-check.patch
+++ b/32-disable-guest-version-check.patch
@@ -1,15 +1,20 @@
-Description: Disable notifications about outdated guest additions.
-Author: Felix Geyer <fgeyer@debian.org>
-
-Index: virtualbox/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
-===================================================================
---- virtualbox.orig/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
-+++ virtualbox/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
-@@ -45,6 +45,7 @@
+diff -up VirtualBox-7.2.6/src/VBox/Additions/x11/VBoxClient/hostversion.cpp.19~ VirtualBox-7.2.6/src/VBox/Additions/x11/VBoxClient/hostversion.cpp
+--- VirtualBox-7.2.6/src/VBox/Additions/x11/VBoxClient/hostversion.cpp.19~	2026-01-27 13:48:24.000000000 +0100
++++ VirtualBox-7.2.6/src/VBox/Additions/x11/VBoxClient/hostversion.cpp	2026-02-09 17:58:52.920529967 +0100
+@@ -96,13 +96,13 @@ static DECLCALLBACK(int) vbclHostVerWork
+ * Guest Additions.  Distributors are encouraged to customise this. */
+             RTStrPrintf(szMsg, sizeof(szMsg), "Your virtual machine is currently running the Guest Additions version %s. Since you are running a version of the Guest Additions provided by the operating system you installed in the virtual machine we recommend that you update it to at least version %s using that system's update features, or alternatively that you remove this version and then install the " VBOX_VENDOR_SHORT " Guest Additions package using the install option from the Devices menu. Please consult the documentation for the operating system you are running to find out how to update or remove the current Guest Additions package.", pszGuestVersion, pszHostVersion);
+ # endif /* VBOX_OSE */
++#if 0
+             rc = VBClShowNotify(szTitle, szMsg);
++#endif
+         }
  
- static int showNotify(const char *pszHeader, const char *pszBody)
- {
-+    return VINF_SUCCESS;
-     int rc;
- # ifdef VBOX_WITH_DBUS
-     DBusConnection *conn;
+         /* Store host version to not notify again */
+-        int rc2 = VbglR3HostVersionLastCheckedStore(&GuestPropClient, pszHostVersion);
+-        if (RT_SUCCESS(rc))
+-            rc = rc2;
++        rc = VbglR3HostVersionLastCheckedStore(&GuestPropClient, pszHostVersion);
+ 
+         VbglGuestPropReadValueFree(pszHostVersion);
+         VbglGuestPropReadValueFree(pszGuestVersion);
diff --git a/VirtualBox-5.0.0_BETA3-dont-check-for-mkisofs-or-makeself.patch b/VirtualBox-5.0.0_BETA3-dont-check-for-mkisofs-or-makeself.patch
index 4258409..5c0d5f9 100644
--- a/VirtualBox-5.0.0_BETA3-dont-check-for-mkisofs-or-makeself.patch
+++ b/VirtualBox-5.0.0_BETA3-dont-check-for-mkisofs-or-makeself.patch
@@ -1,12 +1,12 @@
-diff -Naur VirtualBox-5.2.16/configure VirtualBox-5.2.16.tpg/configure
---- VirtualBox-5.2.16/configure	2018-07-27 16:16:32.858489000 +0000
-+++ VirtualBox-5.2.16.tpg/configure	2018-07-27 16:19:05.690495478 +0000
-@@ -2823,8 +2823,6 @@
+diff -up VirtualBox-7.2.0/configure.9~ VirtualBox-7.2.0/configure
+--- VirtualBox-7.2.0/configure.9~	2025-08-13 21:37:05.000000000 +0200
++++ VirtualBox-7.2.0/configure	2025-08-18 02:26:38.405106403 +0200
+@@ -3016,7 +3016,7 @@ if [ "$OS" = "linux" ]; then
    fi
    check_compiler_h
-   [ $ONLY_ADDITIONS -eq 0 -a "$BUILD_MACHINE" = "amd64" -a $WITH_VMMRAW -eq 1 ] && check_32bit
--  # tools/common/makeself*
+   # tools/common/makeself*
 -  [ $OSE -ge 1 ] && check_makeself
++  #[ $OSE -ge 1 ] && check_makeself
  fi
  
  [ -n "$SETUP_WINE" ] && setup_wine
diff --git a/VirtualBox-5.0.18-xserver_guest_xorg19.patch b/VirtualBox-5.0.18-xserver_guest_xorg19.patch
index 60b721a..d112067 100644
--- a/VirtualBox-5.0.18-xserver_guest_xorg19.patch
+++ b/VirtualBox-5.0.18-xserver_guest_xorg19.patch
@@ -1,12 +1,12 @@
-Fix FTBFS by not compile X.org-1.19 drv, we don't use it, just need in el <= 7
---- ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk.orig	2016-10-11 02:49:23.184986182 +0100
-+++ ./src/VBox/Additions/x11/vboxvideo/Makefile.kmk	2016-10-11 02:49:39.879176964 +0100
-@@ -376,7 +376,7 @@ vboxvideo_drv_118_SOURCES := $(vboxvideo
+diff -up VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk.12~ VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
+--- VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk.12~	2023-04-20 20:49:29.676339991 +0200
++++ VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	2023-04-20 21:01:47.691147821 +0200
+@@ -406,7 +406,7 @@ vboxvideo_drv_118_LIBS += $(vboxvideo_dr
  
  ifdef VBOX_USE_SYSTEM_XORG_HEADERS
   # Build using local X.Org headers.  We assume X.Org Server 1.7 or later.
 - DLLS    := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system
 + DLLS    := $(filter-out vboxvideo_drv_%,$(DLLS))
   SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS))
-  vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD
+  vboxvideo_drv_system_TEMPLATE = VBoxGuestR3XOrgMod
   vboxvideo_drv_system_CFLAGS := \
diff --git a/VirtualBox-5.1.8-gsoap-2.8.13.patch b/VirtualBox-5.1.8-gsoap-2.8.13.patch
index 8dee154..d6e78b4 100644
--- a/VirtualBox-5.1.8-gsoap-2.8.13.patch
+++ b/VirtualBox-5.1.8-gsoap-2.8.13.patch
@@ -1,11 +1,12 @@
---- a/src/VBox/Main/webservice/Makefile.kmk.orig	2013-05-13 18:43:42.492674768 +0100
-+++ b/src/VBox/Main/webservice/Makefile.kmk	2013-05-13 18:43:51.484674243 +0100
-@@ -650,7 +650,7 @@
- 		$(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
+diff -up VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk.10~ VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk
+--- VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk.10~	2023-04-20 20:42:56.947946069 +0200
++++ VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk	2023-04-20 20:45:08.118120834 +0200
+@@ -848,7 +848,7 @@ ifdef VBOX_GSOAP_INSTALLED
+  		$(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@)
  	$(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT))
  	$(RM) -f $@
 -	$(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
 +	$(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT)
- ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround.
+  ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround.
  	$(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
  	$(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp"
diff --git a/VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch b/VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch
index f69b688..5948d4b 100644
--- a/VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch
+++ b/VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch
@@ -1,12 +1,12 @@
-diff -urN VirtualBox-6.1.2/src/VBox/Devices/Makefile.kmk VirtualBox-6.1.0/src/VBox/Devices/Makefile.kmk
---- VirtualBox-6.1.2/src/VBox/Devices/Makefile.kmk	2020-01-13 11:51:54.000000000 +0100
-+++ VirtualBox-6.1.0/src/VBox/Devices/Makefile.kmk	2019-12-10 18:50:52.000000000 +0100
-@@ -1267,7 +1248,7 @@
- 	$(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,)
+diff -up VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk.1~ VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk
+--- VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk.1~	2023-04-20 20:40:15.803469429 +0200
++++ VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk	2023-04-20 20:40:50.679760846 +0200
+@@ -1433,7 +1433,7 @@ if !defined(VBOX_ONLY_EXTPACKS) && "$(in
+  	$(if $(VBOX_WITH_NAT_SERVICE),VBOX_WITH_NAT_SERVICE,)
   ServicesR0_SOURCES   = \
-  	Network/SrvIntNetR0.cpp \
--#        $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/SrvPciRawR0.cpp,)
-+        $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/SrvPciRawR0.cpp,)
+  	Network/SrvIntNetR0.cpp
+- #        $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/SrvPciRawR0.cpp,)
++#        $(if $(VBOX_WITH_PCI_PASSTHROUGH),Bus/SrvPciRawR0.cpp,)
   Network/SrvIntNetR0.cpp_CXXFLAGS := $(if-expr $(KBUILD_TARGET) == "win",,$(VBOX_GCC_Wno-array_bounds))
  
  
diff --git a/VirtualBox-7.1.4-unload-kvm.patch b/VirtualBox-7.1.4-unload-kvm.patch
new file mode 100644
index 0000000..f1ad637
--- /dev/null
+++ b/VirtualBox-7.1.4-unload-kvm.patch
@@ -0,0 +1,28 @@
+diff -up VirtualBox-7.1.4/src/VBox/Installer/linux/VBox.sh.omv~ VirtualBox-7.1.4/src/VBox/Installer/linux/VBox.sh
+--- VirtualBox-7.1.4/src/VBox/Installer/linux/VBox.sh.omv~	2024-11-21 01:11:45.133644133 +0100
++++ VirtualBox-7.1.4/src/VBox/Installer/linux/VBox.sh	2024-11-21 01:19:00.778717214 +0100
+@@ -61,6 +61,24 @@ else
+     exit 1
+ fi
+ 
++### As of kernel 6.12.0, the KVM module initializes itself on load,
++### preventing vboxdrv from grabbing the CPU extensions for itself
++### For newer kernels, irqbypass (also autoloaded) depends on kvm
++CONFLICTING_MODULES=""
++if lsmod |grep -q irqbypass; then
++	CONFLICTING_MODULES="$CONFLICTING_MODULES irqbypass"
++fi
++if lsmod |grep -q kvm_amd; then
++	CONFLICTING_MODULES="$CONFLICTING_MODULES kvm_amd"
++fi
++if lsmod |grep -q kvm_intel; then
++	CONFLICTING_MODULES="$CONFLICTING_MODULES kvm_intel"
++fi
++if lsmod |grep -q kvm; then
++	CONFLICTING_MODULES="$CONFLICTING_MODULES kvm"
++fi
++[ -n "$CONFLICTING_MODULES" ] && pkexec rmmod $CONFLICTING_MODULES
++
+ # Note: This script must not fail if the module was not successfully installed
+ #       because the user might not want to run a VM but only change VM params!
+ 
diff --git a/vbox-1024x768-instead-of-800x600.patch b/vbox-1024x768-instead-of-800x600.patch
new file mode 100644
index 0000000..0f8f348
--- /dev/null
+++ b/vbox-1024x768-instead-of-800x600.patch
@@ -0,0 +1,15 @@
+diff -up VirtualBox-7.2.0_BETA2/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp.3~ VirtualBox-7.2.0_BETA2/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
+--- VirtualBox-7.2.0_BETA2/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp.3~	2025-06-26 14:49:53.000000000 +0200
++++ VirtualBox-7.2.0_BETA2/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp	2025-06-29 23:24:29.654689949 +0200
+@@ -963,9 +963,9 @@ void UIMachineView::sltHandleActionTrigg
+     {
+         /* Defaults: */
+         if (!uWidth)
+-            uWidth = 800;
++            uWidth = 1024;
+         if (!uHeight)
+-            uHeight = 600;
++            uHeight = 768;
+ 
+         /* Update current window size limitations: */
+         setMaximumGuestSize(QSize((int)uWidth, (int)uHeight));
diff --git a/vbox-7.1.6-workaround-doc-build-failure.patch b/vbox-7.1.6-workaround-doc-build-failure.patch
new file mode 100644
index 0000000..73a94d4
--- /dev/null
+++ b/vbox-7.1.6-workaround-doc-build-failure.patch
@@ -0,0 +1,11 @@
+diff -urN VirtualBox-7.1.6/doc/manual/en_US/dita/UserManual.ditamap VirtualBox-7.1.4/doc/manual/en_US/dita/UserManual.ditamap
+--- VirtualBox-7.1.6/doc/manual/en_US/dita/UserManual.ditamap	2025-01-21 13:41:16.000000000 +0100
++++ VirtualBox-7.1.4/doc/manual/en_US/dita/UserManual.ditamap	2024-10-10 18:55:33.000000000 +0200
+@@ -615,7 +615,6 @@
+          <topicref href="topics/security-model.dita"/>
+          <topicref href="topics/secure-config-vms.dita">
+             <topicref href="topics/security-networking.dita"/>
+-        <topicref href="topics/security-of-remote-vms.dita"/>
+             <topicref href="topics/security-vrdp-auth.dita"/>
+             <topicref href="topics/security_clipboard.dita"/>
+             <topicref href="topics/security-shared-folders.dita"/>
diff --git a/vbox-7.2.2-curl-8.16.patch b/vbox-7.2.2-curl-8.16.patch
new file mode 100644
index 0000000..34e4b07
--- /dev/null
+++ b/vbox-7.2.2-curl-8.16.patch
@@ -0,0 +1,62 @@
+diff -up VirtualBox-7.2.6/src/VBox/Runtime/generic/http-curl.cpp.25~ VirtualBox-7.2.6/src/VBox/Runtime/generic/http-curl.cpp
+--- VirtualBox-7.2.6/src/VBox/Runtime/generic/http-curl.cpp.25~	2026-01-27 13:58:06.000000000 +0100
++++ VirtualBox-7.2.6/src/VBox/Runtime/generic/http-curl.cpp	2026-02-09 18:05:20.887234314 +0100
+@@ -699,7 +699,7 @@ static int rtHttpUpdateAutomaticProxyDis
+     Log(("rtHttpUpdateAutomaticProxyDisable: pThis=%p\n", pThis));
+ 
+     AssertReturn(curl_easy_setopt(pThis->pCurl, CURLOPT_PROXYTYPE,   (long)CURLPROXY_HTTP) == CURLE_OK, VERR_INTERNAL_ERROR_2);
+-    pThis->enmProxyType = CURLPROXY_HTTP;
++    pThis->enmProxyType = static_cast<curl_proxytype>(CURLPROXY_HTTP);
+ 
+     AssertReturn(curl_easy_setopt(pThis->pCurl, CURLOPT_PROXYPORT,             (long)1080) == CURLE_OK, VERR_INTERNAL_ERROR_2);
+     pThis->uProxyPort = 1080;
+@@ -874,7 +874,7 @@ static int rtHttpConfigureProxyFromUrl(P
+             long     enmProxyType;
+             if (RTUriIsSchemeMatch(pszProxyUrl, "http"))
+             {
+-                enmProxyType  = CURLPROXY_HTTP;
++                enmProxyType  = static_cast<curl_proxytype>(CURLPROXY_HTTP);
+                 if (uProxyPort == UINT32_MAX)
+                     uProxyPort = 80;
+             }
+@@ -882,7 +882,7 @@ static int rtHttpConfigureProxyFromUrl(P
+ # if CURL_AT_LEAST_VERSION(7,52,0)
+             else if (RTUriIsSchemeMatch(pszProxyUrl, "https"))
+             {
+-                enmProxyType  = CURLPROXY_HTTPS;
++                enmProxyType  = static_cast<curl_proxytype>(CURLPROXY_HTTPS);
+                 if (uProxyPort == UINT32_MAX)
+                     uProxyPort = 443;
+             }
+@@ -890,17 +890,17 @@ static int rtHttpConfigureProxyFromUrl(P
+ #endif
+             else if (   RTUriIsSchemeMatch(pszProxyUrl, "socks4")
+                      || RTUriIsSchemeMatch(pszProxyUrl, "socks"))
+-                enmProxyType = CURLPROXY_SOCKS4;
++                enmProxyType = static_cast<curl_proxytype>(CURLPROXY_SOCKS4);
+             else if (RTUriIsSchemeMatch(pszProxyUrl, "socks4a"))
+-                enmProxyType = CURLPROXY_SOCKS4A;
++                enmProxyType = static_cast<curl_proxytype>(CURLPROXY_SOCKS4A);
+             else if (RTUriIsSchemeMatch(pszProxyUrl, "socks5"))
+-                enmProxyType = CURLPROXY_SOCKS5;
++                enmProxyType = static_cast<curl_proxytype>(CURLPROXY_SOCKS5);
+             else if (RTUriIsSchemeMatch(pszProxyUrl, "socks5h"))
+-                enmProxyType = CURLPROXY_SOCKS5_HOSTNAME;
++                enmProxyType = static_cast<curl_proxytype>(CURLPROXY_SOCKS5_HOSTNAME);
+             else
+             {
+                 fUnknownProxyType = true;
+-                enmProxyType = CURLPROXY_HTTP;
++                enmProxyType = static_cast<curl_proxytype>(CURLPROXY_HTTP);
+                 if (uProxyPort == UINT32_MAX)
+                     uProxyPort = 8080;
+             }
+@@ -2094,7 +2094,7 @@ RTR3DECL(int) RTHttpSetProxy(RTHTTP hHtt
+     if (!pcszProxy)
+         return rtHttpUpdateAutomaticProxyDisable(pThis);
+ 
+-    return rtHttpUpdateProxyConfig(pThis, CURLPROXY_HTTP, pcszProxy, uPort ? uPort : 1080, pcszProxyUser, pcszProxyPwd);
++    return rtHttpUpdateProxyConfig(pThis, static_cast<curl_proxytype>(CURLPROXY_HTTP), pcszProxy, uPort ? uPort : 1080, pcszProxyUser, pcszProxyPwd);
+ }
+ 
+ 
diff --git a/virtualbox-6.1.32-python3.11.patch b/virtualbox-6.1.32-python3.11.patch
deleted file mode 100644
index b28718f..0000000
--- a/virtualbox-6.1.32-python3.11.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up VirtualBox-6.1.36/configure.3~ VirtualBox-6.1.36/configure
---- VirtualBox-6.1.36/configure.3~	2022-07-20 14:45:45.256281324 +0200
-+++ VirtualBox-6.1.36/configure	2022-07-20 14:46:53.634567672 +0200
-@@ -2027,7 +2027,7 @@ extern "C" int main(void)
- }
- EOF
-   found=
--  SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m python3.10 python3.10m"
-+  SUPPYTHONLIBS="python2.7 python2.6 python3.1 python3.2 python3.3 python3.4 python3.4m python3.5 python3.5m python3.6 python3.6m python3.7 python3.7m python3.8 python3.8m python3.9 python3.9m python3.10 python3.10m python3.11 python3.11m"
-   for p in $PYTHONDIR; do
-     for d in $SUPPYTHONLIBS; do
-       for b in lib/x86_64-linux-gnu lib/i386-linux-gnu lib64 lib/64 lib; do
diff --git a/virtualbox-7.0.8-libstdc++13.patch b/virtualbox-7.0.8-libstdc++13.patch
new file mode 100644
index 0000000..191bdf6
--- /dev/null
+++ b/virtualbox-7.0.8-libstdc++13.patch
@@ -0,0 +1,11 @@
+diff -up VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h.omv~ VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h
+--- VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h.omv~	2023-04-25 18:02:48.709831851 +0200
++++ VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h	2023-04-25 18:02:58.378894612 +0200
+@@ -16,6 +16,7 @@
+ #include "util_likely.h"
+ #include "util_math.h"
+ 
++#include <cstdint>
+ #include <cstring>
+ #include <iterator>
+ #include <type_traits>
diff --git a/virtualbox-7.1.10-c23.patch b/virtualbox-7.1.10-c23.patch
new file mode 100644
index 0000000..5abe999
--- /dev/null
+++ b/virtualbox-7.1.10-c23.patch
@@ -0,0 +1,13 @@
+diff -up VirtualBox-7.1.10/include/iprt/types.h.omv~ VirtualBox-7.1.10/include/iprt/types.h
+--- VirtualBox-7.1.10/include/iprt/types.h.omv~	2025-06-06 21:29:06.874678096 +0200
++++ VirtualBox-7.1.10/include/iprt/types.h	2025-06-06 21:32:21.056426282 +0200
+@@ -280,6 +280,8 @@ typedef _Bool bool;
+ #    undef bool
+      typedef _Bool bool;
+ #   endif
++#  elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L
++#   include <stdbool.h>
+ #  else
+ #   undef bool /* see above netbsd explanation */
+ typedef _Bool bool;
+diff -up VirtualBox-7.1.10/include/iprt/types.h:.omv~ VirtualBox-7.1.10/include/iprt/types.h:
diff --git a/virtualbox-fix-build-with-gcc-14.patch b/virtualbox-fix-build-with-gcc-14.patch
new file mode 100644
index 0000000..da3670a
--- /dev/null
+++ b/virtualbox-fix-build-with-gcc-14.patch
@@ -0,0 +1,23 @@
+diff -up VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/Makefile.kmk.omv~ VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/Makefile.kmk
+--- VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/Makefile.kmk.omv~	2024-09-08 15:41:48.830631510 +0200
++++ VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/Makefile.kmk	2024-09-08 15:41:58.000724843 +0200
+@@ -142,6 +142,7 @@ endif
+ 	-Wall \
+ 	-W \
+ 	-Wformat-nonliteral \
++	-Wno-array-bounds \
+ 	$(VBOX_GCC_fno-stack-protector) \
+ 	$(VBOX_GCC_fno-dwarf2-cfi-asm) \
+ 	$(VBOX_GCC_Wno-address)
+diff -up VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/src/arch/i386/Makefile.omv~ VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/src/arch/i386/Makefile
+--- VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/src/arch/i386/Makefile.omv~	2024-09-08 15:42:07.060817062 +0200
++++ VirtualBox-7.1.0_BETA2/src/VBox/Devices/PC/ipxe/src/arch/i386/Makefile	2024-09-08 15:42:21.800967112 +0200
+@@ -48,6 +48,8 @@ endif
+ #
+ CFLAGS		+= -freg-struct-return
+ 
++CFLAGS += -Wno-array-bounds
++
+ # Force 32-bit code even on an x86-64 machine
+ #
+ CFLAGS		+= -m32
diff --git a/virtualbox-fix-modules-rebuild-command.patch b/virtualbox-fix-modules-rebuild-command.patch
index a32d540..454f780 100644
--- a/virtualbox-fix-modules-rebuild-command.patch
+++ b/virtualbox-fix-modules-rebuild-command.patch
@@ -6,7 +6,7 @@ diff -up VirtualBox-6.0.6/src/VBox/Installer/linux/VBox.sh.0001~ VirtualBox-6.0.
           load. Please recompile the kernel module and install it by
  
 -           sudo /sbin/vboxconfig
-+           sudo dnf --refresh install kernel-release-desktop-latest
++           sudo dnf --refresh install kernel-desktop
  
           You will not be able to start VMs until this problem is fixed.
  EOF
@@ -15,13 +15,13 @@ diff -up VirtualBox-6.0.6/src/VBox/Installer/linux/VBox.sh.0001~ VirtualBox-6.0.
  
             sudo /sbin/vboxconfig
 +           or
-+           sudo dnf --refresh install kernel-release-desktop-latest
++           sudo dnf --refresh install kernel-desktop
  
           and if that is not successful, try to re-install the package.
  
-diff -up VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VM.cpp.0001~ VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VM.cpp
---- VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VM.cpp.0001~	2019-04-17 03:14:10.363183984 +0200
-+++ VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VM.cpp	2019-04-17 03:18:48.068170511 +0200
+diff -up VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VMR3.cpp.0001~ VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VMR3.cpp
+--- VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VMR3.cpp.0001~	2019-04-17 03:14:10.363183984 +0200
++++ VirtualBox-6.0.6/src/VBox/VMM/VMMR3/VMR3.cpp	2019-04-17 03:18:48.068170511 +0200
 @@ -274,9 +274,9 @@ VMMR3DECL(int)   VMR3Create(uint32_t cCp
                      pszError = N_("One of the kernel modules was not successfully loaded. Make sure "
                                    "that VirtualBox is correctly installed, and if you are using EFI "
diff --git a/virtualbox-no-prehistoric-xfree86.patch b/virtualbox-no-prehistoric-xfree86.patch
index ee21f91..640a804 100644
--- a/virtualbox-no-prehistoric-xfree86.patch
+++ b/virtualbox-no-prehistoric-xfree86.patch
@@ -1,30 +1,33 @@
---- VirtualBox-5.2.0/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp.0022~	2017-10-18 09:06:44.000000000 +0200
-+++ VirtualBox-5.2.0/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp	2017-10-31 13:31:27.646597617 +0100
-@@ -36,16 +36,14 @@
- #if defined(VBOX_VBGLR3_XFREE86)
- extern "C" {
- # define XFree86LOADER
+diff -up VirtualBox-7.0.16/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp.12~ VirtualBox-7.0.16/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
+--- VirtualBox-7.0.16/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp.12~	2024-04-17 14:33:26.496478608 +0200
++++ VirtualBox-7.0.16/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp	2024-04-17 15:27:20.345432280 +0200
+@@ -43,22 +43,11 @@
+ #include <iprt/assert.h>
+ #include <iprt/log.h>
+ #include <iprt/mem.h>
+-#if defined(VBOX_VBGLR3_XFREE86)
+-extern "C" {
+-# define XFree86LOADER
+-# if RT_GNUC_PREREQ(13,0) /* cmath gets dragged in and the c++/13/cmath header is allergic to -ffreestanding.  */
+-#  define _GLIBCXX_INCLUDE_NEXT_C_HEADERS
+-# endif
 -# include <xf86_ansic.h>
- # undef size_t
- }
+-# undef size_t
+-}
 -#else
--# include <stdarg.h>
--# include <stdlib.h>
--# define xalloc malloc
--# define xfree free
--extern "C" void ErrorF(const char *f, ...);
- #endif
-+#include <stdarg.h>
-+#include <stdlib.h>
-+#define xalloc malloc
-+#define xfree free
-+extern "C" void ErrorF(const char *f, ...);
+ # include <stdarg.h>
+ # include <stdlib.h>
+ # define xalloc malloc
+ # define xfree free
+ extern "C" void ErrorF(const char *f, ...);
+-#endif
  
  RTDECL(void)    RTAssertMsg1Weak(const char *pszExpr, unsigned uLine, const char *pszFile, const char *pszFunction)
  {
---- VirtualBox-5.2.0/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h.0022~	2017-10-18 09:06:50.000000000 +0200
-+++ VirtualBox-5.2.0/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h	2017-10-31 13:36:20.635971573 +0100
-@@ -52,7 +52,7 @@ RT_C_DECLS_BEGIN
+diff -up VirtualBox-7.0.16/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h.12~ VirtualBox-7.0.16/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h
+--- VirtualBox-7.0.16/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h.12~	2024-04-16 13:58:16.000000000 +0200
++++ VirtualBox-7.0.16/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h	2024-04-17 14:33:26.496478608 +0200
+@@ -59,7 +59,7 @@ RT_C_DECLS_BEGIN
  RT_C_DECLS_END
  #endif  /* defined(IN_XF86_MODULE) && !defined(NO_ANSIC) */
  #define __STDC_LIMIT_MACROS  /* define *INT*_MAX on C++ too. */
diff --git a/virtualbox.spec b/virtualbox.spec
index a05d22d..4d43a41 100644
--- a/virtualbox.spec
+++ b/virtualbox.spec
@@ -1,7 +1,12 @@
+# Useful for debugging build failures, vbox make output tends
+# to be quite garbled
+#global _smp_mflags -j1
+
+#define beta BETA2
 %define kname vboxdrv
 %define oname VirtualBox
-%define srcname %{oname}-%{version}%{?beta:_%{beta}}
-%define distname %{oname}-%{version}%{?beta:_%{beta}}
+%define srcname %{oname}-%(echo %{version}|sed -e 's,~,_,g')
+%define distname %{oname}-%(echo %{version}|sed -e 's,~,_,g')
 %define pkgver %{ver}
 
 %define vboxlibdir %{_prefix}/lib/%{name}
@@ -22,6 +27,9 @@
 # error: Missing # define COM __gnu_lto_v1
 %define _disable_lto 1
 
+# (tpg) reduce the opt flags, especially for znver1
+%global optflags %{optflags} -Os -Wno-error
+
 %bcond_with java
 %bcond_with clang
 %bcond_with docs
@@ -29,20 +37,29 @@
 ## (crazy) fixem that is always true these days
 %bcond_without additions
 %bcond_without vnc_ext_pack
+# FIXME firmware currently doesn't build because of gcc 15.x strictness
+# Re-enable building firmware from source when this is fixed.
 %bcond_with firmware
 
+#define svn 173562
+
 Summary:	A general-purpose full virtualizer for x86 hardware
 Name:		virtualbox
 # WARNING: WHEN UPDATING THIS PACKAGE, ALWAYS REBUILD THE
-# kernel-release AND kernel-rc PACKAGES TO MAKE SURE MODULES
+# kernel AND kernel-rc PACKAGES TO MAKE SURE MODULES
 # AND USERSPACE ARE IN SYNC
-Version:	7.0.0
+Version:	7.2.8%{?beta:~%{beta}}%{?svn:~%{svn}}
 Release:	1
 License:	GPLv2
 Group:		Emulators
-Url:		http://www.virtualbox.org/
-Source0:	http://download.virtualbox.org/virtualbox/%(echo %{version} |sed -e 's,[a-z]*,,g')/%{srcname}.tar.bz2
-Source1:	http://download.virtualbox.org/virtualbox/%(echo %{version} |sed -e 's,[a-z]*,,g')/UserManual.pdf
+Url:		https://www.virtualbox.org/
+%if 0%{?svn:1}
+Source0:	https://github.com/VirtualBox/virtualbox/archive/refs/heads/VBox-%(echo %{version}|cut -d. -f1-2).tar.gz
+Source2:	https://github.com/VirtualBox/kbuild/archive/refs/heads/main.tar.gz#/kbuild.tar.gz
+%else
+Source0:	http://download.virtualbox.org/virtualbox/%(echo %{version} |sed -e 's,[a-z]*,,g;s,~.*,,')%{?beta:_%{beta}}/%{srcname}.tar.bz2
+%endif
+Source1:	http://download.virtualbox.org/virtualbox/%(echo %{version} |sed -e 's,[a-z]*,,g;s,~.*,,')%{?beta:_%{beta}}/UserManual.pdf
 Source3:	virtualbox-tmpfiles.conf
 Source4:	60-vboxadd.perms
 Source5:	vboxadd.service
@@ -54,7 +71,7 @@ Source21:	os_openmandriva_64.png
 %if %{with firmware}
 # Can't use system openssl because we built OpenSSL for UEFI, not
 # for Linux
-%define openssl 1.1.1k
+%define openssl 3.0.16
 Source50:	https://www.openssl.org/source/openssl-%{openssl}.tar.gz
 %endif
 Source100:	virtualbox.rpmlintrc
@@ -67,15 +84,18 @@ Source100:	virtualbox.rpmlintrc
 Patch0:		VirtualBox-6.1.2-revert-removal-of-vital-symbols.patch
 # Update docs on kernel modules
 Patch1:		virtualbox-fix-modules-rebuild-command.patch
-Patch2:		virtualbox-6.1.32-python3.11.patch
+# 800x600 is too small to see the entire OM installer...
+Patch2:		vbox-1024x768-instead-of-800x600.patch
 # Fix docs to give the right mount command for the in-tree version of vboxsf
 Patch3:		VirtualBox-4.1.8-futex.patch
 Patch4:		virtualbox-fix-vboxadd-req.patch
-#Patch5:		vbox-6.1.4-gcc10.patch
+#Patch5:		virtualbox-7.0.8-libstdc++13.patch
 # We build the kernel modules in-tree -- adjust the Makefiles to support it
 Patch6:		vbox-6.0.0-kernel-modules-in-tree.patch
 # (tmb) disable update notification (OpenSuSe)
 #Patch7:		VirtualBox-4.3.0-noupdate-check.patch
+# Workaround for doc build failure
+Patch7:		vbox-7.1.6-workaround-doc-build-failure.patch
 # https://git.archlinux.org/svntogit/community.git/plain/trunk/101-vboxsf-automount.patch?h=packages/virtualbox
 Patch8:		101-vboxsf-automount.patch
 
@@ -85,6 +105,7 @@ Patch8:		101-vboxsf-automount.patch
 Patch9:		VirtualBox-5.0.0_BETA3-dont-check-for-mkisofs-or-makeself.patch
 # Default to a reasonable size in guest additions
 Patch10:	VirtualBox-6.1.12a-default-to-1024x768.patch
+Patch11:	virtualbox-fix-build-with-gcc-14.patch
 #Patch11:	vbox-6.1.10-compile.patch
 #Patch12:	vbox-6.1.24-python-syntax.patch
 
@@ -95,6 +116,7 @@ Patch24:	VirtualBox-5.0.18-xserver_guest_xorg19.patch
 #Patch25:	fix-vboxadd-xclient.patch
 #Patch26:	vbox-6.1.6-firmware-build-python3.9.patch
 # "Borrowed" from Debian https://salsa.debian.org/pkg-virtualbox-team/virtualbox/blob/master/debian/patches
+# https://sources.debian.org/patches/virtualbox/
 #Patch103:	06-xsession.patch
 Patch104:	07-vboxnetflt-reference.patch
 Patch105:	12-make-module.patch
@@ -106,33 +128,41 @@ Patch111:	32-disable-guest-version-check.patch
 Patch112:	35-libvdeplug-soname.patch
 # Fixes patch 107
 #Patch113:	disable-update-manager-for-real.patch
+Patch114:	VirtualBox-7.1.4-unload-kvm.patch
 # (tpg) add support for OpenMandriva
 # (crazy) this should be prepared for upstream..
 #Patch200:	VirtualBox-add-support-for-OpenMandriva.patch
 # (tpg) do not crash on Wayland
 Patch201:	VirtualBox-5.2.16-use-xcb-on-wayland.patch
 Patch202:	vbox-6.0.6-find-java-modules.patch
+Patch203:	virtualbox-7.1.10-c23.patch
+Patch204:	vbox-7.2.2-curl-8.16.patch
 # From FrugalWare
 #Patch300:	https://gitweb.frugalware.org/frugalware-current/raw/master/source/xapps-extra/virtualbox/fix-EFI-boot.patch
 #Patch301:	https://gitweb.frugalware.org/frugalware-current/raw/67d0618e5c19f8b44ebb6eab78c56048b412bdc3/source/xapps-extra/virtualbox/firmware-build-fixes.patch
 ExclusiveArch:	%{x86_64}
 # (tpg) 2019-10-16 vbox is not ready for LLVM/clang
+BuildRequires:	autoconf
+BuildRequires:	automake
+BuildRequires:	slibtool
+BuildRequires:	make
 BuildRequires:	gcc-c++
-BuildRequires:	systemd-macros
+BuildRequires:	systemd-rpm-macros
 BuildRequires:	dev86
 BuildRequires:	gawk
 BuildRequires:	gsoap
 BuildRequires:	acpica
 BuildRequires:	yasm
-BuildRequires:	nasm
 BuildRequires:	vde2
 BuildRequires:	glslang
 BuildRequires:	pkgconfig(xorg-server)
+BuildRequires:	which
 %if %{with firmware}
 BuildRequires:	nasm
 %endif
 %if %{with java}
 BuildRequires:	jdk-current
+BuildRequires:	java-18-openjdk-module-java.logging
 BuildRequires:	javax.activation
 BuildRequires:	javax.xml.bind
 %endif
@@ -152,18 +182,19 @@ BuildRequires:	pkgconfig(libIDL-2.0)
 BuildRequires:	pkgconfig(libpulse)
 BuildRequires:	pkgconfig(libvncserver)
 BuildRequires:	pkgconfig(python)
-BuildRequires:	qt5-qttools
-BuildRequires:	qt5-linguist-tools
-BuildRequires:	pkgconfig(Qt5Core)
-BuildRequires:	pkgconfig(Qt5Gui)
-BuildRequires:	pkgconfig(Qt5Widgets)
-BuildRequires:	pkgconfig(Qt5X11Extras)
-BuildRequires:	pkgconfig(Qt5PrintSupport)
-BuildRequires:	pkgconfig(Qt5OpenGL)
-BuildRequires:	pkgconfig(Qt5DBus)
-BuildRequires:	pkgconfig(Qt5Xml)
-BuildRequires:	pkgconfig(Qt5Help)
+BuildRequires:	qt6-qttools
+BuildRequires:	qt6-qttools-linguist-tools
+BuildRequires:	pkgconfig(Qt6Core)
+BuildRequires:	pkgconfig(Qt6Gui)
+BuildRequires:	pkgconfig(Qt6Widgets)
+BuildRequires:	pkgconfig(Qt6PrintSupport)
+BuildRequires:	pkgconfig(Qt6StateMachine)
+BuildRequires:	pkgconfig(Qt6OpenGL)
+BuildRequires:	pkgconfig(Qt6DBus)
+BuildRequires:	pkgconfig(Qt6Xml)
+BuildRequires:	pkgconfig(Qt6Help)
 BuildRequires:	pkgconfig(sdl)
+BuildRequires:	pkgconfig(sdl2)
 BuildRequires:	pkgconfig(xcursor)
 BuildRequires:	pkgconfig(xcb)
 BuildRequires:	pkgconfig(xinerama)
@@ -182,6 +213,9 @@ BuildRequires:	pkgconfig(libpng)
 BuildRequires:	flex
 BuildRequires:	bison
 BuildRequires:	libxml2-utils
+# For now -- current versions of pylint find lots of additional
+# errors that cause the build to abort
+BuildConflicts:	pylint python-pylint
 # FIXME not sure why, but vbox checks if there's a working
 # 32-bit compiler. Probably for the BIOS?
 # But it doesn't use -nostdlib or so, so we need to BR
@@ -198,6 +232,8 @@ Requires(post,preun,postun):	rpm-helper
 #Requires:	kmod(vboxdrv) = %{version}
 Conflicts:	dkms-%{name} < 5.0.24-1
 
+BuildRequires:	rpm-helper
+
 # Force kernel-headers from the release package - kernel-rc headers cause
 # /usr/include/linux/usbdevice_fs.h:134:41: error: flexible array member 'usbdevfs_urb::iso_frame_desc' not at end of 'struct USBPROXYURBLNX'
 BuildRequires:	kernel-headers
@@ -264,7 +300,12 @@ This package contains the user manual PDF file for %{name}.
 %endif
 
 %prep
-%autosetup -p1 -n %(echo %{distname} |sed -e 's,[a-z]*$,,')
+%autosetup -p1 -n %{?svn:virtualbox-VBox-%(echo %{version}|cut -d. -f1-2)}%{!?svn:%(echo %{distname} |sed -e 's,[a-z]*$,,')}
+%if 0%{?svn:1}
+tar xf %{S:2}
+rmdir kBuild
+mv kbuild-main kBuild
+%endif
 
 %if %{with java}
 . %{_sysconfdir}/profile.d/90java.sh
@@ -279,8 +320,7 @@ cp -a %{SOURCE20} %{SOURCE21} src/VBox/Frontends/VirtualBox/images/
 
 # Remove prebuilt binary tools
 find -name '*.py[co]' -delete
-rm -r src/VBox/Additions/WINNT
-rm -r src/VBox/Additions/os2
+rm -r src/VBox/Additions/{win,os2,darwin,solaris,freebsd,haiku}
 # Remove bundle X11 sources and some lib sources, before patching.
 rm -rf src/VBox/Additions/x11/x11include
 rm -rf src/VBox/Additions/x11/x11stubs
@@ -312,11 +352,12 @@ SDK_VBOX_VPX_LIBS:=vpx
 SDK_VBOX_LIBCURL_INCS:=%{_includedir}/curl
 SDK_VBOX_LIBCURL_LIBS:=curl
 VBOX_WITH_TESTCASES:=0
+VBOX_WITH_TESTSUITE:=0
 # FIXME re-enable when fixed upstream
 #VBOX_WITH_PCI_PASSTHROUGH:=1
 VBOX_WITH_VALIDATIONKIT:=0
 %if %{with java}
-VBOX_JAVA_HOME:=%{java_home}
+VBOX_JAVA_HOME:=${JAVA_HOME}
 %else
 VBOX_JAVA_HOME:=
 %endif
@@ -337,8 +378,15 @@ VBOX_PRODUCT=VirtualBox
 %if %{with firmware}
 VBOX_EFI_FIRMWARE_EFI_MODULES_KMK_INCLUDED := 0
 %endif
+VBOX_WITH_VBOX_IMG := 1
+VBOX_WITH_VBOXIMGMOUNT := 1
+VBOX_WITH_VBOXSDL := 1
+VBOX_GCC_WERR:=
 EOF
 
+# vbox code is dirty as ****, but tries to force -Werror...
+sed -i -e 's,-Werror$,,;s,-Werror ,,g' Config.kmk src/VBox/VMM/Makefile.kmk src/VBox/Devices/EFI/Firmware/BaseTools/Conf/tools_def.template src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Makefiles/header.makefile src/VBox/Installer/linux/Makefile-header.gmk src/VBox/Devices/EFI/Firmware/BaseTools/Conf/tools_def.template src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/Makefiles/header.makefile src/VBox/Installer/linux/Makefile-footer.gmk
+
 # (tpg) 2019-10-16 vbox is not ready for LLVM/clang
 %if %{with clang}
 sed -i -e 's#CC="gcc"#CC="clang"#g' configure
@@ -350,7 +398,7 @@ sed -i -e 's,-mpreferred-stack-boundary=2,,g' Config.kmk src/VBox/Devices/PC/ipx
 #sed -i -e 's#-fpermissive##g' -e 's#-finline-limit=8000##g' Config.kmk
 
 %build
-# FIXME: gold linker dies with internal error in segment_precedes, at ../../gold/layout.cc:3250
+# FIXME: lld: src/VBox/Devices/PC/ipxe/src/arch/x86/scripts/pcbios.lds:267: at least one side of the expression must be absolute
 mkdir -p BFD
 ln -sf /usr/bin/ld.bfd BFD/ld
 export PATH=$PWD/BFD:$PATH
@@ -358,11 +406,11 @@ export LIBPATH_LIB="%{_lib}"
 
 # remove fPIC to avoid causing issues
 %if %{with clang}
-echo VBOX_GCC_OPT="$(echo %{optflags} $(pkg-config --cflags pixman-1) | sed -e 's/-fPIC//' -e 's/-Werror=format-security//') -rtlib=libgcc" >> LocalConfig.kmk
+echo VBOX_GCC_OPT="$(echo %{optflags} | sed -e 's/-fPIC//' -e 's/-Werror=format-security//') -isystem %{_libdir}/gcc/x86_64-openmandriva-linux-gnu/15.1.0/include -rtlib=libgcc" >> LocalConfig.kmk
 %else
-echo VBOX_GCC_OPT="$(echo %{optflags} $(pkg-config --cflags pixman-1) | sed -e 's/-fPIC//' -e 's/-Werror=format-security//')" >> LocalConfig.kmk
+echo VBOX_GCC_OPT="$(echo %{optflags} | sed -e 's/-fPIC//' -e 's/-Werror=format-security//') -Wno-error" >> LocalConfig.kmk
 %endif
-echo TOOL_GCC_LDFLAGS="%{ldflags} -fuse-ld=bfd" >> LocalConfig.kmk
+echo TOOL_GCC_LDFLAGS="%{build_ldflags} -fuse-ld=bfd" >> LocalConfig.kmk
 
 # (crazy) /opt is the wrong location
 #sed -i -e 's|opt/VirtualBox|usr/share/virtualbox|g' src/VBox/RDP/client-1.8.4/Makefile.kmk
@@ -376,7 +424,6 @@ echo TOOL_GCC_LDFLAGS="%{ldflags} -fuse-ld=bfd" >> LocalConfig.kmk
     --disable-java \
 %endif
     --disable-kmods \
-    --enable-qt5 \
 %if %{without docs}
     --disable-docs \
 %endif
@@ -393,10 +440,9 @@ export PATH=$PWD/BFD:$PATH
 	rm src/VBox/Devices/EFI/FirmwareBin/*
 	cd src/VBox/Devices/EFI/Firmware
 	. ./edksetup.sh
-	cd CryptoPkg/Library/OpensslLib/openssl
-	tar x --strip-components=1 -f %{S:50}
-	cd ..
-	perl process_files.pl
+	cd CryptoPkg/Library/OpensslLib
+	tar xf %{S:50}
+	mv openssl-3* openssl
 	cd ../../..
 	kmk
 	cd "${TOP}"
@@ -526,8 +572,8 @@ install -m755 src/VBox/Additions/x11/Installer/98vboxadd-xclient %{buildroot}%{_
 install -m644 src/VBox/Additions/x11/Installer/vboxclient.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/vboxclient.desktop
 
 cd out/%{vbox_platform}/release/bin/additions
-  install -d %{buildroot}/sbin %{buildroot}%{_sbindir}  %{buildroot}%{_unitdir}
-  install -m755 mount.vboxsf %{buildroot}/sbin/mount.vboxsf
+  install -d %{buildroot}%{_sbindir}  %{buildroot}%{_unitdir}
+  install -m755 mount.vboxsf %{buildroot}%{_sbindir}/
   install -m755 VBoxService %{buildroot}%{_sbindir}
   install -m755 VBoxClient %{buildroot}%{_bindir}
   install -m755 VBoxControl %{buildroot}%{_bindir}
@@ -559,8 +605,7 @@ EOF
 cd -
 
 # install PAM module:
-install -D -m755 out/%{vbox_platform}/release/bin/additions/pam_vbox.so %{buildroot}/%{_lib}/security/pam_vbox.so
-
+install -D -m755 out/%{vbox_platform}/release/bin/additions/pam_vbox.so %{buildroot}%{_libdir}/security/pam_vbox.so
 %endif
 
 # install mime types
@@ -598,13 +643,13 @@ install -m644 -D %{SOURCE3} %{buildroot}%{_tmpfilesdir}/%{name}.conf
 %if %{with additions}
 # Replace the vboxsf mount wrapper with one that works for
 # the in-tree version of the kernel module
-mkdir -p %{buildroot}/sbin
-cat >%{buildroot}/sbin/mount.vboxsf <<'EOF'
+mkdir -p %{buildroot}%{_sbindir}
+cat >%{buildroot}%{_sbindir}/mount.vboxsf <<'EOF'
 #!/bin/bash
 name=${1#$PWD/}; shift
 exec /bin/mount -cit vboxsf "$name" "$@"
 EOF
-chmod 0755 %{buildroot}/sbin/mount.vboxsf
+chmod 0755 %{buildroot}%{_sbindir}/mount.vboxsf
 %endif
 
 %post
@@ -651,20 +696,21 @@ done
 %{vboxlibdir}/dtrace
 %{vboxlibdir}/components
 %{vboxlibdir}/*.so
+%{vboxlibdir}/.autoreg
+%{vboxlibdir}/VBoxEFI-*.fd
+%{vboxlibdir}/svn2git-vbox
+%{vboxlibdir}/iPxeBaseBin
 %{vboxlibdir}/UnattendedTemplates
 %{vboxlibdir}/VBoxAutostart
 %{vboxlibdir}/VBoxBalloonCtrl
 %{vboxlibdir}/VBoxBugReport
 %{vboxlibdir}/VBoxCpuReport
 %{vboxlibdir}/VBoxDTrace
-%{vboxlibdir}/VBoxEFI32.fd
-%{vboxlibdir}/VBoxEFI64.fd
 %{vboxlibdir}/VBoxExtPackHelperApp
 %{vboxlibdir}/VBoxManage
+%{vboxlibdir}/VBoxSDL
 %{vboxlibdir}/VBoxSVC
-%{vboxlibdir}/VBoxTestOGL
 %{vboxlibdir}/VBoxVMMPreload
-%{vboxlibdir}/VBoxXPCOMIPCD
 %{vboxlibdir}/VirtualBox
 %{vboxlibdir}/vboxshell.py
 %{vboxlibdir}/vboximg-mount
@@ -706,8 +752,8 @@ done
 
 %if %{with additions}
 %files guest-additions
-/%{_lib}/security/pam_vbox.so
-/sbin/mount.vboxsf
+%{_libdir}/security/pam_vbox.so
+%{_sbindir}/mount.vboxsf
 %{_presetdir}/86-virtualbox-guest-additions.preset
 %{_unitdir}/vboxadd.service
 %{_unitdir}/vboxdrmclient.service
@@ -721,7 +767,6 @@ done
 %{_sysconfdir}/xdg/autostart/*
 %{_sysconfdir}/modules-load.d/vbox-guest-additions.conf
 
-
 %files guest-kernel-module-sources
 %{_usr}/src/vbox*-%{version}-%{release}
 %endif
Not Available

Nobody has submitted a vote for this package yet. Go test it, and vote!