Here is an update diff for ngspice 43. It is required to update kicad.
There is nothing special I would say. To be honest I don't know how to
test it but kicad8 is built with this version and runs fine.

OK?

diff --git a/cad/ngspice/Makefile.inc b/cad/ngspice/Makefile.inc
index 361bcfad180..e5560fc89f4 100644
--- a/cad/ngspice/Makefile.inc
+++ b/cad/ngspice/Makefile.inc
@@ -1,4 +1,4 @@
-V ?=                   31
+V ?=                   43
 
 DISTNAME ?=            ngspice-${V}
 
@@ -9,7 +9,21 @@ HOMEPAGE ?=            https://ngspice.sourceforge.net/
 # BSD
 PERMIT_PACKAGE ?=      Yes
 
+SITES ?=               ${SITE_SOURCEFORGE:=ngspice/}
+
 USE_GMAKE ?=           yes
-CONFIGURE_STYLE ?=     gnu
 
-SITES ?=               ${SITE_SOURCEFORGE:=ngspice/}
+AUTOCONF_VERSION =     2.69
+AUTOMAKE_VERSION =     1.16
+
+CONFIGURE_STYLE =      autoreconf
+
+TAR =                  ${LOCALBASE}/bin/gtar
+
+BUILD_DEPENDS +=       archivers/gtar
+
+CONFIGURE_ARGS +=      --enable-cider \
+                       --enable-xspice \
+                       --with-readline=yes
+
+CONFIGURE_ARGS +=      --disable-openmp
diff --git a/cad/ngspice/libngspice/Makefile b/cad/ngspice/libngspice/Makefile
index 8c9ce525616..c7a5109489a 100644
--- a/cad/ngspice/libngspice/Makefile
+++ b/cad/ngspice/libngspice/Makefile
@@ -1,18 +1,18 @@
-COMMENT =              ngspice shared library, based on Berkeley SPICE
+COMMENT =      ngspice shared library, based on Berkeley SPICE
 
-PKGNAME =              libngspice-${V}
-REVISION =             1
+PKGNAME =      libngspice-${V}
 
-SHARED_LIBS +=         ngspice                 0.0 # 0.0
+SHARED_LIBS +=  ngspice                0.0 # 0.0
 
 WANTLIB += m pthread
 
-CONFIGURE_ARGS +=      --with-ngshared
+CONFIGURE_ARGS +=      --with-ngshared \
+                       --enable-shared
 
 # same tests as cad/ngspice/ngspice, but they assume you've built a binary
-NO_TEST =              Yes
+NO_TEST =      Yes
 
 post-install:
-       @rm -r ${PREFIX}/share/ngspice/
+       @rm -r ${PREFIX}/{lib,share}/ngspice/
 
 .include <bsd.port.mk>
diff --git a/cad/ngspice/libngspice/distinfo b/cad/ngspice/libngspice/distinfo
index b1e9757d344..10768caaa9a 100644
--- a/cad/ngspice/libngspice/distinfo
+++ b/cad/ngspice/libngspice/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ngspice-31.tar.gz) = hF87DJYuR97QUd+8E0w8HkrJJcnwzhyz32Trm52lwoI=
-SIZE (ngspice-31.tar.gz) = 7250057
+SHA256 (ngspice-43.tar.gz) = FN1qbwhTHyBRwTrmN5CkVwi9Q/PneIamqEiYwpexNpk=
+SIZE (ngspice-43.tar.gz) = 10279606
diff --git a/cad/ngspice/libngspice/patches/patch-configure_ac 
b/cad/ngspice/libngspice/patches/patch-configure_ac
new file mode 100644
index 00000000000..a744ce340de
--- /dev/null
+++ b/cad/ngspice/libngspice/patches/patch-configure_ac
@@ -0,0 +1,82 @@
+Index: configure.ac
+--- configure.ac.orig
++++ configure.ac
+@@ -820,7 +820,6 @@ fi
+ # Xft is optional, allows text rotation in plots
+ 
+ if test "x$no_x" != xyes ; then
+-    X_CFLAGS="$X_CFLAGS -I/usr/include/freetype2"
+     AC_CHECK_LIB([Xaw], [main], [X_LIBS="$X_LIBS -lXaw"],
+         [AC_MSG_ERROR([Couldn't find Xaw library])], [$X_LIBS $X_EXTRA_LIBS])
+     AC_CHECK_LIB([Xmu], [main], [X_LIBS="$X_LIBS -lXmu"],
+@@ -829,21 +828,9 @@ if test "x$no_x" != xyes ; then
+     AC_CHECK_LIB([Xext], [XShmAttach], [X_LIBS="$X_LIBS -lXext"],
+         [AC_MSG_ERROR([Couldn't find Xext library])], [$X_LIBS $X_EXTRA_LIBS])
+     X_LIBS="$X_LIBS -lX11"
+-      AC_CHECK_LIB([Xft], [main],
+-        [AC_DEFINE([HAVE_LIBXFT], [1], [Have xft routines in libxft])]
+-        X_LIBS="$X_LIBS -lXft -lfontconfig -lXrender -lfreetype"
+-        has_xft=yes,
+-        [has_xft=no], [$X_LIBS $X_EXTRA_LIBS])
++    PKG_CHECK_MODULES([XFT], [xft], [X_CFLAGS="$X_CFLAGS $XFT_CFLAGS"; 
X_LIBS="$X_LIBS $XFT_LIBS"],
++                      [AC_MSG_ERROR([Couldn't find freetype library])])
+ 
+-    if test "x$has_xft" = xyes ; then
+-        AC_CHECK_LIB([fontconfig], [main], [],
+-            [AC_MSG_ERROR([Couldn't find fontconfig library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-#        AC_CHECK_LIB([Xrender], [main], [],
+-#            [AC_MSG_ERROR([Couldn't find Xrender library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-        AC_CHECK_LIB([freetype], [main], [],
+-            [AC_MSG_ERROR([Couldn't find freetype library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-    fi
+-
+     has_no_x=false
+ else
+     AC_DEFINE([X_DISPLAY_MISSING])
+@@ -864,9 +851,27 @@ AM_CONDITIONAL([NO_X], [test "x$has_no_x" = xtrue])
+ AM_CONDITIONAL([NO_HELP], [test "x$has_no_help" = xtrue])
+ 
+ # Additional libs of hicum group
+-AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lstdc++",,)
+-AC_SUBST(XTRALIBS, $XTRALIBS)
++#AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lstdc++",,)
++#AC_SUBST(XTRALIBS, $XTRALIBS)
++# Determine which C++ standard library to use based on the compiler
++AC_MSG_CHECKING([which C++ standard library to use])
++case `$CXX --version` in
++  *clang*)
++    AC_CHECK_LIB(c++, main, XTRALIBS="$XTRALIBS -lc++ -pthread",,)
++    AC_SUBST(XTRALIBS, $XTRALIBS)
++    ;;
++  *g++*)
++    AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lestdc++",,)
++    AC_SUBST(XTRALIBS, $XTRALIBS)
++    ;;
++  *)
++    AC_MSG_ERROR([Unknown C++ compiler])
++    ;;
++esac
+ 
++#AC_SUBST(XTRALIBS, $XTRALIBS)
++
++
+ LIBS="$LIBS $XTRALIBS"
+ 
+ # enabling making of the old and outdated applications
+@@ -1112,7 +1117,7 @@ if test "x$enable_xspice" = xno; then
+                 XSPICEDLLIBS=""
+                 ;;
+             * )
+-                XSPICEDLLIBS="-ldl"
++                XSPICEDLLIBS=""
+                 ;;
+         esac
+     fi
+@@ -1135,7 +1140,6 @@ else
+             ;;
+         *openbsd* )
+             AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
+-            XSPICEDLLIBS="-ldl"
+             ;;
+         *solaris* )
+             AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
diff --git a/cad/ngspice/libngspice/pkg/PLIST b/cad/ngspice/libngspice/pkg/PLIST
index 5a97a6ea02c..79614cb4d61 100644
--- a/cad/ngspice/libngspice/pkg/PLIST
+++ b/cad/ngspice/libngspice/pkg/PLIST
@@ -1,130 +1,7 @@
 @conflict ngspice-<30p0
 include/ngspice/
-include/ngspice/1-f-code.h
-include/ngspice/FastNorm3.h
-include/ngspice/acdefs.h
-include/ngspice/bdrydefs.h
-include/ngspice/bool.h
-include/ngspice/carddefs.h
-include/ngspice/ciderinp.h
-include/ngspice/cidersupt.h
-include/ngspice/cktdefs.h
-include/ngspice/cluster.h
-include/ngspice/cm.h
-include/ngspice/cmconstants.h
-include/ngspice/cmproto.h
-include/ngspice/cmtypes.h
-include/ngspice/compatmode.h
-include/ngspice/complex.h
-include/ngspice/config.h
-include/ngspice/const.h
-include/ngspice/contdefs.h
-include/ngspice/cpdefs.h
-include/ngspice/cpextern.h
-include/ngspice/cpstd.h
-include/ngspice/defines.h
-include/ngspice/devdefs.h
-include/ngspice/dgen.h
-include/ngspice/distodef.h
-include/ngspice/dllitf.h
-include/ngspice/domndefs.h
-include/ngspice/dopdefs.h
-include/ngspice/dstring.h
-include/ngspice/dvec.h
-include/ngspice/elctdefs.h
-include/ngspice/enh.h
-include/ngspice/enhtypes.h
-include/ngspice/evt.h
-include/ngspice/evtproto.h
-include/ngspice/evtshared.h
-include/ngspice/evttypes.h
-include/ngspice/evtudn.h
-include/ngspice/fftext.h
-include/ngspice/ftedbgra.h
-include/ngspice/ftedebug.h
-include/ngspice/ftedefs.h
-include/ngspice/ftedev.h
-include/ngspice/fteext.h
-include/ngspice/fteinp.h
-include/ngspice/fteinput.h
-include/ngspice/fteoptdefs.h
-include/ngspice/fteparse.h
-include/ngspice/gendefs.h
-include/ngspice/gendev.h
-include/ngspice/graph.h
-include/ngspice/grid.h
-include/ngspice/hash.h
-include/ngspice/hlpdefs.h
-include/ngspice/iferrmsg.h
-include/ngspice/ifsim.h
-include/ngspice/inpdefs.h
-include/ngspice/inpmacs.h
-include/ngspice/inpptree.h
-include/ngspice/ipc.h
-include/ngspice/ipcproto.h
-include/ngspice/ipctiein.h
-include/ngspice/jobdefs.h
-include/ngspice/lsort.h
-include/ngspice/macros.h
-include/ngspice/material.h
-include/ngspice/matldefs.h
-include/ngspice/memory.h
-include/ngspice/meshdefs.h
-include/ngspice/meshext.h
-include/ngspice/methdefs.h
-include/ngspice/mif.h
-include/ngspice/mifcmdat.h
-include/ngspice/mifdefs.h
-include/ngspice/mifparse.h
-include/ngspice/mifproto.h
-include/ngspice/miftypes.h
-include/ngspice/missing_math.h
-include/ngspice/mobdefs.h
-include/ngspice/modldefs.h
-include/ngspice/multi_line.h
-include/ngspice/ngspice.h
-include/ngspice/noisedef.h
-include/ngspice/numcards.h
-include/ngspice/numconst.h
-include/ngspice/numenum.h
-include/ngspice/numgen.h
-include/ngspice/numglobs.h
-include/ngspice/onedev.h
-include/ngspice/onemesh.h
-include/ngspice/opdefs.h
-include/ngspice/optdefs.h
-include/ngspice/optndefs.h
-include/ngspice/outpdefs.h
-include/ngspice/plot.h
-include/ngspice/pnode.h
-include/ngspice/profile.h
-include/ngspice/pssdefs.h
-include/ngspice/pzdefs.h
-include/ngspice/randnumb.h
-include/ngspice/sen2defs.h
-include/ngspice/sensdefs.h
-include/ngspice/sensgen.h
 include/ngspice/sharedspice.h
-include/ngspice/sim.h
-include/ngspice/smpdefs.h
-include/ngspice/sperror.h
-include/ngspice/spmatrix.h
-include/ngspice/stringskip.h
-include/ngspice/stringutil.h
-include/ngspice/suffix.h
-include/ngspice/swec.h
-include/ngspice/tclspice.h
-include/ngspice/tfdefs.h
-include/ngspice/trandefs.h
-include/ngspice/trcvdefs.h
-include/ngspice/tskdefs.h
-include/ngspice/twodev.h
-include/ngspice/twomesh.h
-include/ngspice/typedefs.h
-include/ngspice/wallace.h
-include/ngspice/wordlist.h
-include/ngspice/wstdio.h
-lib/libngspice.a
+@static-lib lib/libngspice.a
 lib/libngspice.la
 @lib lib/libngspice.so.${LIBngspice_VERSION}
 lib/pkgconfig/ngspice.pc
diff --git a/cad/ngspice/ngspice/Makefile b/cad/ngspice/ngspice/Makefile
index 58b44781237..dfa098a3717 100644
--- a/cad/ngspice/ngspice/Makefile
+++ b/cad/ngspice/ngspice/Makefile
@@ -1,10 +1,9 @@
-COMMENT =              circuit simulator, based on Berkeley SPICE
+COMMENT =      circuit simulator, based on Berkeley SPICE
 
-REVISION =     1
+WANTLIB += ${COMPILER_LIBCXX} ICE SM X11 Xau Xaw Xdmcp Xext Xft
+WANTLIB += Xmu Xpm Xrender Xt c curses expat fontconfig freetype
+WANTLIB += m readline xcb z
 
-WANTLIB += ICE SM X11 Xau Xaw Xdmcp Xext Xmu Xpm Xt c m xcb
-
-post-install:
-       @rm -r ${PREFIX}/include/ngspice
+CONFIGURE_ARGS +=      --with-x
 
 .include <bsd.port.mk>
diff --git a/cad/ngspice/ngspice/distinfo b/cad/ngspice/ngspice/distinfo
index b1e9757d344..10768caaa9a 100644
--- a/cad/ngspice/ngspice/distinfo
+++ b/cad/ngspice/ngspice/distinfo
@@ -1,2 +1,2 @@
-SHA256 (ngspice-31.tar.gz) = hF87DJYuR97QUd+8E0w8HkrJJcnwzhyz32Trm52lwoI=
-SIZE (ngspice-31.tar.gz) = 7250057
+SHA256 (ngspice-43.tar.gz) = FN1qbwhTHyBRwTrmN5CkVwi9Q/PneIamqEiYwpexNpk=
+SIZE (ngspice-43.tar.gz) = 10279606
diff --git a/cad/ngspice/ngspice/patches/patch-configure_ac 
b/cad/ngspice/ngspice/patches/patch-configure_ac
new file mode 100644
index 00000000000..a744ce340de
--- /dev/null
+++ b/cad/ngspice/ngspice/patches/patch-configure_ac
@@ -0,0 +1,82 @@
+Index: configure.ac
+--- configure.ac.orig
++++ configure.ac
+@@ -820,7 +820,6 @@ fi
+ # Xft is optional, allows text rotation in plots
+ 
+ if test "x$no_x" != xyes ; then
+-    X_CFLAGS="$X_CFLAGS -I/usr/include/freetype2"
+     AC_CHECK_LIB([Xaw], [main], [X_LIBS="$X_LIBS -lXaw"],
+         [AC_MSG_ERROR([Couldn't find Xaw library])], [$X_LIBS $X_EXTRA_LIBS])
+     AC_CHECK_LIB([Xmu], [main], [X_LIBS="$X_LIBS -lXmu"],
+@@ -829,21 +828,9 @@ if test "x$no_x" != xyes ; then
+     AC_CHECK_LIB([Xext], [XShmAttach], [X_LIBS="$X_LIBS -lXext"],
+         [AC_MSG_ERROR([Couldn't find Xext library])], [$X_LIBS $X_EXTRA_LIBS])
+     X_LIBS="$X_LIBS -lX11"
+-      AC_CHECK_LIB([Xft], [main],
+-        [AC_DEFINE([HAVE_LIBXFT], [1], [Have xft routines in libxft])]
+-        X_LIBS="$X_LIBS -lXft -lfontconfig -lXrender -lfreetype"
+-        has_xft=yes,
+-        [has_xft=no], [$X_LIBS $X_EXTRA_LIBS])
++    PKG_CHECK_MODULES([XFT], [xft], [X_CFLAGS="$X_CFLAGS $XFT_CFLAGS"; 
X_LIBS="$X_LIBS $XFT_LIBS"],
++                      [AC_MSG_ERROR([Couldn't find freetype library])])
+ 
+-    if test "x$has_xft" = xyes ; then
+-        AC_CHECK_LIB([fontconfig], [main], [],
+-            [AC_MSG_ERROR([Couldn't find fontconfig library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-#        AC_CHECK_LIB([Xrender], [main], [],
+-#            [AC_MSG_ERROR([Couldn't find Xrender library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-        AC_CHECK_LIB([freetype], [main], [],
+-            [AC_MSG_ERROR([Couldn't find freetype library])], [$X_LIBS 
$X_EXTRA_LIBS])
+-    fi
+-
+     has_no_x=false
+ else
+     AC_DEFINE([X_DISPLAY_MISSING])
+@@ -864,9 +851,27 @@ AM_CONDITIONAL([NO_X], [test "x$has_no_x" = xtrue])
+ AM_CONDITIONAL([NO_HELP], [test "x$has_no_help" = xtrue])
+ 
+ # Additional libs of hicum group
+-AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lstdc++",,)
+-AC_SUBST(XTRALIBS, $XTRALIBS)
++#AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lstdc++",,)
++#AC_SUBST(XTRALIBS, $XTRALIBS)
++# Determine which C++ standard library to use based on the compiler
++AC_MSG_CHECKING([which C++ standard library to use])
++case `$CXX --version` in
++  *clang*)
++    AC_CHECK_LIB(c++, main, XTRALIBS="$XTRALIBS -lc++ -pthread",,)
++    AC_SUBST(XTRALIBS, $XTRALIBS)
++    ;;
++  *g++*)
++    AC_CHECK_LIB(stdc++, main, XTRALIBS="$XTRALIBS -lestdc++",,)
++    AC_SUBST(XTRALIBS, $XTRALIBS)
++    ;;
++  *)
++    AC_MSG_ERROR([Unknown C++ compiler])
++    ;;
++esac
+ 
++#AC_SUBST(XTRALIBS, $XTRALIBS)
++
++
+ LIBS="$LIBS $XTRALIBS"
+ 
+ # enabling making of the old and outdated applications
+@@ -1112,7 +1117,7 @@ if test "x$enable_xspice" = xno; then
+                 XSPICEDLLIBS=""
+                 ;;
+             * )
+-                XSPICEDLLIBS="-ldl"
++                XSPICEDLLIBS=""
+                 ;;
+         esac
+     fi
+@@ -1135,7 +1140,6 @@ else
+             ;;
+         *openbsd* )
+             AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
+-            XSPICEDLLIBS="-ldl"
+             ;;
+         *solaris* )
+             AC_DEFINE([IPC_UNIX_SOCKETS], [1], [Client-Server via socket.])
diff --git a/cad/ngspice/ngspice/patches/patch-src_spicelib_analysis_cktsetup_c 
b/cad/ngspice/ngspice/patches/patch-src_spicelib_analysis_cktsetup_c
new file mode 100644
index 00000000000..1c461d1b69f
--- /dev/null
+++ b/cad/ngspice/ngspice/patches/patch-src_spicelib_analysis_cktsetup_c
@@ -0,0 +1,11 @@
+Index: src/spicelib/analysis/cktsetup.c
+--- src/spicelib/analysis/cktsetup.c.orig
++++ src/spicelib/analysis/cktsetup.c
+@@ -21,7 +21,6 @@ Author: 1985 Thomas L. Quarles
+ #endif
+ 
+ #ifdef USE_OMP
+-#include <omp.h>
+ #include "ngspice/cpextern.h"
+ int nthreads;
+ #endif
diff --git a/cad/ngspice/ngspice/patches/patch-tests_bin_check_sh 
b/cad/ngspice/ngspice/patches/patch-tests_bin_check_sh
deleted file mode 100644
index 1f52147b68e..00000000000
--- a/cad/ngspice/ngspice/patches/patch-tests_bin_check_sh
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: tests/bin/check.sh
---- tests/bin/check.sh.orig
-+++ tests/bin/check.sh
-@@ -40,8 +40,8 @@ case $HOST_TYPE in
-       rm -f $testname.test_tmp $testname.out_tmp
-       ;;
-     FreeBSD*|SunOS*|OpenBSD*)
--      $SPICE --batch $testdir/$testname.cir >$testname.test &&\
--      sed -e '/^$/d' $testname.test | egrep -v "$FILTER" > $testname.test_tmp 
&&\
-+      $SPICE --batch $testdir/$testname.cir >$testname.test
-+      sed -e '/^$/d' $testname.test | egrep -v "$FILTER" > $testname.test_tmp
-       sed -e '/^$/d' $testdir/$testname.out | egrep -v "$FILTER" > 
$testname.out_tmp
-       if diff -b -w $testname.out_tmp $testname.test_tmp; then
-           rm $testname.test $testname.test_tmp $testname.out_tmp
diff --git a/cad/ngspice/ngspice/pkg/PLIST b/cad/ngspice/ngspice/pkg/PLIST
index ce24003f488..1912adcc2c9 100644
--- a/cad/ngspice/ngspice/pkg/PLIST
+++ b/cad/ngspice/ngspice/pkg/PLIST
@@ -1,8 +1,26 @@
 @pkgpath cad/ngspice
 @bin bin/ngspice
+lib/ngspice/
+@bin lib/ngspice/analog.cm
+@bin lib/ngspice/digital.cm
+@bin lib/ngspice/spice2poly.cm
+@bin lib/ngspice/table.cm
+@bin lib/ngspice/xtradev.cm
+@bin lib/ngspice/xtraevt.cm
 @man man/man1/ngspice.1
 share/ngspice/
 share/ngspice/scripts/
+share/ngspice/scripts/ciderinit
+share/ngspice/scripts/devaxis
+share/ngspice/scripts/devload
 share/ngspice/scripts/setplot
 share/ngspice/scripts/spectrum
 share/ngspice/scripts/spinit
+share/ngspice/scripts/src/
+share/ngspice/scripts/src/ngspice/
+share/ngspice/scripts/src/ngspice/cmtypes.h
+share/ngspice/scripts/src/ngspice/cosim.h
+share/ngspice/scripts/src/ngspice/miftypes.h
+share/ngspice/scripts/src/verilator_main.cpp
+share/ngspice/scripts/src/verilator_shim.cpp
+share/ngspice/scripts/vlnggen

Reply via email to