File ngspice.spec of Package ngspice
%define Name ngspice
%define Version 43
Name : %{Name}
Version : %{Version}
Release : c4m.0.<CI_CNT>.<B_CNT>
Summary : open source spice simulator
Group : Applications/Engineering
License : Modified BSD License
URL : https://ngspice.sourceforge.net
Source0 : %{Name}.tgz
BuildRequires : gcc-c++
BuildRequires : autoconf, libtool
BuildRequires : flex, bison
BuildRequires : libX11-devel, libXaw-devel
BuildRequires : readline-devel
BuildRoot : %{_tmppath}/%{name}-%{version}-build
%description
open source spice simulator
ngspice is the open source spice simulator for electric and electronic circuits.
see: https://ngspice.sourceforge.io/
This is version including compiled Verilog-A models. It has also ngspice configured
for quicker parsing of model files for Sky130 and to use the KLU solver by default.
%prep
cd %{_builddir}
tar xzvf %{_sourcedir}/%{Name}.tgz
cd %{Name}
./autogen.sh
mkdir exe lib
cd exe
../configure \
--prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} --docdir=%{_docdir} --mandir=%{_mandir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--with-x --enable-xspice --enable-cider --enable-predictor --enable-osdi --enable-klu \
--with-readline=yes --disable-debug \
CFLAGS="-O2" LDFLAGS="-s"
cd ../lib
../configure \
--prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} --docdir=%{_docdir} --mandir=%{_mandir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--with-ngshared --enable-xspice --enable-cider --enable-osdi --enable-klu \
--with-readline=yes --enable-openmp --disable-debug \
CFLAGS="-O2" LDFLAGS="-s"
%build
cd %{Name}/exe
make
cd ../lib
make
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
cd %{_builddir}/%{Name}/exe
make install DESTDIR=%{buildroot}
cd ../lib
make install DESTDIR=%{buildroot}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%{_bindir}/*
%{_mandir}/*
%{_libdir}/*
%{_includedir}/*
%{_datadir}/*