commit:     ab622819ea56352cb14695f0a4eab537856b15a0
Author:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
AuthorDate: Sun Sep  5 18:12:08 2021 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sun Sep  5 19:17:20 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab622819

sci-electronics/ngspice: Bump 35

Closes: https://bugs.gentoo.org/730548
Closes: https://bugs.gentoo.org/787263
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>

 sci-electronics/ngspice/Manifest          |   2 +
 sci-electronics/ngspice/ngspice-35.ebuild | 198 ++++++++++++++++++++++++++++++
 2 files changed, 200 insertions(+)

diff --git a/sci-electronics/ngspice/Manifest b/sci-electronics/ngspice/Manifest
index 02267a071df..a9fc63fa30c 100644
--- a/sci-electronics/ngspice/Manifest
+++ b/sci-electronics/ngspice/Manifest
@@ -2,3 +2,5 @@ DIST ngspice-31-manual.pdf 2149244 BLAKE2B 
155f7299cbb6d7c7953d8488e11f0bffc3c18
 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
+DIST ngspice-35-manual.pdf 2347261 BLAKE2B 
617462615525e5335f5795e625578324d2b173a8d69438e43c4007177e7ca0fdf8d37b1553a4c836a352523c310bbf23ef492a01ac0a7541ca8ac0794b588a66
 SHA512 
df3239c4798746534d12a489d80056d45d9f3cda60336aaeb2dd541526340715a180780b0e2ced1857e9c5cbe716c4b3f0c496598f8a3e8aa36a8cd1b6a022c7
+DIST ngspice-35.tar.gz 8050668 BLAKE2B 
d67475b55e1e14974a78451175a08ec91be24708030e0da8fa6811b7df880c8082741ec08d92c314c53480271cc074e35ad0eca27a3b7601e33fb240c834e530
 SHA512 
2f9b0f951e3ca8d52692beadb895b352311f67b8760f99d0e2f4718fce4b497dd68e2b933029eeacb4ed57551e959bc6e3747e64feb4722a4f841e734f5a664b

diff --git a/sci-electronics/ngspice/ngspice-35.ebuild 
b/sci-electronics/ngspice/ngspice-35.ebuild
new file mode 100644
index 00000000000..17b7d8e3355
--- /dev/null
+++ b/sci-electronics/ngspice/ngspice-35.ebuild
@@ -0,0 +1,198 @@
+# 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"
+
+RESTRICT="!test? ( 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}"
+
+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/[email protected]@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
+               echo "set ngbehavior=mc" > "${HOME}"/.spiceinit || die "Failed 
to configure ${PN} for running the test suite"
+               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
+}

Reply via email to