* gnu/packages/graphics.scm (directfb)[arguments]: Add a phase when building for armhf-linux to apply a patch. [native-inputs]: Add patch, patch file. * gnu/packages/patches/directfb-davinci-glibc-228-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
This patch is from upstream
 | 
						|
 | 
						|
From 3a236241bbec3f15b012b6f0dbe94353d8094557 Mon Sep 17 00:00:00 2001
 | 
						|
From: Andrew Childs <lorne@cons.org.nz>
 | 
						|
Date: Sat, 2 May 2020 12:36:46 +0900
 | 
						|
Subject: [PATCH] davinci: fix build with glibc >= 2.28
 | 
						|
 | 
						|
From glibc 2.28 release notes:
 | 
						|
 | 
						|
* The macros 'major', 'minor', and 'makedev' are now only available from
 | 
						|
  the header <sys/sysmacros.h>; not from <sys/types.h> or various other
 | 
						|
  headers that happen to include <sys/types.h>.  These macros are rarely
 | 
						|
  used, not part of POSIX nor XSI, and their names frequently collide with
 | 
						|
  user code; see https://sourceware.org/bugzilla/show_bug.cgi?id=19239 for
 | 
						|
  further explanation.
 | 
						|
 | 
						|
  <sys/sysmacros.h> is a GNU extension.  Portable programs that require
 | 
						|
  these macros should first include <sys/types.h>, and then include
 | 
						|
  <sys/sysmacros.h> if __GNU_LIBRARY__ is defined.
 | 
						|
 | 
						|
https://lists.gnu.org/archive/html/info-gnu/2018-08/msg00000.html
 | 
						|
---
 | 
						|
 gfxdrivers/davinci/davinci_c64x.c | 5 +++++
 | 
						|
 1 file changed, 5 insertions(+)
 | 
						|
 | 
						|
diff --git a/gfxdrivers/davinci/davinci_c64x.c b/gfxdrivers/davinci/davinci_c64x.c
 | 
						|
index 431ffdd99..351250a03 100644
 | 
						|
--- a/gfxdrivers/davinci/davinci_c64x.c
 | 
						|
+++ b/gfxdrivers/davinci/davinci_c64x.c
 | 
						|
@@ -39,6 +39,11 @@
 | 
						|
 #include <sys/types.h>
 | 
						|
 #include <unistd.h>
 | 
						|
 
 | 
						|
+// Required for `makedev` in glibc >= 2.28
 | 
						|
+#if defined(__GNU_LIBRARY__)
 | 
						|
+#include <sys/sysmacros.h>
 | 
						|
+#endif
 | 
						|
+
 | 
						|
 #include <directfb_util.h>
 | 
						|
 
 | 
						|
 #include <direct/clock.h>
 |