~ruther/guix-local

cd48a549025375bc03ddc0fd9a95ce3bcbf7f284 — Efraim Flashner 9 years ago d26ae96
gnu: fuse: Patch conflicting headers with the kernel.

* gnu/packages/linux.scm (fuse)[source]: Add patch.
* gnu/packages/patches/fuse-overlapping-headers.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
3 files changed, 31 insertions(+), 1 deletions(-)

M gnu/local.mk
M gnu/packages/linux.scm
A gnu/packages/patches/fuse-overlapping-headers.patch
M gnu/local.mk => gnu/local.mk +1 -0
@@ 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		\

M gnu/packages/linux.scm => gnu/packages/linux.scm +2 -1
@@ 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

A gnu/packages/patches/fuse-overlapping-headers.patch => gnu/packages/patches/fuse-overlapping-headers.patch +28 -0
@@ 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: