281 lines
8.9 KiB
RPMSpec
281 lines
8.9 KiB
RPMSpec
Name: ngspice
|
|
Version: 19
|
|
Release: 1%{?dist}
|
|
Summary: A mixed level/signal circuit simulator
|
|
|
|
License: BSD
|
|
Group: Applications/Engineering
|
|
URL: http://%{name}.sourceforge.net/
|
|
|
|
Source0: http://downloads.sourceforge.net/sourceforge/%{name}/ng-spice-rework-%{version}.tar.gz
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
|
# Ensuring interoperability with xcircuit via Tcl
|
|
Patch0: %{name}-xcircuit_bridge.patch
|
|
Patch1: %{name}-rework-19.memusage_warning.patch
|
|
|
|
Requires(post): /sbin/install-info
|
|
Requires(preun): /sbin/install-info
|
|
|
|
BuildRequires: readline-devel, libXext-devel, libpng-devel, libICE-devel
|
|
BuildRequires: libXaw-devel, mesa-libGL-devel, libXt-devel
|
|
|
|
|
|
%description
|
|
Ngspice is a general-purpose circuit simulator program.
|
|
It implements three classes of analysis:
|
|
- Nonlinear DC analyses
|
|
- Nonlinear Transient analyses
|
|
- Linear AC analyses
|
|
|
|
Ngspice implements the usual circuits elements, like resistors, capacitors,
|
|
inductors (single or mutual), transmission lines and a growing number of
|
|
semiconductor devices like diodes, bipolar transistors, mosfets (both bulk
|
|
and SOI), mesfets, jfet and HFET. Ngspice implements the EKV model but it
|
|
cannot be distributed with the package since its license does not allow to
|
|
redistribute EKV source code.
|
|
|
|
Ngspice integrates Xspice, a mixed-mode simulator built upon spice3c1 (and
|
|
then some tweak is necessary merge it with spice3f5). Xspice provides a
|
|
codemodel interface and an event-driven simulation algorithm. Users can
|
|
develop their own models for devices using the codemodel interface.
|
|
|
|
It could be used for VLSI simulations as well.
|
|
|
|
|
|
%package doc
|
|
Summary: Documentation for ngspice, a mixed level/signal circuit simulator
|
|
Group: Documentation
|
|
Requires: ngspice = %{version}-%{release}
|
|
Requires(post): /sbin/install-info
|
|
Requires(preun): /sbin/install-info
|
|
|
|
%description doc
|
|
This package contains the documentation of ngspice in pdf, postscript
|
|
and info format.
|
|
|
|
|
|
%package -n tclspice
|
|
Summary: Tcl/Tk interface for ngspice
|
|
Group: Applications/Engineering
|
|
BuildRequires: tk-devel
|
|
BuildRequires: blt-devel
|
|
|
|
%description -n tclspice
|
|
TclSpice is an improved version of Berkeley Spice designed to be used with
|
|
the Tcl/Tk scripting language. The project is based upon the NG-Spice source
|
|
code base with many improvements.
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%patch0 -p0 -b .xcircuit
|
|
%patch1 -p0 -b .mem
|
|
|
|
# make sure the examples are UTF-8...
|
|
for nonUTF8 in examples/tclspice/tcl-testbench4/selectfromlist.tcl \
|
|
examples/tclspice/tcl-testbench1/testCapa.cir \
|
|
examples/tclspice/tcl-testbench1/capa.cir ; do
|
|
%{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv
|
|
%{__mv} -f $nonUTF8.conv $nonUTF8
|
|
done
|
|
|
|
# rpmlint warnings
|
|
find examples/ -type f -name ".cvsignore" -exec rm -rf {} ';'
|
|
find src/ -type f -name "*.c" -exec chmod -x {} ';'
|
|
find src/ -type f -name "*.h" -exec chmod -x {} ';'
|
|
|
|
%ifarch x86_64 sparc64 ppc64 amd64
|
|
sed -i "s|@XSPICEINIT@ codemodel @prefix@/lib|@XSPICEINIT@ codemodel %{_libdir}|" \
|
|
src/spinit.in
|
|
%endif
|
|
|
|
# Fix Tclspice's examples
|
|
sed -i \
|
|
"s|load \"../../../src/.libs/libspice.so\"|lappend auto_path \"%{_libdir}/tclspice\"\npackage require spice|" \
|
|
examples/tclspice/*/*.tcl
|
|
sed -i \
|
|
"s|load ../../../src/.libs/libspice.so|lappend auto_path \"%{_libdir}/tclspice\"\npackage require spice|" \
|
|
examples/tclspice/*/*.tcl
|
|
sed -i \
|
|
"s|spice::codemodel ../../src/xspice/icm/spice2poly|spice::codemodel %{_libdir}/tclspice/spice|" \
|
|
examples/tclspice/tcl-testbench4/tcl-testbench4.tcl
|
|
|
|
%build
|
|
|
|
|
|
# ---- Tclspice ----------------------------------------------------------------
|
|
# Adding BLT support
|
|
export CFLAGS="$CFLAGS -I%{_includedir}/blt"
|
|
|
|
# Make builddir for tclspice
|
|
%{__mkdir} -p tclspice
|
|
%{__cp} -Rl `ls . | grep -v tclspice` tclspice
|
|
|
|
# Configure tclspice
|
|
cd tclspice
|
|
sed -i "s|\#define NGSPICEDATADIR \"\`echo \$dprefix/share/ngspice\`\"|\#define NGSPICEDATADIR \"\`echo %{_libdir}/tclspice\`\"|" configure*
|
|
%configure \
|
|
--disable-xgraph \
|
|
--enable-xspice \
|
|
--enable-maintainer-mode \
|
|
--enable-capzerobypass \
|
|
--enable-cider \
|
|
--enable-newpred \
|
|
--enable-expdevices \
|
|
--enable-intnoise \
|
|
--enable-predictor \
|
|
--enable-numparam \
|
|
--enable-dot-global \
|
|
--enable-shared \
|
|
--with-tcl=%{_libdir}/tcl8.5/ \
|
|
--libdir=%{_libdir}/tclspice
|
|
|
|
%{__make}
|
|
cd ..
|
|
# ------------------------------------------------------------------------------
|
|
|
|
%configure \
|
|
--disable-xgraph \
|
|
--enable-xspice \
|
|
--enable-maintainer-mode \
|
|
--enable-capzerobypass \
|
|
--enable-cider \
|
|
--enable-newpred \
|
|
--enable-expdevices \
|
|
--enable-intnoise \
|
|
--enable-predictor \
|
|
--enable-numparam \
|
|
--enable-dot-global \
|
|
--enable-shared \
|
|
--libdir=%{_libdir}
|
|
|
|
%{__make} %{?_smp_mflags}
|
|
|
|
%install
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
%{__make} INSTALL="install -p" install DESTDIR=%{buildroot}
|
|
|
|
# ---- Tclspice ----------------------------------------------------------------
|
|
# Tclspice : Make install
|
|
cd tclspice
|
|
%{__make} INSTALL="install -p" install DESTDIR=%{buildroot}
|
|
cd ..
|
|
|
|
%{__rm} -rf %{buildroot}%{_libdir}/tclspice/libspice.la
|
|
# ------------------------------------------------------------------------------
|
|
|
|
|
|
# Ensuring that all docs are under %%{_docdir}/%%{name}-%%{version}/
|
|
rm -rf %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
mkdir -p %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
cp -pr examples/ %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
cp -pr doc/*.pdf %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
cp -pr Stuarts_Poly_Notes FAQ DEVICES ANALYSES %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
cp -pr AUTHORS COPYING README BUGS ChangeLog NEWS %{buildroot}%{_docdir}/%{name}-%{version}/
|
|
|
|
|
|
# pull as debuginfo
|
|
chmod +x %{buildroot}%{_libdir}/spice/*.cm
|
|
|
|
%{__rm} -rf %{buildroot}%{_datadir}/info/dir
|
|
|
|
%check
|
|
#make check
|
|
|
|
|
|
%clean
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
%post doc
|
|
/sbin/install-info %{_infodir}/%{name}.info %{_infodir}/dir || :
|
|
|
|
%preun doc
|
|
/sbin/install-info --delete %{_infodir}/%{name}.info*.gz %{_infodir}/dir || :
|
|
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%{_bindir}/*
|
|
%{_datadir}/%{name}/
|
|
%{_libdir}/spice/
|
|
%{_mandir}/man1/*
|
|
|
|
|
|
%files -n tclspice
|
|
%defattr(-,root,root,-)
|
|
%doc %{_docdir}/%{name}-%{version}/examples/tclspice
|
|
%{_libdir}/tclspice/
|
|
|
|
|
|
%files doc
|
|
%defattr(-, root, root, -)
|
|
%exclude %doc %{_docdir}/%{name}-%{version}/examples/tclspice
|
|
%doc %{_docdir}/%{name}-%{version}/
|
|
%{_infodir}/ngspice.info*.*
|
|
|
|
|
|
%changelog
|
|
* Sun Aug 02 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 19-1
|
|
- new upstream release
|
|
- RHBZ #514484 A Long Warning Message (patched)
|
|
- RHBZ #511695 FTBFS ngspice-18-2.fc11
|
|
|
|
* Sat Feb 21 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 18-2
|
|
- x11 windows (help and plot) fixes #RHBZ 481525
|
|
|
|
* Sat Jan 10 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 18-1
|
|
- new upstream release
|
|
|
|
* Sun Jun 15 2008 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-16
|
|
- Bugfix: #449409: FTBFS ngspice-17-14.fc9
|
|
|
|
* Fri Apr 18 2008 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-15
|
|
- rebuild
|
|
|
|
* Fri Aug 24 2007 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-13
|
|
- mass rebuild for fedora 8 - BuildID
|
|
|
|
* Sat Jul 08 2007 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-12
|
|
- fixed ScriptletSnippets for Texinfo #246780
|
|
- moved documentations to -doc package
|
|
|
|
* Sat Mar 17 2007 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-11
|
|
- droped patch: ngspice-bjt.patch, upstream will provide a better patch soon
|
|
|
|
* Sat Mar 17 2007 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-10
|
|
- fixed bug #227519 in spec file - Ville Skyttä
|
|
- patch: ngspice-bjt.patch fixes the problem with bjt devices that have less than five nodes
|
|
|
|
* Tue Jan 09 2007 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-9
|
|
- dropped --enable-cider since it requires non-opensource software
|
|
- dropped --enable-predictor from %%configure
|
|
|
|
* Tue Dec 19 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-8
|
|
- patch0 for xcircuit pipemode
|
|
- XCircuit can work as an ng-spice front-end
|
|
- fixed infodir to mean FE guidelines
|
|
|
|
* Sun Oct 15 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-7
|
|
- Fixed src/spinit.in for 64 bit
|
|
|
|
* Thu Oct 12 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-6
|
|
- Testing on 64 bit arch
|
|
|
|
* Mon Sep 04 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-5
|
|
- Added libXt-devel to include X headers
|
|
|
|
* Wed Aug 30 2006 Mamoru Tasaka <mtasaka@ioa.s.u-tokyo.ac.jp> 17-4
|
|
- Fix to pass compiler flags in xgraph.
|
|
|
|
* Tue Aug 29 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-3
|
|
- Fixed BR and script-without-shellbang for debug file
|
|
|
|
* Mon Aug 28 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-2
|
|
- Fixed BRs and excluded libbsim4.a
|
|
- Removed duplicates and useless ldconfig from %%post
|
|
|
|
* Sun Aug 27 2006 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 17-1
|
|
- Initial Package for Fedora Extras
|