--- /dev/null
+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;
+
+Author: Jan Engelhardt
+
+---
+ 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 {
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
-inherit toolchain-funcs
+inherit toolchain-funcs eutils
DESCRIPTION="library required by reiser4progs"
HOMEPAGE="https://sourceforge.net/projects/reiser4/"
-e "/^CFLAGS=/s:\"\":\"${CFLAGS}\":" \
configure || die "sed"
printf '#!/bin/sh\n:\n' > run-ldconfig
+ epatch "${FILESDIR}"/${PN}-1.0.6-glibc26.patch
}
src_configure() {
--- /dev/null
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit toolchain-funcs
+
+DESCRIPTION="library required by reiser4progs"
+HOMEPAGE="https://sourceforge.net/projects/reiser4/"
+SRC_URI="mirror://sourceforge/reiser4/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/7"
+KEYWORDS="~amd64 ~arm ~ppc ~ppc64 -sparc ~x86"
+IUSE="static-libs"
+
+DEPEND="virtual/os-headers"
+
+src_prepare() {
+ default
+
+ # remove stupid CFLAG hardcodes
+ sed -i \
+ -e "/GENERIC_CFLAGS/s:-O3::" \
+ -e "/^CFLAGS=/s:\"\":\"${CFLAGS}\":" \
+ configure || die
+ printf '#!/bin/sh\n:\n' > run-ldconfig || die
+}
+
+src_configure() {
+ local myeconfargs=(
+ --enable-libminimal
+ --enable-memory-manager
+ $(use_enable static-libs static)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+ gen_usr_ldscript -a aal{,-minimal}
+}