--- media-libs/libsndfile/libsndfile-1.0.11.ebuild 2005-03-02 21:16:21.000000000 +0100 +++ media-libs/libsndfile/libsndfile-1.0.11.ebuild.new 2005-03-08 03:10:27.000000000 +0100 @@ -4,7 +4,7 @@ IUSE="static" -inherit eutils +inherit eutils multilib DESCRIPTION="A C library for reading and writing files containing sampled sound" HOMEPAGE="http://www.mega-nerd.com/libsndfile/" @@ -14,16 +14,44 @@ SLOT="0" KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~ppc-macos sparc x86" -DEPEND="virtual/libc" +DEPEND="virtual/libc + amd64? ( >=app-emulation/emul-linux-x86-soundlibs-1000 )" src_unpack() { unpack ${A} cd ${S} epunt_cxx + if use amd64 && has_multilib_profile; then + cp -ar ${S} ${S}-x86 + mv ${S} ${S}-amd64 + fi } src_compile() { - econf $(use_enable static) || die "./configure failed" + if use amd64 && has_multilib_profile; then + local OPWD=${PWD} + local OABI=${ABI} + local OLDFLAGS="${LDFLAGS}" + cd ${S}-x86 + ABI="x86" + LDFLAGS="${OLDFLAGS} -L/usr/lib32" + src_compile-multi --libdir=/usr/lib32 + cd ${S}-amd64 + ABI="amd64" + LDFLAGS="${OLDFLAGS}" + src_compile-multi --libdir=/usr/lib64 + ABI=${OABI} + cd ${OPWD} + unset OLDFLAGS + unset OPWD + unset OABI + else + src_compile-multi + fi +} + +src_compile-multi() { + econf ${1} $(use_enable static) || die "./configure failed" # fix this weird doc installation directory libsndfile decides # to something more standard @@ -33,6 +61,25 @@ } src_install() { + if use amd64 && has_multilib_profile; then + local OPWD=${PWD} + local OABI=${ABI} + cd ${S}-x86 + ABI="x86" + src_install-multi + cd ${S}-amd64 + ABI="amd64" + src_install-multi + ABI=${OABI} + cd ${OPWD} + unset OPWD + unset OABI + else + src_install-multi + fi +} + +src_install-multi() { make DESTDIR="${D}" install || die "make install failed" dodoc AUTHORS ChangeLog NEWS README TODO || die "dodoc failed" }