File ngspice.spec of Package ngspice
%define _unpackaged_files_terminate_build 0
%define pname ngspice
Name: %{pname}
Version: 44.2
Release: <CI_CNT>.<B_CNT>
Summary: Mixed-level, Mixed-signal Circuit Simulator Based on spice3f5
License: BSD-2-Clause
Group: Productivity/Scientific/Electronics
URL: https://ngspice.sourceforge.io
Source0: https://downloads.sourceforge.net/%{pname}/%{pname}-%{version}.tar.gz
BuildRequires: bison
BuildRequires: flex
BuildRequires: fftw3-devel
BuildRequires: gcc-c++
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: readline-devel
BuildRequires: pkgconfig(tinfo)
BuildRequires: libX11-devel
BuildRequires: libXaw-devel
BuildRequires: libXext-devel
BuildRequires: libXft-devel
BuildRequires: libXmu-devel
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
BuildRequires: libX11-6
%else
BuildRequires: libX11
%endif
%description
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice.
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
%package xspice-cm
Summary: Xspice code model Plugins
Group: Productivity/Scientific/Electronics
%description xspice-cm
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice. This package contains the Xspice code model plugins.
%package scripts
Summary: Ngspice init scripts
Group: Productivity/Scientific/Electronics
%description scripts
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice. This package contains the ngspice init scripts shared
between ngspice and libngspice.
%package -n lib%{pname}0
Summary: Shared libraries for ngspice
Group: System/Libraries
%description -n lib%{pname}0
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice. This package contains the shared libraries.
%else
%package -n lib%{pname}
Summary: Shared libraries for ngspice
Group: System/Libraries
%description -n lib%{pname}
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice. This package contains the shared libraries.
%endif
%package -n lib%{pname}-devel
Summary: Development files for ngspice
Group: Development/Libraries/Other
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
Requires: lib%{pname}0 = %{version}
%else
Requires: lib%{pname} = %{version}
%endif
%description -n lib%{pname}-devel
Ngspice is a mixed-level/mixed-signal circuit simulator. Its code
is based on three open source software packages: Spice3f5, Cider1b1
and Xspice. This package contains the development files.
%prep
%setup -q -n ngspice-%{version}
%autopatch -p1
%build
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
export CFLAGS="%{optflags} -fPIE"
export LDFLAGS="-pie"
#%else
#export CFLAGS="-02 -std=c99"
#export LDFLAGS="-s"
%endif
./autogen.sh
mkdir exe releasesh
cd exe
../configure \
--prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} --docdir=%{_docdir} --mandir=%{_mandir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--disable-debug \
--with-x \
--with-readline=yes \
--enable-xspice \
--enable-cider \
--enable-openmp \
--enable-osdi \
--enable-predictor \
%{nil}
cd ../releasesh
../configure \
--prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
--bindir=%{_bindir} --docdir=%{_docdir} --mandir=%{_mandir} \
--libdir=%{_libdir} --libexecdir=%{_libexecdir} \
--datadir=%{_datadir} --includedir=%{_includedir} \
--disable-debug \
--with-ngshared \
--with-readline=yes \
--enable-xspice \
--enable-cider \
--enable-openmp \
--enable-osdi \
--enable-predictor \
%{nil}
cd ../exe
make
cd ../releasesh
make
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
cd %{_builddir}/%{pname}-%{version}/exe
make install DESTDIR=%{buildroot}
cd ../releasesh
make install DESTDIR=%{buildroot}
cd ..
chmod -x ANALYSES AUTHORS BUGS DEVICES FAQ NEWS README
find %{buildroot} -type f -name "*.la" -delete -print
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
%post -n lib%{pname}0 -p /sbin/ldconfig
%postun -n lib%{pname}0 -p /sbin/ldconfig
%else
%post -n lib%{pname} -p /sbin/ldconfig
%postun -n lib%{pname} -p /sbin/ldconfig
%endif
%if 0%{?suse_version} > 1400 && 0%{?is_opensuse}
%files
%defattr(-,root,root,-)
%license COPYING
%doc ANALYSES AUTHORS BUGS DEVICES FAQ NEWS README
%dir %{_datadir}/ngspice
%{_bindir}/ngspice
%{_mandir}/man1/*
%files scripts
%{_datadir}/ngspice/scripts
%files xspice-cm
%{_libdir}/%{pname}
%files -n lib%{pname}0
%{_libdir}/lib%{pname}.so.*
%else
%files
%defattr(-,root,root,-)
%license COPYING
%doc ANALYSES AUTHORS BUGS DEVICES FAQ NEWS README
%dir %{_datadir}/ngspice
%{_bindir}/ngspice
%{_mandir}/man1/*
%{_datadir}/ngspice/scripts
%{_libdir}/%{pname}
%files -n lib%{pname}
%{_libdir}/lib%{pname}.so.*
%endif
%files -n lib%{pname}-devel
%dir %{_includedir}/%{pname}
%{_includedir}/%{pname}/sharedspice.h
%{_libdir}/lib%{pname}.so
%{_libdir}/pkgconfig/%{pname}.pc
%changelog
* Tue Jan 28 2025 Mazher IQBAL <Mazher.Iqbal@lip6.fr>
- First OBS script is generated.