summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/linux.scm3
-rw-r--r--gnu/packages/patches/fuse-overlapping-headers.patch28
3 files changed, 31 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index cb94d27e99..f8a0dd783c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -575,6 +575,7 @@ dist_patch_DATA = \
%D%/packages/patches/freeimage-CVE-2015-0852.patch \
%D%/packages/patches/freeimage-CVE-2016-5684.patch \
%D%/packages/patches/freeimage-fix-build-with-gcc-5.patch \
+ %D%/packages/patches/fuse-overlapping-headers.patch \
%D%/packages/patches/gawk-shell.patch \
%D%/packages/patches/gcc-arm-bug-71399.patch \
%D%/packages/patches/gcc-arm-link-spec-fix.patch \
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 42495a9e4f..0b299f9e55 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1459,7 +1459,8 @@ processes currently causing I/O.")
"/fuse-" version ".tar.gz"))
(sha256
(base32
- "0szi2vlsjxg03y4ji51jks34p269jqj5ify6l0ajsqq6f6y8pd0c"))))
+ "0szi2vlsjxg03y4ji51jks34p269jqj5ify6l0ajsqq6f6y8pd0c"))
+ (patches (search-patches "fuse-overlapping-headers.patch"))))
(build-system gnu-build-system)
(inputs `(("util-linux" ,util-linux)))
(arguments
diff --git a/gnu/packages/patches/fuse-overlapping-headers.patch b/gnu/packages/patches/fuse-overlapping-headers.patch
new file mode 100644
index 0000000000..54f9c0e709
--- /dev/null
+++ b/gnu/packages/patches/fuse-overlapping-headers.patch
@@ -0,0 +1,28 @@
+This patch is from Debian, named '0006-arm64.patch'
+
+Author: Riku Voipio <riku.voipio@linaro.org>
+Description: fuse_kernel.h: clean includes
+ Use <linux/types.h> for linux and define types used for other operating systems
+ using <stdint.h> types (Closes: #752081).
+
+diff -Naurp fuse.orig/include/fuse_kernel.h fuse/include/fuse_kernel.h
+--- fuse.orig/include/fuse_kernel.h
++++ fuse/include/fuse_kernel.h
+@@ -88,12 +88,16 @@
+ #ifndef _LINUX_FUSE_H
+ #define _LINUX_FUSE_H
+
+-#include <sys/types.h>
++#ifdef __linux__
++#include <linux/types.h>
++#else
++#include <stdint.h>
+ #define __u64 uint64_t
+ #define __s64 int64_t
+ #define __u32 uint32_t
+ #define __s32 int32_t
+ #define __u16 uint16_t
++#endif
+
+ /*
+ * Version negotiation: