Merge pull request #311362 from FriedrichAltheide/virtualbox-7.0.18
virtualbox & virtualboxGuestAdditions: 7.0.14 -> 7.0.18
This commit is contained in:
commit
d5afab55a1
@ -32,11 +32,11 @@ let
|
||||
buildType = "release";
|
||||
# Use maintainers/scripts/update.nix to update the version and all related hashes or
|
||||
# change the hashes in extpack.nix and guest-additions/default.nix as well manually.
|
||||
virtualboxVersion = "7.0.14";
|
||||
virtualboxSha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
|
||||
virtualboxVersion = "7.0.18";
|
||||
virtualboxSha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
|
||||
|
||||
kvmPatchVersion = "20240502";
|
||||
kvmPatchHash = "sha256-KokIrrAoJutHzPg6e5YAJgDGs+nQoVjapmyn9kG5tV0=";
|
||||
kvmPatchVersion = "20240515";
|
||||
kvmPatchHash = "sha256-Kh/tlPScdf7CbEEpL54iqMpeUIdmnJL2r/mxnlEzLd0=";
|
||||
|
||||
# The KVM build is not compatible to VirtualBox's kernel modules. So don't export
|
||||
# modsrc at all.
|
||||
@ -135,8 +135,6 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
./qt-dependency-paths.patch
|
||||
# https://github.com/NixOS/nixpkgs/issues/123851
|
||||
./fix-audio-driver-loading.patch
|
||||
./libxml-2.12.patch
|
||||
./gcc-13.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -12,7 +12,7 @@ fetchurl rec {
|
||||
# Manually sha256sum the extensionPack file, must be hex!
|
||||
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
|
||||
# Checksums can also be found at https://www.virtualbox.org/download/hashes/${version}/SHA256SUMS
|
||||
let value = "42cb36fbf439a9ed28c95d2bbc718a0eac902225eb579c884c549af2e94be633";
|
||||
let value = "cab1abad478679fc34a0c5cb4a6d3566edc20e3c54cbed39c8e895d8cfad3ee2";
|
||||
in assert (builtins.stringLength value) == 64; value;
|
||||
|
||||
meta = {
|
||||
|
@ -1,35 +0,0 @@
|
||||
diff --git a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
index 8a9d15c0..260ebc5c 100644
|
||||
--- a/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
+++ b/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibRuntimeXF86.cpp
|
||||
@@ -46,6 +46,9 @@
|
||||
#if defined(VBOX_VBGLR3_XFREE86)
|
||||
extern "C" {
|
||||
# define XFree86LOADER
|
||||
+# ifdef 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
|
||||
}
|
||||
diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
index 2c5e9314..64890169 100644
|
||||
--- a/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_matrix.cpp
|
||||
@@ -1,3 +1,5 @@
|
||||
+#include <cstdint>
|
||||
+
|
||||
#include "util_matrix.h"
|
||||
|
||||
namespace dxvk {
|
||||
diff --git a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
index 77cdf294..9dcb4bf9 100644
|
||||
--- a/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
+++ b/src/libs/dxvk-native-1.9.2a/src/util/util_vector.h
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <iostream>
|
||||
|
||||
#include "util_bit.h"
|
@ -5,7 +5,7 @@ let
|
||||
in
|
||||
fetchurl {
|
||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||
sha256 = "0efbcb9bf4722cb19292ae00eba29587432e918d3b1f70905deb70f7cf78e8ce";
|
||||
sha256 = "4469bab0f59c62312b0a1b67dcf9c07a8a971afad339fa2c3eb80e209e099ef9";
|
||||
meta = {
|
||||
description = "Guest additions ISO for VirtualBox";
|
||||
longDescription = ''
|
||||
|
@ -10,11 +10,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "VirtualBox-GuestAdditions-builder-${kernel.version}";
|
||||
version = "7.0.14";
|
||||
version = "7.0.18";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.virtualbox.org/virtualbox/${finalAttrs.version}/VirtualBox-${finalAttrs.version}.tar.bz2";
|
||||
sha256 = "45860d834804a24a163c1bb264a6b1cb802a5bc7ce7e01128072f8d6a4617ca9";
|
||||
sha256 = "d999513533631674a024762668de999411d8197060c51e68c5faf0a2c0eea1a5";
|
||||
};
|
||||
|
||||
env.NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
|
||||
@ -37,13 +37,9 @@ in stdenv.mkDerivation (finalAttrs: {
|
||||
'';
|
||||
|
||||
patches = [
|
||||
../gcc-13.patch
|
||||
# https://www.virtualbox.org/changeset/100258/vbox
|
||||
#../gcc-13.patch
|
||||
## https://www.virtualbox.org/changeset/100258/vbox
|
||||
./no-legacy-xorg.patch
|
||||
# https://www.virtualbox.org/changeset/102989/vbox
|
||||
./strlcpy-1.patch
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
./strlcpy-2.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
@ -1,29 +0,0 @@
|
||||
# https://www.virtualbox.org/changeset/102989/vbox
|
||||
--- a/include/iprt/string.h
|
||||
+++ b/include/iprt/string.h
|
||||
@@ -244,4 +244,26 @@
|
||||
#else /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
# define RT_BCOPY_UNFORTIFIED(a_pDst, a_pSrc, a_cbToCopy) memcpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+#endif /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
+
|
||||
+/** @def RT_STRSCPY
|
||||
+ * Copy string and NULL-terminate output buffer.
|
||||
+ *
|
||||
+ * This macro should mostly be used in Linux kernel code. This is
|
||||
+ * the replacement for deprecated strlcpy. It was deprecated since 3.16.60
|
||||
+ * when strscpy was introduced as an alternative. Finally, strlcpy was
|
||||
+ * completely removed from kernel code in 6.8.0.
|
||||
+ *
|
||||
+ * @param a_pDst Pointer to the destination string buffer.
|
||||
+ * @param a_pSrc Pointer to the source NULL-terminated string buffer.
|
||||
+ * @param a_cbToCopy Size of destination buffer..
|
||||
+ */
|
||||
+#if defined(RT_OS_LINUX) && defined(__KERNEL__)
|
||||
+# if (RTLNX_VER_MIN(3,16,60))
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+# else /* < 3.16.60 */
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strlcpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
+# endif
|
||||
+#else /* !RT_OS_LINUX && !__KERNEL__ */
|
||||
+# define RT_STRSCPY(a_pDst, a_pSrc, a_cbToCopy) strscpy((a_pDst), (a_pSrc), (a_cbToCopy))
|
||||
#endif /* !RT_OS_LINUX && !__KERNEL__ */
|
@ -1,86 +0,0 @@
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
|
||||
+++ b/src/VBox/Additions/common/VBoxGuest/VBoxGuest-linux.c
|
||||
@@ -1411,5 +1411,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
|
||||
+ RT_STRSCPY(&g_szLogGrp[0], pszValue, sizeof(g_szLogGrp));
|
||||
|
||||
return 0;
|
||||
@@ -1437,5 +1437,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
|
||||
+ RT_STRSCPY(&g_szLogFlags[0], pszValue, sizeof(g_szLogFlags));
|
||||
return 0;
|
||||
}
|
||||
@@ -1462,5 +1462,5 @@
|
||||
}
|
||||
else if (pParam->name[0] != 'd')
|
||||
- strlcpy(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
|
||||
+ RT_STRSCPY(&g_szLogDst[0], pszValue, sizeof(g_szLogDst));
|
||||
return 0;
|
||||
}
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
|
||||
@@ -539,7 +539,5 @@
|
||||
void vbox_irq_fini(struct vbox_private *vbox);
|
||||
void vbox_report_hotplug(struct vbox_private *vbox);
|
||||
-#if RTLNX_VER_MAX(5,15,0) && !RTLNX_RHEL_MAJ_PREREQ(9,1) && !RTLNX_SUSE_MAJ_PREREQ(15,5)
|
||||
irqreturn_t vbox_irq_handler(int irq, void *arg);
|
||||
-#endif
|
||||
|
||||
/* vbox_hgsmi.c */
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||
+++ b/src/VBox/Additions/linux/sharedfolders/regops.c
|
||||
@@ -3506,5 +3506,5 @@
|
||||
|
||||
/** file_operations::mmap wrapper for logging purposes. */
|
||||
-extern int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
+static int vbsf_reg_mmap(struct file *file, struct vm_area_struct *vma)
|
||||
{
|
||||
int rc;
|
||||
@@ -3787,5 +3787,5 @@
|
||||
|
||||
# if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_RANGE(9,3, 9,99)
|
||||
-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
unsigned len, struct page **pagep, void **fsdata)
|
||||
{
|
||||
@@ -3794,5 +3794,5 @@
|
||||
}
|
||||
# else
|
||||
-int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
+static int vbsf_write_begin(struct file *file, struct address_space *mapping, loff_t pos,
|
||||
unsigned len, unsigned flags, struct page **pagep, void **fsdata)
|
||||
{
|
||||
|
||||
# https://www.virtualbox.org/changeset/102990/vbox
|
||||
--- a/src/VBox/Additions/linux/sharedfolders/vfsmod.c
|
||||
+++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.c
|
||||
@@ -1409,5 +1409,5 @@
|
||||
case Opt_iocharset:
|
||||
case Opt_nls:
|
||||
- strlcpy(info->nls_name, param->string, sizeof(info->nls_name));
|
||||
+ RT_STRSCPY(info->nls_name, param->string, sizeof(info->nls_name));
|
||||
break;
|
||||
case Opt_uid:
|
||||
@@ -1470,5 +1470,5 @@
|
||||
break;
|
||||
case Opt_tag:
|
||||
- strlcpy(info->szTag, param->string, sizeof(info->szTag));
|
||||
+ RT_STRSCPY(info->szTag, param->string, sizeof(info->szTag));
|
||||
break;
|
||||
default:
|
||||
@@ -1529,5 +1529,5 @@
|
||||
|
||||
/* fc->source (the shared folder name) is set after vbsf_init_fs_ctx() */
|
||||
- strlcpy(info->name, fc->source, sizeof(info->name));
|
||||
+ RT_STRSCPY(info->name, fc->source, sizeof(info->name));
|
||||
|
||||
# if RTLNX_VER_MAX(5,3,0)
|
@ -1,47 +0,0 @@
|
||||
diff --git a/include/iprt/cpp/xml.h b/include/iprt/cpp/xml.h
|
||||
index 40975e86..7639c281 100644
|
||||
--- a/include/iprt/cpp/xml.h
|
||||
+++ b/include/iprt/cpp/xml.h
|
||||
@@ -113,9 +113,9 @@ public:
|
||||
class RT_DECL_CLASS XmlError : public RuntimeError
|
||||
{
|
||||
public:
|
||||
- XmlError(xmlErrorPtr aErr);
|
||||
+ XmlError(const xmlError *aErr);
|
||||
|
||||
- static char* Format(xmlErrorPtr aErr);
|
||||
+ static char* Format(const xmlError *aErr);
|
||||
};
|
||||
|
||||
// Logical errors
|
||||
diff --git a/src/VBox/Runtime/r3/xml.cpp b/src/VBox/Runtime/r3/xml.cpp
|
||||
index a6661760..b301a6c6 100644
|
||||
--- a/src/VBox/Runtime/r3/xml.cpp
|
||||
+++ b/src/VBox/Runtime/r3/xml.cpp
|
||||
@@ -131,7 +131,7 @@ LogicError::LogicError(RT_SRC_POS_DECL)
|
||||
RTStrFree(msg);
|
||||
}
|
||||
|
||||
-XmlError::XmlError(xmlErrorPtr aErr)
|
||||
+XmlError::XmlError(const xmlError *aErr)
|
||||
{
|
||||
if (!aErr)
|
||||
throw EInvalidArg(RT_SRC_POS);
|
||||
@@ -145,7 +145,7 @@ XmlError::XmlError(xmlErrorPtr aErr)
|
||||
* Composes a single message for the given error. The caller must free the
|
||||
* returned string using RTStrFree() when no more necessary.
|
||||
*/
|
||||
-/* static */ char *XmlError::Format(xmlErrorPtr aErr)
|
||||
+/* static */ char *XmlError::Format(const xmlError *aErr)
|
||||
{
|
||||
const char *msg = aErr->message ? aErr->message : "<none>";
|
||||
size_t msgLen = strlen(msg);
|
||||
@@ -1856,7 +1856,7 @@ static void xmlParserBaseGenericError(void *pCtx, const char *pszMsg, ...) RT_NO
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
-static void xmlParserBaseStructuredError(void *pCtx, xmlErrorPtr error) RT_NOTHROW_DEF
|
||||
+static void xmlParserBaseStructuredError(void *pCtx, const xmlError *error) RT_NOTHROW_DEF
|
||||
{
|
||||
NOREF(pCtx);
|
||||
/* we expect that there is always a trailing NL */
|
Loading…
Reference in New Issue
Block a user