From: Simon Stelling Date: Wed, 21 Feb 2007 09:08:20 +0000 (+0000) Subject: new emul-libs eclass X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4644f966e5680c0cd9f510c6c2e5a966156cacf2;p=gentoo.git new emul-libs eclass --- diff --git a/eclass/emul-libs.eclass b/eclass/emul-libs.eclass new file mode 100644 index 000000000000..170958666f35 --- /dev/null +++ b/eclass/emul-libs.eclass @@ -0,0 +1,45 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/eclass/emul-libs.eclass,v 1.1 2007/02/21 09:08:20 blubb Exp $ + +# +# Original Author: Simon Stelling +# Purpose: Providing a template for the app-emulation/emul-linux-* packages +# + +EXPORT_FUNCTIONS src_unpack src_install + +DESCRIPTION="Provides precompiled 32bit libraries" +HOMEPAGE="http://amd64.gentoo.org/emul/content.xml" + +RESTRICT="strip" +S=${WORKDIR} + +SLOT="0" +IUSE="" + +emul-libs_src_unpack() { + einfo "Note: You can safely ignore the 'trailing garbage after EOF'" + einfo " warnings below" + + unpack ${A} + cd "${S}" + + ALLOWED=${ALLOWED:-^${S}/etc/env.d} + find "${S}" ! -type d ! -name '*.so*' | egrep -v "${ALLOWED}" | xargs -d $'\n' rm -f || die 'failed to remove everything but *.so*' +} + +emul-libs_src_install() { + for dir in etc/env.d etc/revdep-rebuild ; do + if [[ -d "${S}"/${dir} ]] ; then + for f in "${S}"/${dir}/* ; do + mv -f "$f"{,-emul} + done + fi + done + + # remove void directories + find "${S}" -print0 -depth -type d | xargs -0 rmdir 2&>/dev/null + + cp -dpPR "${S}"/* "${D}"/ || die "copying files failed!" +}