From c81f0b34a260766f971f20c2207f8d834a4a6a40 Mon Sep 17 00:00:00 2001 From: Marek Szuba Date: Wed, 27 Dec 2017 12:30:21 +0100 Subject: sci-electronics/ngspice: bump to version 27 and EAPI 6 Major changes: * there is now a proper optional dependency on sci-libs/fftw, controlled by USE=fftw; * enabled OpenMP support, controlled by USE=openmp; * SENSdebug compiles again so it is now included in USE=debug; * the manual is only installed if USE=doc is set; * tests can now be run properly. At present two of them ("empty" and "resume", both in regression/misc/) fail, however it is only because of excessive output from the executable so it should be easy to fix. Package-Manager: Portage-2.3.13, Repoman-2.3.3 --- sci-electronics/ngspice/Manifest | 2 + .../ngspice/files/ngspice-27-autoconf_fftw3.patch | 26 ++++++ .../ngspice/files/ngspice-27-split_terminfo.patch | 20 +++++ sci-electronics/ngspice/ngspice-27.ebuild | 99 ++++++++++++++++++++++ 4 files changed, 147 insertions(+) create mode 100644 sci-electronics/ngspice/files/ngspice-27-autoconf_fftw3.patch create mode 100644 sci-electronics/ngspice/files/ngspice-27-split_terminfo.patch create mode 100644 sci-electronics/ngspice/ngspice-27.ebuild (limited to 'sci-electronics/ngspice') 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 +} -- cgit v1.2.3-18-g5258