Compare commits

...
Sign in to create a new pull request.

42 commits

Author SHA1 Message Date
Mamoru TASAKA
604180f030 45.2 2025-09-07 22:51:06 +09:00
Mamoru TASAKA
a15b8533e9 merge 2025-09-02 17:32:36 +09:00
Mamoru TASAKA
9ba8a88ec4 Update to 45 2025-09-02 17:31:37 +09:00
Mamoru TASAKA
ca6de1b4ce update to the latest git 2025-08-31 22:26:09 +09:00
Mamoru TASAKA
956e54007c update to the latest git 2025-08-24 15:47:43 +09:00
Mamoru TASAKA
2d31bd5d93 update to the latest git 2025-08-14 18:25:08 +09:00
Mamoru TASAKA
4db0e42cc1 update to the latest git 2025-08-11 23:23:35 +09:00
Mamoru TASAKA
fdc6a110fd enable parallel make 2025-08-05 22:20:00 +09:00
Mamoru TASAKA
27044e6b40 update to the latest git 2025-08-05 16:48:47 +09:00
Mamoru TASAKA
cdb9c3a5f2 update to the latest git 2025-08-01 17:07:59 +09:00
Mamoru TASAKA
460429b7d7 again add pdf to source 2025-07-25 18:05:04 +09:00
Mamoru TASAKA
68df1ef9f2 update to the latest git 2025-07-25 17:22:00 +09:00
Fedora Release Engineering
c483836b6d Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:50:19 +00:00
Yaakov Selkowitz
0e77794aca Fix flatpak build
Installation path macros cannot be used to specify dependency locations.
Tcl is part of the runtime and is in /usr even when building flatpaks for
/app.  BLT is not built for flatpaks (only tclspice needs it), and
therefore the buildroot /usr version is used.
2025-02-27 22:34:30 -05:00
Mamoru TASAKA
1c82df6d52 Use tk8 explicitly 2025-01-31 10:45:43 +09:00
Fedora Release Engineering
059e3a9a41 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 20:07:59 +00:00
Mamoru TASAKA
caa9d840f8 44.2 2025-01-12 11:16:18 +09:00
Mamoru TASAKA
4a58d05773 Update to 44 2024-12-31 09:25:03 +09:00
Miroslav Suchý
25e3b84421 convert license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-09-02 12:10:23 +02:00
Fedora Release Engineering
17e99c1c47 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 19:31:30 +00:00
Mamoru TASAKA
f1b82bc108 Apply upstream patch for fixing one byte ahead access in string manipulation 2024-07-16 17:05:29 +09:00
Mamoru TASAKA
ae3eb82b55 suppress leak detection even for %%build 2024-07-15 09:38:38 +09:00
Mamoru TASAKA
40044a3b31 disable leak check 2024-07-15 00:15:41 +09:00
Mamoru TASAKA
d4acaf30dc try sanitizer 2024-07-15 00:10:05 +09:00
Mamoru TASAKA
6fff1cbbaa Revert "try sanitizer"
This reverts commit 5b35268337.
2024-07-15 00:09:22 +09:00
Mamoru TASAKA
5b35268337 try sanitizer 2024-07-15 00:05:51 +09:00
Mamoru TASAKA
7777750ae0 Update to 43 2024-07-14 20:47:27 +09:00
Mamoru TASAKA
67864ee918 once save 2024-03-24 15:08:49 +09:00
Mamoru TASAKA
0aa55a0368 once save 2024-03-24 14:42:59 +09:00
Mamoru TASAKA
a8d6bf0885 add reference 2024-02-02 16:35:24 +09:00
Fedora Release Engineering
9a77728f1b Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:59:22 +00:00
Mamoru TASAKA
ad61317e38 Fix compilation with -Werror=incompatible-pointer-types 2024-01-21 17:14:01 +09:00
Mamoru TASAKA
935d270f73 upload source 2023-12-29 12:44:14 +09:00
Mamoru TASAKA
a935e39f31 remove adms source file 2023-12-29 12:40:01 +09:00
Mamoru TASAKA
c7e34909cd Update to ngspice 42 2023-12-29 12:38:21 +09:00
Mamoru TASAKA
3ea15aa50f update to the latest git 2023-11-12 22:42:04 +09:00
Mamoru TASAKA
23cdbb13a8 more revert 2023-11-06 23:48:12 +09:00
Mamoru TASAKA
976dfbd62b undo typo 2023-11-06 22:03:50 +09:00
Mamoru TASAKA
6ce601b283 trial fix 2023-11-06 21:58:42 +09:00
Mamoru TASAKA
a682309834 update to the latest git 2023-11-06 09:37:25 +09:00
Mamoru TASAKA
7149c6d64e update to the latest git 2023-11-04 23:16:20 +09:00
Mamoru TASAKA
6a5fdf14af update to the latest git 2023-11-04 23:06:04 +09:00
3 changed files with 241 additions and 25 deletions

125
License-analysis.txt Normal file
View file

@ -0,0 +1,125 @@
CC-BY-SA-4.0
COPYING
FAQ
manal.pdf
CC-BY-3.0
src/frontend/get_phys_mem_size.c
src/frontend/get_resident_set_size.c
GPL-2.0-or-later
src/xspice/icm/table/table2D/cfunc.mod
src/xspice/icm/table/table3D/cfunc.mod
src/spicelib/devices/adms/admst/COPYING
src/spicelib/devices/adms/admst/ngspice*.xml
src/xspice/icm/table/mada/alloc.c
src/xspice/icm/table/mada/eno.c
src/xspice/icm/table/mada/eno2.c
src/xspice/icm/table/mada/eno3.c
GPL-2.0-only
src/xspice/icm/table/table2D/ifspec.ifs
src/xspice/icm/table/table3D/ifspec.ifs
GPL-3.0-or-later
src/frontend/parse-bison.c
src/frontend/parse-bison.h
src/spicelib/parser/inpptree-parser.c
src/spicelib/parser/inpptree-parser.h
src/xspice/cmpp/ifs_yacc.c
src/xspice/cmpp/ifs_yacc.h
src/xspice/cmpp/mod_yacc.c
src/xspice/cmpp/mod_yacc.h
LGPL-2.1-or-later
README.tcl
src/frontend/numparam/mystring.c
src/frontend/numparam/readme.txt
src/frontend/numparam/spicenum.c
src/frontend/numparam/xpressn.c
src/maths/KLU/colamd.c
src/spicelib/devices/adms/admst/COPYING
LGPL-2.1-only
src/maths/KLU/colamd_global.c
src/tclspice.c
MPL-2.0
src/include/cppduals/duals/dual
src/osdi/
ECL-2.0
examples/osdi/EKV2.6/ekv26_mod.va
src/spicelib/devices/bsim4/
HPND
src/maths/sparse/
BSD-4-Clause
src/misc/getopt_bsd.h
BSD-3-Clause
src/frontend/com_wr_ic.c
src/frontend/com_wr_ic.h
src/frontend/get_avail_mem_size.c
src/frontend/inpcom.c
src/frontend/inpcompat.c (BCD)
src/frontend/inpcompat.h (BCD)
src/frontend/inpc_probe.c
src/include/ngspice/sharedspice.h
src/misc/dstring.c
src/sharedspice.c
src/spicelib/analysis/optran.c
src/spicelib/devices/cpl/cpldelete.c
src/spicelib/devices/cpl/cplhash.c
src/spicelib/devices/cpl/cplhash.h
src/spicelib/devices/cpl/cplmdel.c
src/spicelib/devices/hicum2/
src/spicelib/parser/inpgmod.c
src/winmain.c
src/xspice/icm/digital/d_process/cfunc.mod
src/xspice/icm/dlmain.c
src/xspice/icm/dlmain.h
src/xspice/icm/xtradev/pswitch/cfunc.mod
src/xspice/icm/xtradev/sidiode/cfunc.mod
src/xspice/icm/xtradev/sidiode/ifspec.ifs
BSD-2-Clause
src/misc/getopt_long_bsd.c
???
examples/p-to-n-examples/MCP6041.txt
???
examples/probe/TLC555.LIB
NOT_IN_SPDX
src/frontend/commands.c
src/spicelib/devices/dev.c
NOT_IN_SPDX
src/spicelib/devices/bsim3/B3TERMS_OF_USE
src/spicelib/devices/bsim3soi_dd/BsimTerms_use
src/spicelib/devices/bsim3soi_fd/BsimTerms_use
src/spicelib/devices/bsim3soi_pd/BsimTerms_use
src/spicelib/devices/bsim3v32/B3TERMS_OF_USE
src/spicelib/devices/bsim4/B4TERMS_OF_USEs
src/spicelib/devices/bsim4v5/B4TERMS_OF_USE
src/spicelib/devices/bsim4v6/B4TERMS_OF_USE
src/spicelib/devices/bsim4v7/B4TERMS_OF_USE
src/spicelib/devices/bsimsoi/BsimTerms_use
???
src/spicelib/devices/hisim2/
src/spicelib/devices/hisimhv2/
???
src/spicelib/devices/hisimhv1/
???
src/spicelib/devices/soi3/README

View file

@ -13,20 +13,22 @@
%global userelease 1
%endif
%global majorver 41
#%%global minorver 3
%global docver 41
%global majorver 45
%global minorver 2
%global docver 45
%undefine prever
%global prerpmver %(echo "%{?prever}" | sed -e 's|-||g')
%global baserelease 1
%if 0%{?usegitbare} >= 1
# master
%global gitcommit 2275fb85da31a8c802ebf9730935c8c00d6cdea0
%global gitdate 20230814
# pre-master-45
%global gitcommit 1d0beb5e266420b1dd756913356a295ddb60fdce
%global gitdate 20250830
%global shortcommit %(c=%{gitcommit}; echo ${c:0:7})
%global tarballdate 20230816
%global tarballtime 0753
%global tarballdate 20250831
%global tarballtime 2034
%endif
%if 0%{?userelease} >= 1
@ -36,24 +38,37 @@
%global fedoraver %{majorver}%{?minorver:.%minorver}^%{gitdate}git%{shortcommit}
%endif
%global use_gcc_strict_sanitize 0
%global flagrel %{nil}
%if 0%{?use_gcc_strict_sanitize} >= 1
%global flagrel %{flagrel}.san
%endif
%bcond_with adms
%undefine _changelog_trimtime
Name: ngspice
Version: %{fedoraver}
Release: 1%{?dist}
Release: %{baserelease}%{?dist}%{flagrel}
Summary: A mixed level/signal circuit simulator
License: BSD
# ngspice-42-manual.pdf CC-BY-SA-4.0 AND BSD-3-Clause
# Automatically converted from old format: BSD - review is highly recommended.
License: LicenseRef-Callaway-BSD
URL: http://ngspice.sourceforge.net
%if 0%{?userelease} >= 1
Source0: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}/ngspice-%{majorver}.tar.gz
Source0: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}%{?minorver:.%minorver}/ngspice-%{majorver}%{?minorver:.%minorver}.tar.gz
%endif
%if 0%{?usegitbare} >= 1
Source0: ngspice-%{tarballdate}T%{tarballtime}.tar.gz
%endif
Source1: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}/ngspice-%{docver}-manual.pdf
%if %{with adms}
Source2: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{majorver}/ngspice-adms-va.7z
%endif
Source10: create-ngspice-git-bare-tarball.sh
@ -61,9 +76,14 @@ Source10: create-ngspice-git-bare-tarball.sh
# not (bug 1047056, debian bug 737279)
Patch0: ngspice-37-blt-linkage-workaround.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: gcc-c++
%if 0%{?use_gcc_strict_sanitize}
BuildRequires: libasan
BuildRequires: libubsan
%endif
BuildRequires: p7zip
BuildRequires: readline-devel
@ -88,6 +108,7 @@ BuildRequires: flex
BuildRequires: ImageMagick
BuildRequires: mot-adms
BuildRequires: xorg-x11-server-Xvfb
BuildRequires: git
Requires: %{name}-codemodel%{?_isa} = %{version}-%{release}
@ -120,7 +141,7 @@ It can be used for VLSI simulations as well.
%package -n tclspice
Summary: Tcl/Tk interface for ngspice
BuildRequires: tk-devel
BuildRequires: pkgconfig(tk) <= 8.999
BuildRequires: blt-devel
%description -n tclspice
@ -152,7 +173,7 @@ developing applications that use libngspice.
%prep
%if 0%{?userelease} >= 1
%setup -q -n %{name}-%{majorver}
%setup -q -n %{name}-%{majorver}%{?minorver:.%minorver}
git init
git config user.name "%{name} maintainer"
git config user.email "%{name}-maintainers@fedoraproject.org"
@ -170,6 +191,7 @@ git config user.email "%{name}-maintainers@fedoraproject.org"
git checkout -b %{name}-%{majorver}-fedora %{gitcommit}
%endif
%if %{with adms}
pushd src/spicelib/devices/adms
%if 0%{?userelease} >= 1
7za x %{SOURCE2}
@ -185,7 +207,9 @@ do
test -f $f || exit 1
done
%endif
popd
%endif
%patch -P0 -p2 -b .link
git commit -m "Link libspice.so with -lBLT or -lBLIlite, depending on whether in tk mode or not" -a
@ -198,7 +222,7 @@ for nonUTF8 in \
ChangeLog \
%{nil}
do
%{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv
iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv
%{__mv} -f $nonUTF8.conv $nonUTF8
done
git commit -m "Change files to UTF8" -a
@ -213,6 +237,7 @@ git commit -m "Fix permission" -a || :
# Move spinit directory to arch-dependent
sed -i configure.ac -e '\@AC_DEFINE_UNQUOTED.*NGSPICEDATADIR@s|echo .dprefix/share/ngspice|echo %{_libdir}/ngspice|'
sed -i configure.ac -e '\@AC_DEFINE_UNQUOTED.*NGSPICELIBDIR@s|echo .dprefix/share/ngspice|echo %{_libdir}/ngspice|'
sed -i src/misc/ivars.c -e 's|\(["/]\)share/ngspice|\1%_lib/ngspice|'
sed -i src/misc/ivars.c -e 's|\(["/]\)lib/ngspice|\1%_lib/ngspice|'
grep -rl "(pkgdatadir)/" . | xargs sed -i -e 's|(pkgdatadir)/|(pkglibdir)/|'
@ -237,19 +262,31 @@ sed -i \
git commit -m "Fix include path" -a
export ACLOCAL_FLAGS=-Im4
./autogen.sh --adms
./autogen.sh \
%if %{with adms}
--adms \
%endif
%{nil}
git commit -m "Execute autogen" -a || :
chmod +x configure
%build
%set_build_flags
%if 0%{?use_gcc_strict_sanitize}
export CC="${CC} -fsanitize=address -fsanitize=undefined"
export CXX="${CXX} -fsanitize=address -fsanitize=undefined"
export ASAN_OPTIONS=detect_leaks=0
%endif
%if 0%{?usegitbare} >= 1
cd %{name}
%endif
# ---- Tclspice ----------------------------------------------------------------
# Adding BLT support
export CFLAGS="%{optflags} -I%{_includedir}/blt"
export CFLAGS="%{optflags} -I$(pkg-config --variable=includedir tcl)/blt"
# Make builddir for tclspice
%{__mkdir} -p tclspice
@ -273,8 +310,11 @@ export CPPFLAGS=-DUSE_INTERP_RESULT
# by the request from the upstream
%configure \
--disable-silent-rules \
%if %{with adms}
--enable-adms \
%endif
--enable-xspice \
--enable-klu \
--enable-osdi \
--enable-maintainer-mode \
--enable-dependency-tracking \
@ -286,11 +326,11 @@ export CPPFLAGS=-DUSE_INTERP_RESULT
--enable-predictor \
--enable-shared \
--with-readline=yes \
--with-tcl=%{_libdir}/ \
--with-tcl=$(pkg-config --variable=libdir tcl) \
--libdir=%{_libdir}/tclspice \
%{nil}
%{__make} -k
%make_build -k
# Once install to the temp dir
rm -rf $(pwd)/../INST-TCLSPICE
%{__make} INSTALL="install -p" install DESTDIR=$(pwd)/../INST-TCLSPICE
@ -312,9 +352,12 @@ do
%configure \
--disable-silent-rules \
${SHARED_OPT} \
%if %{with adms}
--enable-adms \
%endif
--enable-xspice \
--enable-osdi \
--enable-klu \
--enable-maintainer-mode \
--enable-dependency-tracking \
--enable-cider \
@ -329,8 +372,7 @@ do
%{nil}
%{__make} clean
# No parallel make
%{__make} -k
%make_build -k
# Once install to the temp dir
rm -rf $(pwd)/INST-NGSPICE-${opt}
%{__make} INSTALL="install -p" install DESTDIR=$(pwd)/INST-NGSPICE-${opt}
@ -386,7 +428,7 @@ cp -pr ./src/spicelib/devices/adms/ %{buildroot}%{_libdir}/%{name}
# Ensuring that all docs are under %%{_pkgdocdir}
mkdir -p %{buildroot}%{_pkgdocdir}
cp -pr examples/ %{buildroot}%{_pkgdocdir}
install -cpm 0644 %{SOURCE1} %{buildroot}%{_pkgdocdir}/%{name}-%{version}.pdf
install -cpm 0644 %{SOURCE1} %{buildroot}%{_pkgdocdir}/%{name}-%{majorver}.pdf
cp -a \
Stuarts_Poly_Notes \
@ -407,6 +449,8 @@ chmod +x %{buildroot}%{_libdir}/ngspice/*.cm
chmod +x %{buildroot}%{_libdir}/tclspice/ngspice/*.cm
%check
export ASAN_OPTIONS=detect_leaks=0
%if 0%{?usegitbare} >= 1
cd %{name}
%endif
@ -419,12 +463,15 @@ mkdir USERPROFILE
echo "set ngbehavior=mc" > USERPROFILE/spice.rc
export USERPROFILE=$(pwd)/USERPROFILE
make check
xvfb-run \
-s "-screen 0 640x480x24" \
make check
popd
%files
%{_bindir}/*
%{_libdir}/%{name}/ivlng.*
%{_mandir}/man1/*
%doc %{_pkgdocdir}
%license COPYING
@ -436,6 +483,7 @@ popd
%{_libdir}/tclspice/libspice*.so*
%{_libdir}/tclspice/%{name}/*.cm
%{_libdir}/tclspice/%{name}/*.tcl
%{_libdir}/tclspice/%{name}/ivlng.*
%{_libdir}/tclspice/%{name}/scripts/
%files codemodel
@ -452,6 +500,50 @@ popd
%{_includedir}/ngspice/
%changelog
* Sun Sep 07 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 45.2-1
- Update to 45.2
* Tue Sep 02 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 45-1
- Update to 45
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 44.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jan 31 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 44.2-3
- Use tk8 explicitly
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 44.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Jan 12 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 44.2-1
- Update to 44.2
* Mon Dec 30 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 44-1
- Update to 44
* Mon Sep 2 2024 Miroslav Suchý <msuchy@redhat.com> - 43-4
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 43-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Tue Jul 16 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 43-2
- Apply upstream patch for fixing one byte ahead access in string manipulation
* Sun Jul 14 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 43-1
- Update to 43
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 42-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 42-2
- Fix compilation with -Werror=incompatible-pointer-types
* Fri Dec 29 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 42-1
- Update to 42
- Kill --with-adms
- Enable --with-klu
* Wed Aug 16 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 41-1
- Update to 41

View file

@ -1,3 +1,2 @@
SHA512 (ngspice-41.tar.gz) = fb0960cc9fcde1871fad82571cacebb1f5cce09ee3297cc938a24b88173ed102a2cb3f246599cdfbde7275e45e3d551edd0368e3ba6e79c592937c4cc466325e
SHA512 (ngspice-41-manual.pdf) = 51569cc774e0d5dda8d6e24122050515d6eda7719488534fe0a32b43d6bb34655472455d62d83bcb6d3847878bd26c7e45976a1eec256b321547b768858f6d74
SHA512 (ngspice-adms-va.7z) = e0bab0a275ad781ee29d2ac982075079af1d9a2d0acc7f901783cb873e1a471b2aa62c08e51448ef2e4e57623ba2e4ae3549eb882e2c625c20b8141b8109b26a
SHA512 (ngspice-45.2.tar.gz) = 4090e9433457c0b49dc1e7561bc630a5c6a340391f26be8142c6bd514ae13b72137589964fe9ae5a01069c9de7d8457bd41b0811a335b2c93a3c6e07044b35b1
SHA512 (ngspice-45-manual.pdf) = 425d9320a01d409c7baab83d111f92643cae7df62a109e06d7e4fd366262441f4fdd62532db63fb4d4af4cb98e478b4f9fca5bd6c63fb89507dba685220f34ab