summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/magic/magic-7.1-r3.ebuild')
-rw-r--r--sci-electronics/magic/magic-7.1-r3.ebuild83
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}" ' \;
+}