summaryrefslogtreecommitdiff
blob: bdfa926adc412c8e9d3e9676e9b8d9cd3bca7364 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-electronics/ng-spice-rework/ng-spice-rework-17-r2.ebuild,v 1.1 2007/05/26 20:57:56 calchan Exp $

inherit eutils

DESCRIPTION="The Next Generation Spice (Electronic Circuit Simulator)."
SRC_URI="mirror://sourceforge/ngspice/${P}.tar.gz
	doc? ( http://users.ece.gatech.edu/~mrichard/Xspice/Xspice_Users_Manual.pdf \
		http://users.ece.gatech.edu/~mrichard/Xspice/XSpice_SoftwareDesignDoc_Sep92.pdf \
		http://users.ece.gatech.edu/~mrichard/Xspice/XSpice_InterfaceDesignDoc_Sep92.pdf \
		http://users.ece.gatech.edu/~mrichard/Xspice/XSpice_CodeModelSubsysSoftwareDesign.pdf \
		http://users.ece.gatech.edu/~mrichard/Xspice/XSpice_CodeModelSubsysInterfaceDesign.pdf )"
HOMEPAGE="http://ngspice.sourceforge.net"
LICENSE="BSD GPL-2"

SLOT="0"
IUSE="X debug doc readline"
KEYWORDS="~amd64 ~ppc ~sparc ~x86"

DEPEND="readline? ( >=sys-libs/readline-5.0 )
	X? ( x11-libs/libXaw
		x11-libs/libXt
		x11-libs/libX11
		sci-visualization/xgraph )"

src_unpack() {
	unpack ${A}
	cd ${S}
	epatch ${FILESDIR}/${PN}-com_let.patch
	epatch ${FILESDIR}/${PN}-numparam.patch
	epatch ${FILESDIR}/${PN}-pipemode.patch
	epatch ${FILESDIR}/${PN}-postscript.patch
	sed -i -e 's/CFLAGS=" "/CFLAGS="\${CFLAGS}"/' configure
	if use doc ; then
		cp ${DISTDIR}/Xspice_Users_Manual.pdf ${S}
		cp ${DISTDIR}/XSpice_SoftwareDesignDoc_Sep92.pdf ${S}
		cp ${DISTDIR}/XSpice_InterfaceDesignDoc_Sep92.pdf ${S}
		cp ${DISTDIR}/XSpice_CodeModelSubsysSoftwareDesign.pdf ${S}
		cp ${DISTDIR}/XSpice_CodeModelSubsysInterfaceDesign.pdf ${S}
	fi
}

src_compile() {
	local MYCONF
	if use debug ; then
		MYCONF="--enable-debug \
			--enable-ftedebug \
			--enable-cpdebug \
			--enable-asdebug \
			--enable-stepdebug \
			--enable-pzdebug"
	else
		MYCONF="--disable-debug \
			--disable-ftedebug \
			--disable-cpdebug \
			--disable-asdebug \
			--disable-stepdebug \
			--disable-pzdebug"
	fi
	# Those don't compile
	MYCONF="${MYCONF} \
		--disable-sensdebug \
		--disable-blktmsdebug \
		--disable-smltmsdebug"

	econf ${MYCONF} \
		--enable-intnoise \
		--enable-xspice \
		--enable-numparam \
		--enable-dot-global \
		--disable-xgraph \
		--disable-dependency-tracking \
		$(use_with X x) \
		$(use_with readline) \
		|| die "econf failed"
	emake || die "emake failed"
}

src_install () {
	local infoFile
	for infoFile in doc/ngspice.info*; do
		echo 'INFO-DIR-SECTION EDA' >> ${infoFile}
		echo 'START-INFO-DIR-ENTRY' >> ${infoFile}
		echo '* NGSPICE: (ngspice). Electronic Circuit Simulator.' >> ${infoFile}
		echo 'END-INFO-DIR-ENTRY' >> ${infoFile}
	done

	emake DESTDIR="${D}" install || die "make install failed"
	dodoc ANALYSES AUTHORS BUGS ChangeLog DEVICES NEWS \
		README Stuarts_Poly_Notes || die "failed to install documentation"

	if use doc ; then
		insinto /usr/share/doc/${PF}
		doins doc/ngspice.pdf
		doins *.pdf
	fi

	# We don't need makeidx to be installed
	rm ${D}/usr/bin/makeidx
}

src_test () {
	# Bug 108405
	true
}