libaal: fix build with glibc 2.26
I have extracted this patch by Jan Engelhardt from [1] because I have not found any direct or persistent link to it. [1] http://tube.opensuse.org/repositories/filesystems/SLE_11_SP4/src/libaal-1.0.6-107.1.src.rpm Tracking issue: #31696
This commit is contained in:
parent
5018c27a3d
commit
3835526a94
2 changed files with 93 additions and 0 deletions
|
@ -9,10 +9,14 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "176f2sns6iyxv3h9zyirdinjwi05gdak48zqarhib2s38rvm98di";
|
||||
};
|
||||
|
||||
patches = [ ./libaal-1.0.6-glibc-2.26.patch ];
|
||||
|
||||
preInstall = ''
|
||||
substituteInPlace Makefile --replace ./run-ldconfig true
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.namesys.com/;
|
||||
description = "Support library for Reiser4";
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
Date: 2017-09-02 13:03:15.353403096 +0200
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
Stop redefining libc definitions that cause build failures under glibc-2.26.
|
||||
|
||||
[ 46s] In file included from /usr/include/sys/types.h:156:0,
|
||||
[ 46s] from /usr/include/stdlib.h:279,
|
||||
[ 46s] from malloc.c:15:
|
||||
[ 46s] /usr/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t'
|
||||
[ 46s] typedef __int64_t int64_t;
|
||||
[ 46s] ^~~~~~~
|
||||
[ 46s] In file included from ../include/aal/libaal.h:17:0,
|
||||
[ 46s] from malloc.c:6:
|
||||
[ 46s] ../include/aal/types.h:35:33: note: previous declaration of 'int64_t' was here
|
||||
[ 46s] typedef long long int int64_t;
|
||||
|
||||
|
||||
---
|
||||
include/aal/types.h | 48 ++----------------------------------------------
|
||||
1 file changed, 2 insertions(+), 46 deletions(-)
|
||||
|
||||
Index: libaal-1.0.6/include/aal/types.h
|
||||
===================================================================
|
||||
--- libaal-1.0.6.orig/include/aal/types.h
|
||||
+++ libaal-1.0.6/include/aal/types.h
|
||||
@@ -26,24 +26,7 @@
|
||||
#undef ESTRUCT
|
||||
#define ESTRUCT 50
|
||||
|
||||
-#ifndef __int8_t_defined
|
||||
-#define __int8_t_defined
|
||||
-typedef signed char int8_t;
|
||||
-typedef short int int16_t;
|
||||
-typedef int int32_t;
|
||||
-__extension__
|
||||
-typedef long long int int64_t;
|
||||
-#endif
|
||||
-
|
||||
-typedef unsigned char uint8_t;
|
||||
-typedef unsigned short int uint16_t;
|
||||
-#ifndef __uint32_t_defined
|
||||
-#define __uint32_t_defined
|
||||
-typedef unsigned int uint32_t;
|
||||
-__extension__
|
||||
-typedef unsigned long long int uint64_t;
|
||||
-#endif
|
||||
-
|
||||
+#include <stdint.h>
|
||||
#define MAX_UINT8 ((uint8_t)~0)
|
||||
#define MAX_UINT16 ((uint16_t)~0)
|
||||
#define MAX_UINT32 ((uint32_t)~0)
|
||||
@@ -53,36 +36,9 @@ typedef unsigned long long int uint64_t
|
||||
because we don't want use gcc builtins in minimal mode for achive as small
|
||||
binary size as possible. */
|
||||
|
||||
-#ifndef ENABLE_MINIMAL
|
||||
# include <stdarg.h>
|
||||
-#else
|
||||
-#ifndef _VA_LIST_
|
||||
-#define _VA_LIST_
|
||||
-typedef char *va_list;
|
||||
-#endif
|
||||
-#undef va_arg
|
||||
-#undef va_end
|
||||
-#undef va_start
|
||||
-
|
||||
-#define va_end(ap) \
|
||||
- do {} while(0);
|
||||
-
|
||||
-#define va_start(ap, p) \
|
||||
- (ap = (char *)(&(p)+1))
|
||||
-
|
||||
-#define va_arg(ap, type) \
|
||||
- ((type *)(ap += sizeof(type)))[-1]
|
||||
-#endif
|
||||
-
|
||||
-/* As libaal may be used without any standard headers, we need to declare NULL
|
||||
- macro here in order to avoid compilation errors. */
|
||||
-#undef NULL
|
||||
|
||||
-#if defined(__cplusplus)
|
||||
-# define NULL 0
|
||||
-#else
|
||||
-# define NULL ((void *)0)
|
||||
-#endif
|
||||
+#include <stdio.h>
|
||||
|
||||
/* Simple type for direction denoting */
|
||||
enum aal_dir {
|
Loading…
Reference in a new issue