summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Haubenwallner <haubi@gentoo.org>2012-03-09 16:12:46 +0000
committerMichael Haubenwallner <haubi@gentoo.org>2012-03-09 16:12:46 +0000
commit7dc38d79b72b46545c8b72cbf3b6453ee9d46970 (patch)
treeea5c972bc28b1879954bc8ddaeaa1466441f6de4 /dev-libs/libaio
parentFix HOMEPAGE. (diff)
downloadgentoo-2-7dc38d79b72b46545c8b72cbf3b6453ee9d46970.tar.gz
gentoo-2-7dc38d79b72b46545c8b72cbf3b6453ee9d46970.tar.bz2
gentoo-2-7dc38d79b72b46545c8b72cbf3b6453ee9d46970.zip
+libaio-0.3.109-r3: Add multilib support (for oracle-instantclient-11 multilib).
Fix tests, run those that do not break with sandbox, drop test restriction. (Portage version: 2.1.10.41/cvs/Linux x86_64)
Diffstat (limited to 'dev-libs/libaio')
-rw-r--r--dev-libs/libaio/ChangeLog11
-rw-r--r--dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch19
-rw-r--r--dev-libs/libaio/libaio-0.3.109-r3.ebuild106
3 files changed, 134 insertions, 2 deletions
diff --git a/dev-libs/libaio/ChangeLog b/dev-libs/libaio/ChangeLog
index 68ae6bbd256e..d433b1a0c1a7 100644
--- a/dev-libs/libaio/ChangeLog
+++ b/dev-libs/libaio/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-libs/libaio
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/libaio/ChangeLog,v 1.61 2011/12/07 15:45:57 vapier Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libaio/ChangeLog,v 1.62 2012/03/09 16:12:46 haubi Exp $
+
+*libaio-0.3.109-r3 (09 Mar 2012)
+
+ 09 Mar 2012; Michael Haubenwallner <haubi@gentoo.org>
+ +libaio-0.3.109-r3.ebuild, +files/libaio-0.3.109-testcase-8.patch:
+ Add multilib support (for oracle-instantclient-11 multilib).
+ Fix tests, run those that do not break with sandbox, drop test restriction.
07 Dec 2011; Mike Frysinger <vapier@gentoo.org> libaio-0.3.109-r2.ebuild,
+files/libaio-0.3.109-x32.patch:
diff --git a/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
new file mode 100644
index 000000000000..de66f2110f22
--- /dev/null
+++ b/dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch
@@ -0,0 +1,19 @@
+Do not ignore return value of ftruncate(): testcases are compiled with -Werror,
+and ftruncate is declared with attribute warn_unused_result.
+--- harness/cases/8.t.orig 2012-03-09 16:40:04.074168070 +0100
++++ harness/cases/8.t 2012-03-09 16:40:57.777278646 +0100
+@@ -9,12 +9,13 @@
+ {
+ long long min = 0, max = 9223372036854775807LL;
+ char c = 0;
++ int ret;
+
+ while (max - min > 1) {
+ if (pwrite64(fd, &c, 1, (min + max) / 2) == -1)
+ max = (min + max) / 2;
+ else {
+- ftruncate(fd, 0);
++ ret = ftruncate(fd, 0); assert(ret == 0);
+ min = (min + max) / 2;
+ }
+ }
diff --git a/dev-libs/libaio/libaio-0.3.109-r3.ebuild b/dev-libs/libaio/libaio-0.3.109-r3.ebuild
new file mode 100644
index 000000000000..f6a2db7b2724
--- /dev/null
+++ b/dev-libs/libaio/libaio-0.3.109-r3.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/libaio/libaio-0.3.109-r3.ebuild,v 1.1 2012/03/09 16:12:46 haubi Exp $
+
+EAPI="3"
+
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="Asynchronous input/output library that uses the kernels native interface"
+HOMEPAGE="http://www.kernel.org/pub/linux/kernel/people/andrea/libaio/ http://lse.sourceforge.net/io/aio.html"
+SRC_URI="mirror://kernel/linux/libs/aio/${P}.tar.bz2"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="static-libs"
+
+EMULTILIB_PKG="true"
+
+src_unpack() {
+ for ABI in $(get_install_abis)
+ do
+ mkdir -p "${WORKDIR}"/${ABI} || die
+ cd "${WORKDIR}"/${ABI} || die
+ unpack ${A}
+ done
+}
+
+src_prepare() {
+ for ABI in $(get_install_abis)
+ do
+ einfo "Preparing ${ABI} ABI ..."
+ cd "${WORKDIR}"/${ABI}/${P} || die
+ epatch "${FILESDIR}"/${PN}-0.3.109-unify-bits-endian.patch
+ epatch "${FILESDIR}"/${PN}-0.3.109-generic-arch.patch
+ epatch "${FILESDIR}"/${PN}-0.3.106-build.patch
+ epatch "${FILESDIR}"/${PN}-0.3.107-ar-ranlib.patch
+ epatch "${FILESDIR}"/${PN}-0.3.109-install.patch
+ epatch "${FILESDIR}"/${PN}-0.3.109-x32.patch
+ epatch "${FILESDIR}"/${PN}-0.3.109-testcase-8.patch
+ sed -i \
+ -e "/^libdir=/s:lib$:$(get_libdir):" \
+ -e "/^prefix=/s:/usr:${EPREFIX}/usr:" \
+ -e '/:=.*strip.*shell.*git/s:=.*:=:' \
+ src/Makefile Makefile || die
+ done
+}
+
+emake_libaio() {
+ # The Makefiles need these environments, but multilib_toolchain_setup()
+ # does not export anything when there is only one default abi available.
+ CC="$(tc-getCC) $(get_abi_CFLAGS)" \
+ AR=$(tc-getAR) \
+ RANLIB=$(tc-getRANLIB) \
+ emake "$@"
+}
+
+src_compile() {
+ for ABI in $(get_install_abis)
+ do
+ einfo "Compiling ${ABI} ABI ..."
+ cd "${WORKDIR}"/${ABI}/${P} || die
+ emake_libaio || die
+ done
+}
+
+src_test() {
+ for ABI in $(get_install_abis)
+ do
+ einfo "Testing ${ABI} ABI ..."
+ cd "${WORKDIR}"/${ABI}/${P}/harness || die
+ mkdir testdir || die
+ # 'make check' breaks with sandbox, 'make partcheck' works
+ emake_libaio partcheck prefix="${S}/src" libdir="${S}/src" || die
+ done
+}
+
+src_install() {
+ for ABI in $(get_install_abis)
+ do
+ einfo "Installing ${ABI} ABI ..."
+ cd "${WORKDIR}"/${ABI}/${P} || die
+
+ # Don't use ED for emake, src_prepare already inserts EPREFIX in the correct
+ # place
+ emake_libaio install DESTDIR="${D}" || die
+
+ if is_final_abi; then
+ doman man/*
+ dodoc ChangeLog TODO
+ else
+ # take headers from default abi only
+ rm -rf "${ED}"/usr/include || die
+ fi
+
+ # move crap to / for multipath-tools #325355
+ gen_usr_ldscript -a aio
+ done
+
+ if ! use static-libs ; then
+ rm "${ED}"usr/lib*/*.a || die
+ fi
+
+ # remove stuff provided by man-pages now
+ rm "${ED}"usr/share/man/man3/{lio_listio,aio_{cancel,error,fsync,init,read,return,suspend,write}}.*
+}