virtualbox: fix build with libxml 2.12 + gcc 13
This commit is contained in:
parent
0ee435ca57
commit
13a6f42687
@ -101,6 +101,8 @@ in stdenv.mkDerivation {
|
||||
./qt-dependency-paths.patch
|
||||
# https://github.com/NixOS/nixpkgs/issues/123851
|
||||
./fix-audio-driver-loading.patch
|
||||
./libxml-2.12.patch
|
||||
./gcc-13.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
|
35
pkgs/applications/virtualization/virtualbox/gcc-13.patch
Normal file
35
pkgs/applications/virtualization/virtualbox/gcc-13.patch
Normal file
@ -0,0 +1,35 @@
|
||||
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"
|
@ -0,0 +1,47 @@
|
||||
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