summaryrefslogtreecommitdiff
path: root/sci-electronics
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics')
-rw-r--r--sci-electronics/Manifest.gzbin8542 -> 8541 bytes
-rw-r--r--sci-electronics/ngspice/Manifest3
-rw-r--r--sci-electronics/ngspice/ngspice-40.ebuild210
3 files changed, 213 insertions, 0 deletions
diff --git a/sci-electronics/Manifest.gz b/sci-electronics/Manifest.gz
index e150ba509cfb..2d06ca251dd5 100644
--- a/sci-electronics/Manifest.gz
+++ b/sci-electronics/Manifest.gz
Binary files differ
diff --git a/sci-electronics/ngspice/Manifest b/sci-electronics/ngspice/Manifest
index afade407b1d2..e17d177ceb56 100644
--- a/sci-electronics/ngspice/Manifest
+++ b/sci-electronics/ngspice/Manifest
@@ -6,8 +6,11 @@ DIST ngspice-35-manual.pdf 2347261 BLAKE2B 617462615525e5335f5795e625578324d2b17
DIST ngspice-35.tar.gz 8050668 BLAKE2B d67475b55e1e14974a78451175a08ec91be24708030e0da8fa6811b7df880c8082741ec08d92c314c53480271cc074e35ad0eca27a3b7601e33fb240c834e530 SHA512 2f9b0f951e3ca8d52692beadb895b352311f67b8760f99d0e2f4718fce4b497dd68e2b933029eeacb4ed57551e959bc6e3747e64feb4722a4f841e734f5a664b
DIST ngspice-36-manual.pdf 2397103 BLAKE2B 09dbfe4101b8e1752509caa37ba3a323da7d7391488c3245b3f614114d1666ee32ea1391ad4f39772ed950e270f028b7513115e0c13fde052bfdb5674f021b3b SHA512 bd31f99f7ec0acd2bdd24f008e22cb953bba98fd5cc1164ded0bdde3397bfffa0b0cae25dfeae6cf0e1dadd23c23faa5588010069b62392438296451347a5134
DIST ngspice-36.tar.gz 8450071 BLAKE2B 51fa2c5998e96a05deb3764f56659ed0970d6362fcbec7367b04a5fbe76fc7dadb08e0d36b660b0e1f8e525079bedf71305877ab2de8e2ab2773c891808fb5a6 SHA512 d862097f465e92986e8d6644374d43249eebee0fb6d79b1404dbb7c11d14a058dfedd4bdb61baf5aa1ffd1d2e71167440db73eb417d4b1249a0a7b83bd39efc3
+DIST ngspice-40-manual.pdf 2462604 BLAKE2B a0d680cd76f8acb1be18e94953d70784aaf79e1bcc4bc3995a1221d81e27c13e577d182e7cbacb8430a068db7d86681f22ec4f3537b5704faacb8e982588617f SHA512 1a5c7828aa9a4554052fb01145641415d8a4cbd50db9885d5d937e1b6f50c7c541dfeeabf2efd6ea862036b4d74ce8265bdac1cfad0fc635f28651a0d397bfc5
+DIST ngspice-40.tar.gz 9431981 BLAKE2B e45d5d7a9e8d9d3fdae4eb076090a588680055a74cc24ba9ca3d93a7c42b95ee29073101d5791f8069cb27b3049aa1a451476f1df6460477fb156336602678fd SHA512 dab422cc8677e6f4bb92e06be0ce695a53d3e9abbe533c7bb91540d55d2a13514b0b166c8ccafcc17699799a846a35e260dddc400664c6e1137e1b18504e9954
EBUILD ngspice-31-r1.ebuild 4510 BLAKE2B 88b9e231cf3a19bd83f554ba235c86e081df699b5fb0b9d481eb5ab60a5c421202fe56dc5a2bafd5e82ff54ab1b7e2ac77f06eafdfc7f12284165636afd794d5 SHA512 b8ef7664e175d802dc9ec284cd0f40e2ead1810c78cde01f5a9d7d793f488d5f686603e8817f4fea6be1476af5ba3dd73a00735a9b0fa89df7225615a7ea0a60
EBUILD ngspice-34.ebuild 4620 BLAKE2B 781dd445ce1e14499d3f1fa2aaae4026520e6c8194f5e7a9525c61d067537cc59ba774b914c131553aad8d9e18e5b2904809a76c01a35bc7dc9d082dfda9f906 SHA512 79e036d956bf02f544f833a35ec229dacf37e851ba76c3e931fcb3edd52a8e79f3d2e9d3ca30fb05f103caf94954954a8412ef10b0ae1839979b0c1572c83836
EBUILD ngspice-35.ebuild 4587 BLAKE2B 450987f87ab81dccd90bf79e3a470ac54fedd47dc9b4c1b78bef07cfc39b22ef088cc110e5303f399e9e0b2e83b7d2a5247dd8d98d040a82d2b751db6ac7dd3a SHA512 02c78a4f942ce452ce19e6a2773f8a790be8fcd9a035df9a43cabbc3ec6c1bc79bd3593b40935ec141423c61dc0d9f06344190bff437bfe2c6722c8a11cfa11f
EBUILD ngspice-36.ebuild 4592 BLAKE2B 8b774b0cff6f3544f3b1ba5713c2ace05f9116ff07692a7b01a98abadba841fcff08ce9f6a44469259016b5b3356442acd58f177777d8ecd1edb39ef2c98e86f SHA512 0aec985436560bf6a5b606b1afa79ce66ea8ac09178ba7029f5a4eb0fbed8509cfbfec2003c109fe0b23519fff19d18db7df657a02e43caef9ec7f779db63d5d
+EBUILD ngspice-40.ebuild 4612 BLAKE2B b8d675588b1d40f17834143e769c2471dc2fab971d43cb39291c1a42ead3f24c34bd0dc003dfbb1572ad5ca6fa67462797e8c008ab5257d0c295288ac48ebe5f SHA512 3707608175b72e01d142bfd7b4790b2b5a750a386e7b94b08ff78659760ecd0d656e15445d8c1ed5e73c41aaa43e5b3ee184e216eb3964fbbcd017f225fd2756
MISC metadata.xml 677 BLAKE2B 541ff3e8439b8e222916341bb9f973ea2189a5b2aceeb1bd83ca7a73af7161f38e272a93fdbab51aba4f14be53f556c10a5c10be2a807ef07bca9e39fa73b6ed SHA512 b439de3838f17c9c21e50cd80d74b733d0061f79a7e736c82295c3db433bb786cdab8dc73ca1b40f6a486288f29f82b677723ea1e13ca583b0456fcfa82de206
diff --git a/sci-electronics/ngspice/ngspice-40.ebuild b/sci-electronics/ngspice/ngspice-40.ebuild
new file mode 100644
index 000000000000..5e10132afd22
--- /dev/null
+++ b/sci-electronics/ngspice/ngspice-40.ebuild
@@ -0,0 +1,210 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools multibuild toolchain-funcs virtualx
+
+DESCRIPTION="The Next Generation Spice (Electronic Circuit Simulator)"
+HOMEPAGE="http://ngspice.sourceforge.net"
+SRC_URI="
+ mirror://sourceforge/ngspice/${P}.tar.gz
+ doc? ( mirror://sourceforge/ngspice/${P}-manual.pdf )
+"
+
+LICENSE="BSD GPL-2 MPL-2.0"
+SLOT="0"
+IUSE="X debug deprecated doc examples fftw openmp +readline +shared tcl"
+KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~sparc ~x86 ~x64-macos"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ sys-libs/ncurses:=
+ X? (
+ x11-libs/libXaw
+ x11-libs/libXt
+ x11-libs/libX11
+ )
+ fftw? ( sci-libs/fftw:3.0= )
+ readline? ( sys-libs/readline:= )
+ tcl? (
+ dev-lang/tcl:=
+ dev-tcltk/blt
+ )
+"
+RDEPEND="${DEPEND}"
+
+DOCS=(
+ ANALYSES
+ AUTHORS
+ BUGS
+ ChangeLog
+ DEVICES
+ FAQ
+ NEWS
+ README
+ README.vdmos
+ Stuarts_Poly_Notes
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ MULTIBUILD_VARIANTS=( "binaries" )
+ use shared && MULTIBUILD_VARIANTS+=( "shared" )
+ use tcl && MULTIBUILD_VARIANTS+=( "tcl" )
+}
+
+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_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
+}
+
+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
+}