summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/qt-5-renameat2.patch
blob: 036070c7ff32439f815f26de88409765e7073243 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Avoid conflicting declaration of 'renameat2' on glibc 2.28
(see <https://github.com/meta-qt5/meta-qt5/issues/94>.)

Patch from <https://github.com/meta-qt5/meta-qt5/pull/95>
by Andreas Müller <schnitzeltony@gmail.com>.

---
 src/corelib/io/qfilesystemengine_unix.cpp | 11 ++++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index be6ce48d0cb..1bf1bebc7f1 100644
--- a/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/qtbase/src/corelib/io/qfilesystemengine_unix.cpp
@@ -98,6 +98,17 @@ extern "C" NSString *NSTemporaryDirectory();
 #  define FICLONE       _IOW(0x94, 9, int)
 #endif
 
+// renameat2/statx features for non bootstrapped build
+#ifndef QT_BOOTSTRAPPED
+#ifdef __GLIBC_PREREQ
+# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+#else
+# define QT_FEATURE_renameat2 -1
+# define QT_FEATURE_statx -1
+#endif
+#endif
+
 #  if defined(Q_OS_ANDROID)
 // renameat2() and statx() are disabled on Android because quite a few systems
 // come with sandboxes that kill applications that make system calls outside a
-- 
2.14.4