diff options
author | Michael Haubenwallner <haubi@gentoo.org> | 2012-03-09 16:12:46 +0000 |
---|---|---|
committer | Michael Haubenwallner <haubi@gentoo.org> | 2012-03-09 16:12:46 +0000 |
commit | 7dc38d79b72b46545c8b72cbf3b6453ee9d46970 (patch) | |
tree | ea5c972bc28b1879954bc8ddaeaa1466441f6de4 /dev-libs/libaio | |
parent | Fix HOMEPAGE. (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | dev-libs/libaio/files/libaio-0.3.109-testcase-8.patch | 19 | ||||
-rw-r--r-- | dev-libs/libaio/libaio-0.3.109-r3.ebuild | 106 |
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}}.* +} |