guix/gnu/packages/patches/qt-5-renameat2.patch
Ludovic Courtès af50b4abc0
gnu: qt@5: Fix build failure on glibc 2.28.
* gnu/packages/patches/qt-5-renameat2.patch: New file.
* gnu/packages/qt.scm (qt)[source]: Use it.
* gnu/local.mk (dist_patch_DATA): Add it.
2018-11-18 12:28:34 +01:00

35 lines
1.2 KiB
Diff

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