summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-electronics/ngspice/Manifest2
-rw-r--r--sci-electronics/ngspice/files/ngspice-27-autoconf_fftw3.patch26
-rw-r--r--sci-electronics/ngspice/files/ngspice-27-split_terminfo.patch20
-rw-r--r--sci-electronics/ngspice/ngspice-27.ebuild99
4 files changed, 147 insertions, 0 deletions
diff --git a/sci-electronics/ngspice/Manifest b/sci-electronics/ngspice/Manifest
index 65f631c0fa4f..15963ee80df1 100644
--- a/sci-electronics/ngspice/Manifest
+++ b/sci-electronics/ngspice/Manifest
@@ -1,2 +1,4 @@
DIST ngspice-26-manual.pdf 2141771 BLAKE2B 16956c46640de4696f7197997b170a2b1aad9b2f9fbe299b801de100d8aaca949b5be6f259e353a168ae90d992d91ff65e8a819b49fdf509fae98ec7dfa610d7 SHA512 1c160aeef61d8091a6d788677bcf7ea682393cc886d5d535f87bb800cdae4f095cbf1e833babadea481956b904b4bdb688cc18b80d9d6a29cab33a54275abab1
DIST ngspice-26.tar.gz 6925987 BLAKE2B 8f8e54000234ea3896a55863df99b6ce83ad322e3049845e0a817635ebfebdc8398e6fa4831727c4798a8d9dce1b1c2a01354505e48dc0b2db9e9036aa2ae5aa SHA512 eb6a81df90de803c9f7544e8d0de7cc413aac169f69d1dec5cc6d2e667b66d42aede7f14c75bcdd10288be0c2ac07863fd4028b9fe59f2f515d680c2ffa41cab
+DIST ngspice-27-manual.pdf 3117788 BLAKE2B 6e271abc50b0139c4776844ea31176d231e68c70ce34d0daec48aefc5ef5a9eac90a77f3141081f38c6ac8d42bb95ec061bf1d43bfd3a4fb13e4822c2eff4f57 SHA512 ed87764715917e2cd832c49e911a2908dba9907f9f01c933cb7f97a92c7f9ff345bc26a2f0561dd34b2eede6874b6a67b4864abf3dcff127bd0306e778e997b5
+DIST ngspice-27.tar.gz 7372998 BLAKE2B ce8590518fa4eb4292c73c4eaefdd9d0da19bca8120b51daae954a5b9d86f51912d2dccb5a827480caadce8321373d96f045226db4986a78bcc9170f2e46f9a5 SHA512 1714f95ab5716c228a0b39395a742e8b9a823e0e6f7e08625d089541ea786df5fd7b9d2982bcec8431e27ac6ba7603ecc507f9cfcb0a6aacd53f5633f52bd2ea
diff --git a/sci-electronics/ngspice/files/ngspice-27-autoconf_fftw3.patch b/sci-electronics/ngspice/files/ngspice-27-autoconf_fftw3.patch
new file mode 100644
index 000000000000..d490938d2099
--- /dev/null
+++ b/sci-electronics/ngspice/files/ngspice-27-autoconf_fftw3.patch
@@ -0,0 +1,26 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -191,6 +191,10 @@
+ AC_ARG_WITH([ngshared],
+ [AS_HELP_STRING([--with-ngshared], [Compiles ngspice as shared library (dll)])])
+
++# --with-fftw3: Use fftw3 for Fourier transforms. Default is "yes".
++AC_ARG_WITH([fftw3],
++ [AS_HELP_STRING([--with-fftw3[=yes/no]], [Use fftw3 for Fourier transforms. Default=yes.])])
++
+ # readline and editline cannot both be enabled
+ if test "x$with_editline" = xyes; then
+ if test "x$with_readline" = xyes; then
+@@ -726,10 +730,12 @@
+ # Look for math library:
+ AC_CHECK_LIB([m], [sqrt])
+ AC_CHECK_HEADERS([float.h limits.h values.h ieeefp.h])
++if test "x$with_fftw3" = xyes; then
+ AC_CHECK_HEADERS([fftw3.h])
+ AC_CHECK_LIB([fftw3], [fftw_plan_dft_1d],
+ [AC_DEFINE([HAVE_LIBFFTW3], [], [Have fft routines in libfftw3])
+ LIBS="$LIBS -lfftw3"])
++fi
+
+ # Check for a few mathematical functions:
+ AC_CHECK_FUNCS([erfc logb scalb scalbn asinh acosh atanh finite])
diff --git a/sci-electronics/ngspice/files/ngspice-27-split_terminfo.patch b/sci-electronics/ngspice/files/ngspice-27-split_terminfo.patch
new file mode 100644
index 000000000000..09f5ee29a3c9
--- /dev/null
+++ b/sci-electronics/ngspice/files/ngspice-27-split_terminfo.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -1016,7 +1016,7 @@
+ AC_CHECK_HEADERS([readline/readline.h readline/history.h],
+ [AC_DEFINE([HAVE_GNUREADLINE], [], [Define if we have GNU readline])],
+ [AC_MSG_ERROR([Couldn't find GNU readline headers.])])
+- AC_SEARCH_LIBS([tputs], [ncurses termcap],
++ AC_SEARCH_LIBS([tputs], [ncurses termcap tinfo],
+ [AC_DEFINE([HAVE_TERMCAP], [], [Define if we have ncurses or termcap])],
+ [AC_MSG_ERROR([Found neither ncurses or termcap])])
+ AC_CHECK_LIB([readline], [readline],
+@@ -1036,7 +1036,7 @@
+ AC_CHECK_HEADERS([editline/readline.h],
+ [AC_DEFINE([HAVE_BSDEDITLINE], [1], [Define to enable BSD editline])],
+ [AC_MSG_ERROR([Couldn't find BSD editline headers.])])
+- AC_SEARCH_LIBS([tputs], [ncurses termcap],
++ AC_SEARCH_LIBS([tputs], [ncurses termcap tinfo],
+ [AC_DEFINE([HAVE_TERMCAP], [], [Define if we have ncurses or termcap])],
+ [AC_MSG_ERROR([Found neither ncurses or termcap])])
+ AC_CHECK_LIB([edit], [readline],
diff --git a/sci-electronics/ngspice/ngspice-27.ebuild b/sci-electronics/ngspice/ngspice-27.ebuild
new file mode 100644
index 000000000000..c4b3ec1f76c7
--- /dev/null
+++ b/sci-electronics/ngspice/ngspice-27.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+DESCRIPTION="The Next Generation Spice (Electronic Circuit Simulator)"
+SRC_URI="mirror://sourceforge/ngspice/${P}.tar.gz
+ doc? ( mirror://sourceforge/ngspice/${P}-manual.pdf )"
+HOMEPAGE="http://ngspice.sourceforge.net"
+LICENSE="BSD GPL-2"
+
+SLOT="0"
+IUSE="X debug doc fftw openmp readline"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x64-macos"
+
+DEPEND="X? ( x11-libs/libICE
+ x11-libs/libXaw
+ x11-libs/libXext
+ x11-libs/libXmu )
+ fftw? ( sci-libs/fftw:3.0 )"
+RDEPEND="${DEPEND}
+ X? ( sci-visualization/xgraph )"
+
+DOCS=(
+ ANALYSES
+ AUTHORS
+ BUGS
+ ChangeLog
+ DEVICES
+ NEWS
+ README
+ Stuarts_Poly_Notes
+)
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autoconf_fftw3.patch
+ "${FILESDIR}"/${P}-split_terminfo.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ local myconf
+ if use debug ; then
+ myconf="--enable-debug \
+ --enable-ftedebug \
+ --enable-cpdebug \
+ --enable-sensdebug \
+ --enable-asdebug \
+ --enable-stepdebug \
+ --enable-pzdebug"
+ else
+ myconf="--disable-debug \
+ --disable-ftedebug \
+ --disable-cpdebug \
+ --disable-sensdebug \
+ --disable-asdebug \
+ --disable-stepdebug \
+ --disable-pzdebug"
+ fi
+ # As of December 2017, these do not compile
+ myconf="${myconf}
+ --disable-blktmsdebug \
+ --disable-smltmsdebug"
+
+ econf \
+ ${myconf} \
+ --enable-xspice \
+ --enable-cider \
+ --enable-ndev \
+ --disable-xgraph \
+ --disable-dependency-tracking \
+ --disable-rpath \
+ $(use_enable openmp) \
+ $(use_with X x) \
+ $(use_with fftw fftw3) \
+ $(use_with readline)
+}
+
+# These will need to be looked at some day:
+# --enable-adms
+# --enable-nodelimiting
+# --enable-predictor
+# --enable-newtrunc
+
+src_install() {
+ default
+
+ # We don't need ngmakeidx to be installed
+ rm -f "${D}"/usr/bin/ngmakeidx
+ rm -f "${D}"/usr/share/man/man1/ngmakeidx.1
+
+ use doc && dodoc "${DISTDIR}"/${P}-manual.pdf
+}