# Copyright 2014 Hacking Networked Solutions # Distributed under the terms of the GNU General Public License v3 # $Header: $ EAPI="2" inherit multilib toolchain-funcs eutils SNAPSHOTDATE="${P##*.}" MY_PV="${PN}-${SNAPSHOTDATE:0:4}-${SNAPSHOTDATE:4:2}-${SNAPSHOTDATE:6:2}" DESCRIPTION="GNUCap is the GNU Circuit Analysis Package" SRC_URI="http://www.gnucap.org/devel/${MY_PV}.tar.gz http://www.gnucap.org/devel/${MY_PV}-models-bsim.tar.gz http://www.gnucap.org/devel/${MY_PV}-models-jspice3-2.5.tar.gz http://www.gnucap.org/devel/${MY_PV}-models-ngspice17.tar.gz http://www.gnucap.org/devel/${MY_PV}-models-spice3f5.tar.gz" HOMEPAGE="http://www.gnucap.org/" IUSE="" SLOT="0" LICENSE="GPL-2" KEYWORDS="~amd64 ~ppc ~x86" DEPEND="sys-libs/ncurses sys-libs/readline" RDEPEND="${DEPEND}" S="${WORKDIR}/${MY_PV}" src_prepare() { # Fix the paths and variables in the models-* Make2 files. sed -i -e 's:CFLAGS = -O2 -g:CPPFLAGS +=:' \ -e '/CCFLAGS =/i\CFLAGS += $(CPPFLAGS)' \ -e 's:CCFLAGS = $(CFLAGS):CXXFLAGS += $(CPPFLAGS):' \ -e 's:LDFLAGS = :LDFLAGS += :' \ -e 's:CCFLAGS:CXXFLAGS:' \ -e "s:../Gnucap:${S}/include:" \ models-*/Make2 || die "sed failed" # Fix parallel make. sed -i -e 's:; make:; $(MAKE):' \ models-*/Makefile || die "sed failed" epatch "${FILESDIR}"/dynamic-linking.patch epatch "${FILESDIR}"/readline_test.patch tc-export CC CXX } src_compile () { emake || die "Compilation failed" for PLUGIN_DIR in models-* ; do cd "${S}/${PLUGIN_DIR}" emake CC=$(tc-getCC) CCC=$(tc-getCXX) || die "Compilation failed in ${PLUGIN_DIR}" done } src_install () { emake PREFIX="${D}" DESTDIR="${D}" install || die "Installation failed" insopts -m0755 for PLUGIN_DIR in models-* ; do insinto /usr/$(get_libdir)/gnucap/${PLUGIN_DIR} cd "${S}/${PLUGIN_DIR}" for PLUGIN in */*.so ; do newins ${PLUGIN} ${PLUGIN##*/} \ || die "Installation of ${PLUGIN_DIR}/${PLUGIN} failed" done done } pkg_postinst() { elog "Documentation for development releases is now available at :" elog " http://wiki.gnucap.org/dokuwiki/doku.php?id=gnucap:manual" }