summaryrefslogtreecommitdiff
path: root/sci-electronics/ngspice
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-11-10 13:21:36 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-11-10 13:21:36 +0000
commit77398e424e45d9e98c1cef3c43bdadb9d56e81ef (patch)
tree5aeffd3fc7b92fc615bd2c222fa8831aeda1925b /sci-electronics/ngspice
parentbd4aeefe33e63f613512604e47bfca7b2187697d (diff)
gentoo resync : 10.11.2019
Diffstat (limited to 'sci-electronics/ngspice')
-rw-r--r--sci-electronics/ngspice/Manifest5
-rw-r--r--sci-electronics/ngspice/metadata.xml1
-rw-r--r--sci-electronics/ngspice/ngspice-31-r1.ebuild198
3 files changed, 203 insertions, 1 deletions
diff --git a/sci-electronics/ngspice/Manifest b/sci-electronics/ngspice/Manifest
index dddadc3a5a70..d2d9e5aef9c2 100644
--- a/sci-electronics/ngspice/Manifest
+++ b/sci-electronics/ngspice/Manifest
@@ -4,6 +4,9 @@ AUX ngspice-27-fix_parsing_tcl_commands.patch 448 BLAKE2B d5d3532bca4301aa4c2811
AUX ngspice-27-split_terminfo.patch 1081 BLAKE2B 8e44c6fe8447b419986206cc658a255e3c574d81cbbb3079d00f08046978f7a08c8c3e9697fdbf009aa1840df60d0045bd6712351280977cf8e66e3d2d505ab2 SHA512 2e5b7f83045304fbc5b35a9c7aeff3ed343b27d830e4d69bf5b30c631f59965241116afc5d062f3fb16b20710e42897605fc614fecb01997a92c595c47510f66
DIST ngspice-27-manual.pdf 3117788 BLAKE2B 6e271abc50b0139c4776844ea31176d231e68c70ce34d0daec48aefc5ef5a9eac90a77f3141081f38c6ac8d42bb95ec061bf1d43bfd3a4fb13e4822c2eff4f57 SHA512 ed87764715917e2cd832c49e911a2908dba9907f9f01c933cb7f97a92c7f9ff345bc26a2f0561dd34b2eede6874b6a67b4864abf3dcff127bd0306e778e997b5
DIST ngspice-27.tar.gz 7372998 BLAKE2B ce8590518fa4eb4292c73c4eaefdd9d0da19bca8120b51daae954a5b9d86f51912d2dccb5a827480caadce8321373d96f045226db4986a78bcc9170f2e46f9a5 SHA512 1714f95ab5716c228a0b39395a742e8b9a823e0e6f7e08625d089541ea786df5fd7b9d2982bcec8431e27ac6ba7603ecc507f9cfcb0a6aacd53f5633f52bd2ea
+DIST ngspice-31-manual.pdf 2149244 BLAKE2B 155f7299cbb6d7c7953d8488e11f0bffc3c18097f02194c491174a9af387cda9e87cb79b13a37f402616386e7e82230eb4d41909fe37d900792e48f2f49c71dd SHA512 3322df92791718979a275f2640f82c3417f394a76d27ebf06b46f29a40a1ee3ef57c65a75a7ba67e697b55bd435f81e9ee61c78532f991a2dd6844b4f325eb55
+DIST ngspice-31.tar.gz 7250057 BLAKE2B dabc8e1084eba957d6dad06e74f878b51e97dc8bc49b04ee612a6f9eaadde7302450c9ab93e943c4af42197b6bbdca7cae534464ccd2fcd4869b8a48b6f3140d SHA512 448024f398d267911d5d2a48da03eb0d87ba1133ce39d5132bd318dde8ad359d19c7f85f6b4ec88c08b081c9140f7b931334d84173019a22aa2ac98482bd7d5d
EBUILD ngspice-27-r1.ebuild 4281 BLAKE2B def66993990b59da6920f3fafb4b55b0219308323ebc5d64398cd1ef149219dd54d77bcf8b7c60a4207d70e6e9a39c389877e72d49cda1663fd97e3e1d41d8f7 SHA512 568bc61f6770fde21b14ab3412afa9d8e1054fdb7b5794c0504fb7de3cddaa6ef190756c2944c50dc7ca7754d5bc2c81fb272a96b189b52b720dcf61b0e2838e
EBUILD ngspice-27.ebuild 1828 BLAKE2B f7e886b443f1d58cce69434a5dd9dd87cbd67cd0d6432b99a7efd857f4f7feb36cec3f56502550227785cbffd51f11b819394d247fd4b45c7ed0862f1e5739c1 SHA512 e2fc30a6ce6ef0ecc83444f4e3a305826bdb7c3591984382e0f1cfd9469d5caf0771d4aacd8c8e0e35fff6eb06e3577c13e655692cf610c30586e02558b2292f
-MISC metadata.xml 613 BLAKE2B 658a1ccd1c1149c4b3626b482b1c80845502b80d0cd9316117f433edc4d2e5106ac92b97c3bebc23c43a82247592cc85068b08eea3caa859f976548f2a890a73 SHA512 791dc0311699db360c5e013f33786fb546119010cb8bbc36fc91ac6a522f1642f4297d8ffb945291ee20ce337647777d06e463083ac6ca0888d36ff0e1a71dcc
+EBUILD ngspice-31-r1.ebuild 4418 BLAKE2B 7279ba23e8e6e9c08c8ca27536e46858babc7296cd6c0c000148dafe7bce30a0e3d899f4b93caedac42dfa5d7c0bfedc0f01fba0e1ddae75a4d8295bbcd4707c SHA512 f48200b148d8d83301747a14a00a40fb2711aa65ed6130160650827488d3737b137c1ddce6a71d2d05db1c2b536262813c7b58826d5b50ece98b9bd13ec7c8b8
+MISC metadata.xml 676 BLAKE2B 9f7a12febdcf08bf12af50524f20250fdb253888ff12045d6033f957f9c6d81fd21ce47a1e6694d9aa48d28fa2b5f9e3cbabc8e54f4e810ea10e5f251ebf3165 SHA512 3a92c343662ecec1091a9bc8e5b4c9569c783e3ddd78027925487a93446d43c863f918de67a8738eea463994ba6c590e693245d36ed4e05e62312cf100a1f2a7
diff --git a/sci-electronics/ngspice/metadata.xml b/sci-electronics/ngspice/metadata.xml
index ed47ec5f1705..293e59a7c77f 100644
--- a/sci-electronics/ngspice/metadata.xml
+++ b/sci-electronics/ngspice/metadata.xml
@@ -10,6 +10,7 @@
three open source software packages: Spice3f5, Cider1b1 and Xspice.
</longdescription>
<use>
+ <flag name="deprecated">Build old and deprecated apps</flag>
<flag name="shared">Build ngspice as a shared library</flag>
</use>
<upstream>
diff --git a/sci-electronics/ngspice/ngspice-31-r1.ebuild b/sci-electronics/ngspice/ngspice-31-r1.ebuild
new file mode 100644
index 000000000000..e5e3414ba86b
--- /dev/null
+++ b/sci-electronics/ngspice/ngspice-31-r1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools multibuild toolchain-funcs virtualx
+
+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 deprecated doc examples fftw openmp +readline +shared tcl"
+RESTRICT="!test? ( test )"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86 ~x64-macos"
+
+DEPEND="sys-libs/ncurses:0=
+ X? ( x11-libs/libXaw
+ x11-libs/libXt
+ x11-libs/libX11 )
+ fftw? ( sci-libs/fftw:3.0 )
+ readline? ( sys-libs/readline:0= )
+ tcl? ( dev-lang/tcl:0
+ dev-tcltk/blt )"
+RDEPEND="${DEPEND}
+ X? ( sci-visualization/xgraph )"
+
+DOCS=(
+ ANALYSES
+ AUTHORS
+ BUGS
+ ChangeLog
+ DEVICES
+ FAQ
+ NEWS
+ README
+ README.vdmos
+ Stuarts_Poly_Notes
+)
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( "binaries" )
+ use shared && MULTIBUILD_VARIANTS+=( "shared" )
+ use tcl && MULTIBUILD_VARIANTS+=( "tcl" )
+ use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ if use tcl; then
+ if use examples; then
+ find examples/tclspice -type f -iname \*tcl -or -iname \*.sh |
+ while read s
+ do
+ sed -i -e 's@../../../src/.libs/libspice.so@libspice.so@g' \
+ -e 's@package require BLT@package require Tk\npackage require BLT@g' \
+ -e "s@spice::codemodel \(.*\)/\(.*\).cm@spice::codemodel /usr/$(get_libdir)/ngspice/\2.cm@g" \
+ "${s}" || die "sed failed"
+ done
+ fi
+ fi
+
+ eautoreconf
+ multibuild_copy_sources
+}
+
+src_configure() {
+ multibuild_foreach_variant ngspice_configure
+}
+
+ngspice_configure() {
+ local myeconfargs
+
+ pushd "${BUILD_DIR}" &>/dev/null || die
+
+ if use debug; then
+ myeconfargs=(
+ --enable-debug
+ --enable-ftedebug
+ --enable-cpdebug
+ --enable-sensdebug
+ --enable-asdebug
+ --enable-stepdebug
+ --enable-pzdebug
+ )
+ else
+ myeconfargs=(
+ --disable-debug
+ --disable-ftedebug
+ --disable-cpdebug
+ --disable-sensdebug
+ --disable-asdebug
+ --disable-stepdebug
+ --disable-pzdebug
+ )
+ fi
+
+ # As of December 2017, these do not compile
+ myeconfargs+=(
+ --disable-blktmsdebug
+ --disable-smltmsdebug
+ )
+
+ myeconfargs+=(
+ --enable-xspice
+ --enable-cider
+ --disable-dependency-tracking
+ --disable-rpath
+ $(use_enable openmp)
+ $(use_with fftw fftw3)
+ $(use_with readline)
+ )
+
+ if [[ "${MULTIBUILD_VARIANT}" == "shared" ]]; then
+ myeconfargs+=( --with-ngshared )
+ elif [[ "${MULTIBUILD_VARIANT}" == "tcl" ]]; then
+ myeconfargs+=( --with-tcl="${EPREFIX}/usr/$(get_libdir)" )
+ else
+ myeconfargs+=(
+ $(use_enable deprecated oldapps)
+ $(use_with X x)
+ )
+ fi
+
+ econf "${myeconfargs[@]}"
+
+ popd &>/dev/null || die
+}
+
+src_compile() {
+ multibuild_foreach_variant ngspice_compile
+}
+
+ngspice_compile() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+ default
+ popd &>/dev/null || die
+}
+
+src_install() {
+ multibuild_foreach_variant ngspice_install
+
+ # merge the installations of all variants
+ local v
+ for v in "${MULTIBUILD_VARIANTS[@]}" ; do
+ cp -a "${ED}/tmp/${v}"/* "${ED}" || die "Failed to combine multibuild installations"
+ done
+ rm -rf "${ED}/tmp" || die
+
+ use tcl && DOCS+=( README.tcl )
+ use shared && DOCS+=( README.shared-xspice )
+ use doc && DOCS+=( "${DISTDIR}"/${P}-manual.pdf )
+
+ default
+
+ if use examples; then
+ if ! use tcl; then
+ rm -rf examples/tclspice || die
+ fi
+
+ insinto /usr/share/${PN}
+ doins -r examples
+ fi
+}
+
+ngspice_install() {
+ pushd "${BUILD_DIR}" &>/dev/null || die
+
+ emake DESTDIR="${ED}/tmp/${MULTIBUILD_VARIANT}" install
+
+ # Strip shared-library and Tcl-module builds to the bare minimum;
+ # all the support files will have been handled by the 'binaries' build.
+ if [[ "${MULTIBUILD_VARIANT}" != "binaries" ]]; then
+ rm -rf "${ED}/tmp/${MULTIBUILD_VARIANT}"/usr/bin{,.debug} || die
+ rm -rf "${ED}/tmp/${MULTIBUILD_VARIANT}"/usr/share || die
+ rm -rf "${ED}/tmp/${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/*.la || die
+ rm -rf "${ED}/tmp/${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/ngspice/*.cm{,.debug} || die
+ fi
+
+ popd &>/dev/null || die
+}
+
+src_test() {
+ if ! use debug; then
+ # tests can be only executed for the binaries variant
+ pushd "${WORKDIR}/${P}-binaries" &>/dev/null || die
+ virtx default
+ popd &>/dev/null || die
+ else
+ # https://sourceforge.net/p/ngspice/bugs/353/
+ ewarn
+ ewarn "Skipping tests because they are known to fail in debug mode"
+ ewarn
+ fi
+}