diff options
author | Marek Szuba <marecki@gentoo.org> | 2021-03-11 12:12:44 +0000 |
---|---|---|
committer | Marek Szuba <marecki@gentoo.org> | 2021-03-11 12:28:58 +0000 |
commit | bbd2dfcd88f95e4294823f92fae72625d0ae9ff3 (patch) | |
tree | 9311be27e5c445f52a25bb67ab46857a03ca1616 /sci-electronics | |
parent | dev-python/python-engineio: Add missing deps (diff) | |
download | gentoo-bbd2dfcd88f95e4294823f92fae72625d0ae9ff3.tar.gz gentoo-bbd2dfcd88f95e4294823f92fae72625d0ae9ff3.tar.bz2 gentoo-bbd2dfcd88f95e4294823f92fae72625d0ae9ff3.zip |
sci-electronics/ngspice: bump to 34
With RESTRICT=test for now because for some reason the run-by-make-check
compatibility mode is not activated in this release and many tests fail
due to unexpected "No compatibility mode selected!" message in the output.
See-Also: https://sourceforge.net/p/ngspice/bugs/544/
Signed-off-by: Marek Szuba <marecki@gentoo.org>
Diffstat (limited to 'sci-electronics')
-rw-r--r-- | sci-electronics/ngspice/Manifest | 2 | ||||
-rw-r--r-- | sci-electronics/ngspice/ngspice-34.ebuild | 202 |
2 files changed, 204 insertions, 0 deletions
diff --git a/sci-electronics/ngspice/Manifest b/sci-electronics/ngspice/Manifest index b47873025363..02267a071df7 100644 --- a/sci-electronics/ngspice/Manifest +++ b/sci-electronics/ngspice/Manifest @@ -1,2 +1,4 @@ DIST ngspice-31-manual.pdf 2149244 BLAKE2B 155f7299cbb6d7c7953d8488e11f0bffc3c18097f02194c491174a9af387cda9e87cb79b13a37f402616386e7e82230eb4d41909fe37d900792e48f2f49c71dd SHA512 3322df92791718979a275f2640f82c3417f394a76d27ebf06b46f29a40a1ee3ef57c65a75a7ba67e697b55bd435f81e9ee61c78532f991a2dd6844b4f325eb55 DIST ngspice-31.tar.gz 7250057 BLAKE2B dabc8e1084eba957d6dad06e74f878b51e97dc8bc49b04ee612a6f9eaadde7302450c9ab93e943c4af42197b6bbdca7cae534464ccd2fcd4869b8a48b6f3140d SHA512 448024f398d267911d5d2a48da03eb0d87ba1133ce39d5132bd318dde8ad359d19c7f85f6b4ec88c08b081c9140f7b931334d84173019a22aa2ac98482bd7d5d +DIST ngspice-34-manual.pdf 2311221 BLAKE2B e8863bab8173980a825970b90b685d3d5a59768a2110d00dc3fb3dbd504cd94390b13bf3ac8821ca22561cb390c0d7331d8eaa8e47020592b3526895f6d398d0 SHA512 b53f9161b793223015a307ba607add4e540ad22f252c2f6e3c6deedfc3fde173ec290bbc4939d4e419321cad6a68218f6a9c9b4c7620ee01da86eabfc22e5b7e +DIST ngspice-34.tar.gz 7800546 BLAKE2B a07a7266225b8c4e478e3240718aa1fce9a77003d58477a30a6178368e7826f288007f9111797ca1c426486911d4bedd847bdf0daa69232e59333304468a4fc3 SHA512 5e90727f3f6b8675b83f71e1961d33cd498081a7f3bea5d081521f12ecb3979775159f083f84a5856233529505262c399f75d305758af51894a1245603476cf8 diff --git a/sci-electronics/ngspice/ngspice-34.ebuild b/sci-electronics/ngspice/ngspice-34.ebuild new file mode 100644 index 000000000000..d8cc8a52047e --- /dev/null +++ b/sci-electronics/ngspice/ngspice-34.ebuild @@ -0,0 +1,202 @@ +# Copyright 1999-2021 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" +KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86 ~x64-macos" + +# A large number of tests currently fails due to spurious +# "No compatibility mode selected!" messages in the output, +# see https://sourceforge.net/p/ngspice/bugs/544/ +#RESTRICT="!test? ( test )" +RESTRICT="test" + +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 March 2021, these do not compile + myeconfargs+=( + --disable-blktmsdebug + --disable-smltmsdebug + ) + + myeconfargs+=( + --enable-xspice + --enable-cider + --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 +} |