From 9ab3278addf65172412cb5f00783045b0933568b Mon Sep 17 00:00:00 2001 From: Mat Boehlke Date: Sat, 7 Aug 2021 17:23:02 -0500 Subject: [PATCH] ngspice: update to 34 Also fixes issue with ngspice binary not being packaged. Library is now moved to subpackage libngspice. --- common/shlibs | 2 +- srcpkgs/libngspice | 1 + srcpkgs/ngspice/patches/windows-only.patch | 15 -------- srcpkgs/ngspice/template | 42 +++++++++++++++++++--- 4 files changed, 40 insertions(+), 20 deletions(-) create mode 120000 srcpkgs/libngspice delete mode 100644 srcpkgs/ngspice/patches/windows-only.patch diff --git a/common/shlibs b/common/shlibs index b8fda590d5f3..8e3ae3cc1645 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3202,7 +3202,7 @@ libgloox.so.17 gloox-1.0.20_1 libgsmsd.so.8 gammu-smsd-1.39.0_1 libGammu.so.8 gammu-1.39.0_1 libz3.so z3-4.6.0_2 -libngspice.so.0 ngspice-27_2 +libngspice.so.0 libngspice-34_1 libvulkan.so.1 vulkan-loader-1.0.57.0_1 libembb_mtapi_cpp.so embb-1.0.0_3 libembb_mtapi_c.so embb-1.0.0_3 diff --git a/srcpkgs/libngspice b/srcpkgs/libngspice new file mode 120000 index 000000000000..342fa057690d --- /dev/null +++ b/srcpkgs/libngspice @@ -0,0 +1 @@ +ngspice \ No newline at end of file diff --git a/srcpkgs/ngspice/patches/windows-only.patch b/srcpkgs/ngspice/patches/windows-only.patch deleted file mode 100644 index 8a9ead11e31f..000000000000 --- a/srcpkgs/ngspice/patches/windows-only.patch +++ /dev/null @@ -1,15 +0,0 @@ -libshlwapi is Windows-only - -diff --git src/xspice/cmpp/Makefile.in src/xspice/cmpp/Makefile.in -index b450e8c..2ea8716 100644 ---- a/src/xspice/cmpp/Makefile.in -+++ b/src/xspice/cmpp/Makefile.in -@@ -753,7 +753,7 @@ ifs_yacc.c : ifs_yacc.y - - @CROSS_COMPILING_TRUE@build/cmpp$(BUILD_EXEEXT) : $(BUILD_CMPP_FILES) - @CROSS_COMPILING_TRUE@ $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) \ --@CROSS_COMPILING_TRUE@ $(AM_CPPFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ $^ -lshlwapi -+@CROSS_COMPILING_TRUE@ $(AM_CPPFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ $^ - - @CROSS_COMPILING_TRUE@distclean-local: - @CROSS_COMPILING_TRUE@ -rm -rf build diff --git a/srcpkgs/ngspice/template b/srcpkgs/ngspice/template index 05beffd8f841..72fcccfe6078 100644 --- a/srcpkgs/ngspice/template +++ b/srcpkgs/ngspice/template @@ -1,9 +1,9 @@ # Template file for 'ngspice' pkgname=ngspice -version=33 +version=34 revision=1 build_style=gnu-configure -configure_args="--with-readline=yes --with-ngshared --enable-xspice --enable-cider" +configure_args="--with-ngshared --enable-xspice --enable-cider" hostmakedepends="bison byacc" makedepends="readline-devel libX11-devel libXaw-devel" short_desc="Mixed Mode Mixed Level Circuit Simulator based on Spice3F5" @@ -11,18 +11,52 @@ maintainer="Toyam Cox " license="BSD-3-Clause" homepage="http://ngspice.sourceforge.net" distfiles="${SOURCEFORGE_SITE}/ngspice/ng-spice-rework/${version}/${pkgname}-${version}.tar.gz" -checksum=b99db66cc1c57c44e9af1ef6ccb1dcbc8ae1df3e35acf570af578f606f8541f1 +checksum=2263fffc6694754972af7072ef01cfe62ac790800dad651bc290bfcae79bd7b5 + +# Configure can only handle building ngspice as a library or as a binary, but not both, +# so essentially we have to build ngspice twice +pre_configure() { + install -d .build_bins + cp -fpr * .build_bins/ +} + +# --with-ngshared builds the library, but not binary, so remove flag for the second pass. +# readline should not be configured for the library, but include it here, +# see: https://github.com/imr/ngspice/commit/b86c85f85bbba6e45dc030af3e853edf8b9cfa3d +post_configure() { + cd .build_bins + configure_args="--with-readline=yes $(printf %s\\n "$configure_args" | sed 's/--with-ngshared//')" do_configure +} + +post_build() { + cd .build_bins + do_build +} post_install() { vlicense COPYING + cd .build_bins + do_install + # cmpp is not distributed in v34, so don't include man page + rm -f "${DESTDIR}/usr/share/man/man1/cmpp.1" + # config.h is an internal header file, so don't include + # this will probably be fixed in v35 + rm -f "${DESTDIR}/usr/include/config.h" } ngspice-devel_package() { short_desc+=" - development files" - depends="${sourcepkg}>=${version}_${revision}" + depends="libngspice>=${version}_${revision}" pkg_install() { vmove usr/include vmove "usr/lib/*.so" vmove usr/lib/pkgconfig } } + +libngspice_package() { + short_desc+=" - library" + pkg_install() { + vmove "usr/lib/libngspice.so.*" + } +}