kicad swig 4.0.0 compatibility

This commit is contained in:
layman
2019-07-15 12:27:43 +02:00
parent 1a0a393070
commit 0dfe6c9adf
20 changed files with 401 additions and 163 deletions
+4
View File
@@ -0,0 +1,4 @@
DIST ngspice-30-manual.pdf 2131163 BLAKE2B a60d00bf00b179e610d3a031bfb342134038f8bf77aa79eaeb58113f54bf6391700f21b277cb1df6434df2c27a0922c2a685135ebf8dce2e7a48e27c2d174c15 SHA512 920953cc36d6f3d2e7751d9ed10e147d4c0a9955ddcca52941d6a30ccb56fec8c15481274726bc718a9617992b5eddee253205e4af9b798b80f54f6e6c45c9d5
DIST ngspice-30.tar.gz 7147044 BLAKE2B 497e6867c590b11139c16d3de1cd8114e5a68fd6edb7dcd1adb8759fc2e10af376fa1daf43b61dc465b5989bae25cfafa7c8d155db5055b4a648499c8f39d7ec SHA512 baa67527a05586b6da19e96203889fe013eb19a9e60b159ab9e3828dd5bb865f44bd683e622b256c3c434d77fe7adb5fe1badab75bdeaa9f24faafe7aaaae2e2
EBUILD ngspice-30.ebuild 4086 BLAKE2B d0469b3344d9f54c594c31002d575400baaebc86370d89563d509222954d7c44c9978d7bab8d80eee580ccd008741a01bd08fb7a0b337decb1ac0d6fe01d6614 SHA512 61423bd5aa91c87fd0cbfc31bc2b7e190d2c4927c588752c73952aaa51a52d5989749bcc97e9ec4f58ac988521cbea02b8a954800a04a07219851c88eaac7461
MISC metadata.xml 613 BLAKE2B 658a1ccd1c1149c4b3626b482b1c80845502b80d0cd9316117f433edc4d2e5106ac92b97c3bebc23c43a82247592cc85068b08eea3caa859f976548f2a890a73 SHA512 791dc0311699db360c5e013f33786fb546119010cb8bbc36fc91ac6a522f1642f4297d8ffb945291ee20ce337647777d06e463083ac6ca0888d36ff0e1a71dcc
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>sci-electronics@gentoo.org</email>
<name>Gentoo Electronics Project</name>
</maintainer>
<longdescription>
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code is based on
three open source software packages: Spice3f5, Cider1b1 and Xspice.
</longdescription>
<use>
<flag name="shared">Build ngspice as a shared library</flag>
</use>
<upstream>
<remote-id type="sourceforge">ngspice</remote-id>
</upstream>
</pkgmetadata>
+185
View File
@@ -0,0 +1,185 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multibuild toolchain-funcs
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 doc examples fftw openmp readline +shared tcl"
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
NEWS
README
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 |
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
}
src_configure() {
multibuild_copy_sources
multibuild_foreach_variant ngspice_configure
}
ngspice_configure() {
pushd "${BUILD_DIR}"
local myconf
if use debug; then
myconf="--enable-debug \
--enable-ftedebug \
--enable-cpdebug \
--enable-sensdebug \
--enable-asdebug \
--enable-stepdebug \
--enable-pzdebug"
else
myconf="--disable-debug \
--disable-ftedebug \
--disable-cpdebug \
--disable-sensdebug \
--disable-asdebug \
--disable-stepdebug \
--disable-pzdebug"
fi
# As of December 2017, these do not compile
myconf="${myconf} \
--disable-blktmsdebug \
--disable-smltmsdebug"
myconf="${myconf} \
--enable-xspice \
--enable-cider \
--disable-xgraph \
--disable-dependency-tracking \
--disable-rpath \
$(use_enable openmp) \
$(use_with fftw fftw3) \
$(use_with readline)"
if [ "${MULTIBUILD_VARIANT}" == "shared" ]; then
myconf="${myconf} \
--with-ngshared"
elif [ "${MULTIBUILD_VARIANT}" == "tcl" ]; then
myconf="${myconf} \
--with-tcl"
else
myconf="${myconf} \
$(use_with X x)"
fi
econf ${myconf}
}
src_compile() {
multibuild_foreach_variant ngspice_compile
}
ngspice_compile() {
pushd "${BUILD_DIR}"
default
}
src_install() {
multibuild_foreach_variant ngspice_install
# merge the installations of all variants
for v in "${MULTIBUILD_VARIANTS[@]}" ; do
cp -a "${D}_${v}"/* "${D}" || die "Failed to combine multibuild installations"
rm -rf "${D}_${v}"
done
use tcl && DOCS+=( README.tcl )
use doc && DOCS+=( "${DISTDIR}"/${P}-manual.pdf )
default
# We don't need ngmakeidx to be installed
rm -f "${D}"/usr/bin/ngmakeidx
rm -f "${D}"/usr/share/man/man1/ngmakeidx.1
if use examples; then
use tcl || rm -rf examples/tclspice
insinto /usr/share/${PN}
doins -r examples
fi
}
ngspice_install() {
pushd "${BUILD_DIR}"
emake DESTDIR="${D}_${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 "${D}_${MULTIBUILD_VARIANT}"/usr/bin{,.debug}
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/share
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/*.la
rm -rf "${D}_${MULTIBUILD_VARIANT}"/usr/$(get_libdir)/ngspice/*.cm{,.debug}
fi
}
src_test() {
if ! use debug; then
multibuild_foreach_variant ngspice_test
else
# https://sourceforge.net/p/ngspice/bugs/353/
ewarn
ewarn "Skipping tests because they are known to fail in debug mode"
ewarn
fi
}
ngspice_test() {
pushd "${BUILD_DIR}"
default
}