# Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/sci-electronics/balsa/balsa-3.5.ebuild,v 1.1 2006/08/15 18:53:27 chrb Exp $ inherit eutils IUSE="" DESCRIPTION="The Balsa asynchronous synthesis system" HOMEPAGE="http://www.cs.manchester.ac.uk/apt/projects/tools/balsa/" SRC_URI="ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/BalsaExamples${PV}.tar.gz ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/BalsaManual${PV}.pdf ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/${P}.tar.gz ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/${PN}-sim-verilog-${PV}.tar.gz ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/${PN}-tech-example-${PV}.tar.gz ftp://ftp.cs.man.ac.uk/pub/amulet/balsa/${PV}/${PN}-tech-xilinx-${PV}.tar.gz " LICENSE="GPL-2" SLOT="0" KEYWORDS="~x86 ~ppc" DEPEND="virtual/libc sys-devel/binutils dev-libs/gmp dev-lang/perl x11-libs/gtk+ sci-electronics/iverilog sci-electronics/gplcver" RDEPEND="${DEPEND} dev-util/guile media-gfx/graphviz sci-electronics/gtkwave sci-electronics/espresso-ab" BALSA_TECH_AMS="balsa-tech-ams-20030506.tar.gz" if [ -f ${DISTDIR}/${BALSA_TECH_AMS} ]; then TECH_AMS=1 fi src_unpack() { unpack ${A} if [ $TECH_AMS ]; then unpack ${BALSA_TECH_AMS} fi sed -i -e "s:\(DEFAULT_INCLUDES = \)\(.*\):\1-I${S}/src/libs/ \2/:" ${WORKDIR}/balsa-sim-verilog-${PV}/libs/Makefile.in sed -i -e 's/ $(bindir)/ $(DESTDIR)$(bindir)/' ${S}/bin/Makefile.in sed -i -e 's/ $(balsatypesdir)/ $(DESTDIR)$(balsatypesdir)/' ${S}/share/balsa/types/Makefile.in sed -i -e 's/ $(balsasimdir)/ $(DESTDIR)$(balsasimdir)/' ${S}/share/balsa/sim/Makefile.in } src_compile() { # compile balsa einfo "Compiling balsa" ./configure --prefix=/usr/ || die "econf failed" chmod +x bin/balsa-config PATH=$PATH:${S}/bin emake -j1 || die # configure AMS035 tech if [ $TECH_AMS ]; then einfo "Compiling AMS035 tech" cd ${WORKDIR}/balsa-tech-ams-20030506 econf || die "econf failed" fi # config Xilinx FPGA backend einfo "Compiling Xilinx FPGA backend" cd ${WORKDIR}/balsa-tech-xilinx-${PV} econf || die "econf failed" # config example tech einfo "Compiling tech example" cd ${WORKDIR}/balsa-tech-example-${PV} econf || die "econf failed" # config verilog simulator wrappers einfo "Compiling verilog simulator wrappers" cd ${WORKDIR}/balsa-sim-verilog-${PV} ./configure --includedir=${S}/src/libs/balsasim \ --with-icarus-includes=/usr/include \ --with-icarus-libs=/usr/lib \ --with-cver-includes=/usr/include/cver_pli_incs || die } src_install() { # install balsa cd ${S} einfo "Installing balsa" make DESTDIR=${D} install || die # install manual and examples dodir /usr/share/doc/${P}/ cp -pPR ${WORKDIR}/BalsaExamples ${D}/usr/share/doc/${P}/ dodoc ${DISTDIR}/BalsaManual${PV}.pdf if [ $TECH_AMS ]; then einfo "Installing AMS035 tech" cd ${WORKDIR}/balsa-tech-ams-20030506 make DESTDIR=${D} install || die "make install failed" fi einfo "Installing Xilinx FPGA tech" cd ${WORKDIR}/balsa-tech-xilinx-${PV} make DESTDIR=${D} install || die "make install failed" einfo "Installing example tech" cd ${WORKDIR}/balsa-tech-example-${PV} make DESTDIR=${D} install || die "make install failed" einfo "Installing verilog simulator wrappers" cd ${WORKDIR}/balsa-sim-verilog-${PV} DESTDIR=${D} make install || die "make verilog wrappers failed" # fix paths cd ${D} einfo "Fixing paths" find . -type f -exec sed -i -e "s:${D}::" {} \; find . -name "sed*" -exec rm -f {} \; # add some docs cd ${S} einfo "Installing docs" dodoc AUTHORS COPYING NEWS README TODO mv ${D}/usr/doc/* ${D}/usr/share/doc/${P}/ rmdir ${D}/usr/doc # fix collisions rm -f ${D}/usr/bin/libtool } pkg_postinst() { if [ ! $TECH_AMS ]; then elog "The AMS035 tech library was not installed." elog "If you have the appropriate licenses request" elog "the tech support files directly from balsa@cs.man.ac.uk" elog "and add them to /usr/portage/distfiles before emerging." else elog "The AMS035 tech library was found and installed." fi }