mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
@@ -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
|
||||
|
||||
202
sci-electronics/ngspice/ngspice-34.ebuild
Normal file
202
sci-electronics/ngspice/ngspice-34.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user