summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Deutschmann <whissi@gentoo.org>2017-11-28 00:07:20 +0100
committerThomas Deutschmann <whissi@gentoo.org>2017-11-28 00:07:42 +0100
commitb79aa3db1cca97db331e6e058a1c751591f29759 (patch)
tree73dfe3cca7f2b309e815392a6ddc4bb776138ad6 /sys-libs
parentsys-fs/reiser4progs: Bump to v1.2.0 (diff)
downloadgentoo-b79aa3db1cca97db331e6e058a1c751591f29759.tar.gz
gentoo-b79aa3db1cca97db331e6e058a1c751591f29759.tar.bz2
gentoo-b79aa3db1cca97db331e6e058a1c751591f29759.zip
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
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/libaal/Manifest2
-rw-r--r--sys-libs/libaal/files/libaal-1.0.6-glibc26.patch89
-rw-r--r--sys-libs/libaal/libaal-1.0.6.ebuild5
-rw-r--r--sys-libs/libaal/libaal-1.0.7-r1.ebuild42
4 files changed, 135 insertions, 3 deletions
diff --git a/sys-libs/libaal/Manifest b/sys-libs/libaal/Manifest
index 994f6fffe8d2..034f7e1aa3fa 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 000000000000..298d75ae2d74
--- /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 91f3ab182e1e..21061c06745e 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.7-r1.ebuild b/sys-libs/libaal/libaal-1.0.7-r1.ebuild
new file mode 100644
index 000000000000..bd15352a4c18
--- /dev/null
+++ b/sys-libs/libaal/libaal-1.0.7-r1.ebuild
@@ -0,0 +1,42 @@
+# 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}
+}