commit:     b79aa3db1cca97db331e6e058a1c751591f29759
Author:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 27 23:07:20 2017 +0000
Commit:     Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Mon Nov 27 23:07:42 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b79aa3db

sys-libs/libaal: Fix build against glibc-2.6

Closes: https://bugs.gentoo.org/637610
Package-Manager: Portage-2.3.16, Repoman-2.3.6

 sys-libs/libaal/Manifest                           |  2 +-
 sys-libs/libaal/files/libaal-1.0.6-glibc26.patch   | 89 ++++++++++++++++++++++
 sys-libs/libaal/libaal-1.0.6.ebuild                |  5 +-
 ...{libaal-1.0.6.ebuild => libaal-1.0.7-r1.ebuild} | 22 +++---
 4 files changed, 106 insertions(+), 12 deletions(-)

diff --git a/sys-libs/libaal/Manifest b/sys-libs/libaal/Manifest
index 994f6fffe8d..034f7e1aa3f 100644
--- a/sys-libs/libaal/Manifest
+++ b/sys-libs/libaal/Manifest
@@ -1,2 +1,2 @@
-DIST libaal-1.0.6.tar.gz 345894 SHA256 
b1a1547746438b156156f82332557b05442e6d6c39fa9fe0d8dd47a3ad16ce9c SHA512 
9b13096abcb90e75fff607ffd7b11ed8b100f349800b726acb01aca12f54abe784adb9912916fe8ed0751ebf367ecced04ab058e1e8b947f4209a5e6c390f123
 WHIRLPOOL 
7d93c3dc6eb62712a460f37bc933588c0b71d17472c64104a5cba939324af801ca0ba37063cd020caf8aa0d352a21b5222f838b427fbba0c03144b89d64e98c6
+DIST libaal-1.0.6.tar.gz 345894 BLAKE2B 
726eb26d80ce5cb198a059e74ded76d7ce97aabd2bd38209194462be9c6ffd5aafbfff3a35fddcae8b6b1c88ad8a378a6328217aed490f156bbb806d4ec687b9
 SHA512 
9b13096abcb90e75fff607ffd7b11ed8b100f349800b726acb01aca12f54abe784adb9912916fe8ed0751ebf367ecced04ab058e1e8b947f4209a5e6c390f123
 DIST libaal-1.0.7.tar.gz 376068 BLAKE2B 
2fb7802401721a64b17c0409f3ff668524399efc03b4bda4b4523af2cce204fdb5cf41bb2b2a6af5cbda34ee88cbb4703eec9bb76774d705b1759c91a33b1e34
 SHA512 
9b39a8cd3f49257ea912bb0e463c0c63ad06914e8a310deb4d4dce544d3ee34f492203c7321f971af71dddc1eb85f207082a4791b19bd4fad3f7dab516513b3d

diff --git a/sys-libs/libaal/files/libaal-1.0.6-glibc26.patch 
b/sys-libs/libaal/files/libaal-1.0.6-glibc26.patch
new file mode 100644
index 00000000000..298d75ae2d7
--- /dev/null
+++ b/sys-libs/libaal/files/libaal-1.0.6-glibc26.patch
@@ -0,0 +1,89 @@
+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 {

diff --git a/sys-libs/libaal/libaal-1.0.6.ebuild 
b/sys-libs/libaal/libaal-1.0.6.ebuild
index 91f3ab182e1..21061c06745 100644
--- a/sys-libs/libaal/libaal-1.0.6.ebuild
+++ b/sys-libs/libaal/libaal-1.0.6.ebuild
@@ -1,9 +1,9 @@
-# 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/";
@@ -23,6 +23,7 @@ src_prepare() {
                -e "/^CFLAGS=/s:\"\":\"${CFLAGS}\":" \
                configure || die "sed"
        printf '#!/bin/sh\n:\n' > run-ldconfig
+       epatch "${FILESDIR}"/${PN}-1.0.6-glibc26.patch
 }
 
 src_configure() {

diff --git a/sys-libs/libaal/libaal-1.0.6.ebuild 
b/sys-libs/libaal/libaal-1.0.7-r1.ebuild
similarity index 66%
copy from sys-libs/libaal/libaal-1.0.6.ebuild
copy to sys-libs/libaal/libaal-1.0.7-r1.ebuild
index 91f3ab182e1..bd15352a4c1 100644
--- a/sys-libs/libaal/libaal-1.0.6.ebuild
+++ b/sys-libs/libaal/libaal-1.0.7-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI="4"
+EAPI="6"
 
 inherit toolchain-funcs
 
@@ -10,26 +10,30 @@ HOMEPAGE="https://sourceforge.net/projects/reiser4/";
 SRC_URI="mirror://sourceforge/reiser4/${P}.tar.gz"
 
 LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm ppc ppc64 -sparc x86"
+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 "sed"
-       printf '#!/bin/sh\n:\n' > run-ldconfig
+               configure || die
+       printf '#!/bin/sh\n:\n' > run-ldconfig || die
 }
 
 src_configure() {
-       econf \
-               --enable-libminimal \
-               --enable-memory-manager \
+       local myeconfargs=(
+               --enable-libminimal
+               --enable-memory-manager
                $(use_enable static-libs static)
+       )
+       econf "${myeconfargs[@]}"
 }
 
 src_install() {

Reply via email to