Blob Blame History Raw
Name:              ngspice
Version:           18
Release:           3%{?dist}
Summary:           A mixed level/signal circuit simulator

License:           BSD
Group:             Applications/Engineering
URL:               http://%{name}.sourceforge.net/

Source0:           http://ovh.dl.sourceforge.net/sourceforge/%{name}/ng-spice-rework-%{version}.tar.gz
BuildRoot:         %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

Patch0:            ngspice-18-help.patch

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}

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.


%prep
%setup -q -n ng-spice-rework-%{version}

%patch0 -p0 -b .help

%build
%ifarch x86_64 sparc64 ppc64 amd64
%{__cp} -p src/spinit.in src/spinit.in.ngspice
cat src/spinit.in.ngspice | sed \
    -e 's|@XSPICEINIT@ codemodel @prefix@/lib/spice/spice2poly.cm|@XSPICEINIT@ codemodel @prefix@/lib64/spice/spice2poly.cm|'\
    -e 's|@XSPICEINIT@ codemodel @prefix@/lib/spice/analog.cm|@XSPICEINIT@ codemodel @prefix@/lib64/spice/analog.cm|'  \
    -e 's|@XSPICEINIT@ codemodel @prefix@/lib/spice/digital.cm|@XSPICEINIT@ codemodel @prefix@/lib64/spice/digital.cm|'\
    -e 's|@XSPICEINIT@ codemodel @prefix@/lib/spice/xtradev.cm|@XSPICEINIT@ codemodel @prefix@/lib64/spice/xtradev.cm|'\
    -e 's|@XSPICEINIT@ codemodel @prefix@/lib/spice/xtraevt.cm|@XSPICEINIT@ codemodel @prefix@/lib64/spice/xtraevt.cm|'\
> src/spinit.in
%endif

#./autogen.sh

%configure              \
    --enable-xgraph     \
    --enable-xspice     \
%ifarch x86_64 sparc64 ppc64 amd64
  --enable-libsuffix=64 \
%endif

# make in xgraph with another flag first so
# that we can correctly use Fedora compiler flags.
( cd xgraph ; %{__make} \
   ADDITIONAL_INCLUDES="$RPM_OPT_FLAGS" %{?_smp_mflags} )

%{__make} %{?_smp_mflags}


%install
%{__rm} -rf %{buildroot}
#chmod 644 src/xspice/*/*.{c,h,l,y}
#chmod 644 src/frontend/*.{c,h}
#chmod 644 src/include/*.h

%{__make} INSTALL="install -p" install DESTDIR=%{buildroot}
%{__rm} -rf doc/Makefile* %{buildroot}%{_datadir}/info/dir


#chmod +x %{buildroot}%{_libdir}/spice/{xtraevt.cm,xtradev.cm,analog.cm,spice2poly.cm,digital.cm}
#%{__rm} -f %{buildroot}%{_libdir}/ng-spice-rework/libbsim4.a


%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,-)
%doc AUTHORS COPYING README BUGS ChangeLog NEWS
%{_bindir}/cmpp
%{_bindir}/ngmakeidx
%{_bindir}/ngmultidec
%{_bindir}/ngnutmeg
%{_bindir}/ngproc2mod
%{_bindir}/ngsconvert
%{_bindir}/%{name}
%{_bindir}/xgraph
%{_datadir}/ng-spice-rework/
%{_libdir}/spice/
%{_mandir}/man1/ngnutmeg.1.*
%{_mandir}/man1/ngsconvert.1.*
%{_mandir}/man1/ngmultidec.1.*
%{_mandir}/man1/%{name}.1.*
%{_mandir}/manm/xgraph.man.*


%files doc
%defattr(-, root, root, -)
%{_infodir}/ngspice.info*.*
%doc examples/ doc/
%doc Stuarts_Poly_Notes FAQ DEVICES ANALYSES

%Changelog
* 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