diff options
Diffstat (limited to 'sci-electronics/magic/magic-7.1-r3.ebuild')
-rw-r--r-- | sci-electronics/magic/magic-7.1-r3.ebuild | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/sci-electronics/magic/magic-7.1-r3.ebuild b/sci-electronics/magic/magic-7.1-r3.ebuild new file mode 100644 index 000000000000..7d68253f7d9d --- /dev/null +++ b/sci-electronics/magic/magic-7.1-r3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sci-electronics/magic/magic-7.1-r3.ebuild,v 1.1 2005/04/21 20:54:56 wormo Exp $ + +inherit eutils +inherit flag-o-matic + +DESCRIPTION="The VLSI design CAD tool" +HOMEPAGE="http://vlsi.cornell.edu/magic/" +SRC_URI="http://vlsi.cornell.edu/magic/${P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~x86 ~ppc" +IUSE="" + +DEPEND="sys-apps/findutils + dev-lang/perl + >=app-shells/tcsh-6.10-r3 + sys-libs/libtermcap-compat" +RDEPEND="sys-libs/libtermcap-compat" + +src_unpack() { + unpack ${A} + + # Patch to use FHS paths + epatch ${FILESDIR}/${P}-fhs.patch + + # Patch for GCC 3.2 compatibility + epatch ${FILESDIR}/${P}-gcc3.2.patch + + # Add one more needed for GCC 3.4 (but earlier gcc won't mind) + epatch ${FILESDIR}/${P}-remove-decl.patch + + # Fix endianness problem for ppc + epatch ${FILESDIR}/${P}-ppc-endian.patch + + # some gcc 3.3 stuff, paths... + cd ${S} + # work around cvs problem + sed -i 's/\$Header/\$NO_RCS_Header/' magic/proto.magic + epatch ${FILESDIR}/${P}-misc.patch + + # Insert our idea of configuration file + cp ${FILESDIR}/defs.mak-${PV}-r2 ${S}/defs.mak + strip-flags + sed -i "/^CFLAGS/ s/=.*/= ${CFLAGS}/;" ${S}/defs.mak + + scripts/makedbh database/database.h.in database/database.h + + # Clean up all the pre-GCC-3.2 preprocessor directives + einfo "Cleansing preprocessor directives" + find ./ -name "*.[ch]" | xargs -n 1 perl -pi -e 's/^\#endif..*$/\#endif/' + find ./ -name "*.[ch]" | xargs -n 1 perl -pi -e 's/^\#else..*$/\#else/' +} + +src_compile() { + # this program does not like optimizations or parallel builds + make || die + egrep -q "^make.*Error" make.log && die "Error while compiling - please add ${S}/make.log to your error report." +} + +src_install() { + make DESTDIR=${D} install || die + + insinto /etc/env.d + doins ${FILESDIR}/10magic + keepdir /var/lock/magic + chmod +t ${D}/var/lock/magic + chmod ugo+rwx ${D}/var/lock/magic + cd ${D}/usr/lib/magic + mv * ${D}/usr/share/magic/ + cd ${D}/usr/lib + mv *.h *.a magic/ + ln -s ../../share/magic/sys magic/sys + ln -s ../../share/magic/scm magic/scm + ln -s ../../share/magic/tutorial magic/tutorial + + # try to make man page names unique (many are so generic they collide) + cd ${D}/usr/share/man + find . -type f ! -name "*magic*" -exec \ + sh -c 'F=`echo {} | sed -e "s:\(man.\)/:\1/magic-:;"` ; mv "{}" "${F}" ' \; +} |