diff --git a/.gitignore b/.gitignore index af7bc53..a71e5cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ ngspice-21.pdf ngspice-rework-20.cvs20100719.tar.bz2 +/ngspice-23.tar.gz +/ngspice23-manual.pdf diff --git a/ngspice.spec b/ngspice.spec index 5465277..925b800 100644 --- a/ngspice.spec +++ b/ngspice.spec @@ -1,33 +1,50 @@ +# Features in Fedora/Free Electronic Lab +# What else does this build do aside compiling ngspice ? +# - Ensures interoperability with xcircuit via Tcl +# - Ensures interoperability with mot-adms +# - Provides tclspice capabilities +# Chitlesh Goorah + # ## To download development trunk # # cvs -d:pserver:anonymous@ngspice.cvs.sourceforge.net:/cvsroot/ngspice login -# cvs -z3 -d:pserver:anonymous@ngspice.cvs.sourceforge.net:/cvsroot/ngspice co -P ngspice -# tar cjf ~/rpmbuild/SOURCES/ngspice-rework-20.cvs`date '+%Y%m%d'`.tar.bz2 ngspice +# cvs -z3 -d:pserver:anonymous@ngspice.cvs.sourceforge.net:/cvsroot/ngspice export -DNOW ngspice +# tar cjf ~/rpmbuild/SOURCES/ngspice-rework-23.`date '+%Y%m%d'`cvs.tar.bz2 ngspice + +# Toggle the following declaration when using version controlled snapshots +%define devel 0 Name: ngspice -Version: 21 -Release: 3.cvs20100719%{?dist} +Version: 23 +%if %{?devel} +%define snap .20111129cvs +%endif +Release: 1%{?snap}%{?dist} Summary: A mixed level/signal circuit simulator License: BSD Group: Applications/Engineering URL: http://ngspice.sourceforge.net -#Source0: http://downloads.sourceforge.net/sourceforge/%{name}/ngspice%{version}_100620.zip -Source0: ngspice-rework-20.cvs20100719.tar.bz2 -Source1: ngspice-21.pdf +%if %{?devel} +Source0: ngspice-rework-%{version}%{snap}.tar.bz2 +%else +Source0: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{version}/ngspice-%{version}.tar.gz +Source1: https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/%{version}/ngspice%{version}-manual.pdf +%endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -# Ensured interoperability with xcircuit via Tcl - BuildRequires: readline-devel, libXext-devel, libpng-devel, libICE-devel BuildRequires: libXaw-devel, mesa-libGL-devel, libXt-devel, automake, libtool +%if %{?devel} BuildRequires: lyx +%endif BuildRequires: bison BuildRequires: byacc BuildRequires: flex ImageMagick +BuildRequires: mot-adms Obsoletes: ngspice-doc < 20-4.cvs20100619 Provides: ngspice-doc = %{version}-%{release} @@ -51,7 +68,7 @@ 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. +It can be used for VLSI simulations as well. %package -n tclspice @@ -66,13 +83,17 @@ the Tcl/Tk scripting language. The project is based upon the NG-Spice source code base with many improvements. %prep +%if %{?devel} %setup -q -n ngspice cd ng-spice-rework +%else +%setup -q +%endif # 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 + examples/tclspice/tcl-testbench1/capa.cir ChangeLog; do %{_bindir}/iconv -f ISO-8859-1 -t utf-8 $nonUTF8 > $nonUTF8.conv %{__mv} -f $nonUTF8.conv $nonUTF8 done @@ -81,11 +102,12 @@ done 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 {} ';' +find src/ -type f -name "*.l" -exec chmod -x {} ';' +find src/ -type f -name "*.y" -exec chmod -x {} ';' -sed -i '15,/ /i\#include ;' src/include/tclspice.h %ifarch x86_64 sparc64 ppc64 amd64 -sed -i "s|@XSPICEINIT@ codemodel @prefix@/lib|@XSPICEINIT@ codemodel %{_libdir}|" \ +sed -i "s|@XSPICEINIT@ codemodel @prefix@/@libname@|@XSPICEINIT@ codemodel %{_libdir}|" \ src/spinit.in %endif @@ -100,21 +122,23 @@ sed -i \ "s|spice::codemodel ../../src/xspice/icm/spice2poly|spice::codemodel %{_libdir}/tclspice/spice|" \ examples/tclspice/tcl-testbench4/tcl-testbench4.tcl -#{__libtoolize} --force --copy -#{__aclocal} -#{__automake} --add-missing -#{__autoconf} -./autogen.sh +# Fixed minor CVS build +sed -i "s|AM_CPPFLAGS =|AM_CPPFLAGS = -I\$(top_srcdir)/src/maths/ni |" src/spicelib/analysis/Makefile.am + +./autogen.sh --adms + +chmod +x configure %build +%if %{?devel} # ---- Manual ---------------------------------------------------------------- -#cd ng-spice-manuals -#autoreconf -Wno-portability --install -#./configure ; make -#cd .. +cd ng-spice-manuals +autoreconf -Wno-portability --install +./configure ; make +cd .. cd ng-spice-rework -cp -p %{SOURCE1} . +%endif # ---- Tclspice ---------------------------------------------------------------- # Adding BLT support @@ -128,10 +152,13 @@ export CFLAGS="%{optflags} -I%{_includedir}/blt" cd tclspice sed -i "s|\#define NGSPICEDATADIR \"\`echo \$dprefix/share/ngspice\`\"|\#define NGSPICEDATADIR \"\`echo %{_libdir}/tclspice\`\"|" configure* # fix ng-spice-manuals directory location -#sed -i 's|../ng-spice-manuals|../../ng-spice-manuals|g' manual/Makefile.am +%if %{?devel} +sed -i 's|../ng-spice-manuals|../../ng-spice-manuals|g' manual/Makefile.am +%endif %configure \ --disable-xgraph \ + --enable-adms \ --enable-xspice \ --enable-maintainer-mode \ --enable-dependency-tracking \ @@ -140,11 +167,13 @@ sed -i "s|\#define NGSPICEDATADIR \"\`echo \$dprefix/share/ngspice\`\"|\#define --enable-newpred \ --enable-expdevices \ --enable-intnoise \ + --enable-openmp \ --enable-predictor \ --enable-numparam \ --enable-dot-global \ --enable-shared \ --enable-ndev \ + --with-readline=yes \ %if 0%{?fedora} --with-tcl=%{_libdir}/tcl8.5/ \ %else @@ -158,6 +187,7 @@ cd .. %configure \ --disable-xgraph \ + --enable-adms \ --enable-xspice \ --enable-maintainer-mode \ --enable-dependency-tracking \ @@ -166,11 +196,13 @@ cd .. --enable-newpred \ --enable-expdevices \ --enable-intnoise \ + --enable-openmp \ --enable-predictor \ --enable-numparam \ --enable-dot-global \ --enable-shared \ --enable-ndev \ + --with-readline=yes \ --libdir=%{_libdir} %{__make} @@ -178,7 +210,9 @@ cd .. %install %{__rm} -rf %{buildroot} +%if %{?devel} cd ng-spice-rework +%endif %{__make} INSTALL="install -p" install DESTDIR=%{buildroot} @@ -192,15 +226,22 @@ cd .. %{__rm} -rf %{buildroot}%{_libdir}/tclspice/libspice.la # ------------------------------------------------------------------------------ +# ADMS support +cp -pr ./src/spicelib/devices/adms/ %{buildroot}%{_datadir}/%{name} # 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 -p ngspice-21.pdf %{buildroot}%{_docdir}/%{name}-%{version}/%{name}-%{version}.pdf +%if %{?devel} +cp -p ../ng-spice-manuals/manual.pdf %{buildroot}%{_docdir}/%{name}-%{version}/%{name}-%{version}.pdf +%else +cp -p %{SOURCE1} %{buildroot}%{_docdir}/%{name}-%{version}/%{name}-%{version}.pdf +%endif + rm -rf %{buildroot}%{_docdir}/%{name} cp -pr Stuarts_Poly_Notes FAQ DEVICES ANALYSES %{buildroot}%{_docdir}/%{name}-%{version}/ -cp -pr AUTHORS COPYING README BUGS ChangeLog NEWS %{buildroot}%{_docdir}/%{name}-%{version}/ +cp -pr AUTHORS COPYING README* BUGS ChangeLog NEWS %{buildroot}%{_docdir}/%{name}-%{version}/ # pull as debuginfo @@ -210,7 +251,11 @@ chmod +x %{buildroot}%{_libdir}/tclspice/spice/*.cm %{__rm} -rf %{buildroot}%{_datadir}/info/dir %check +%if %{?devel} cd ng-spice-rework/tests +%else +cd tests +%endif #make check @@ -233,6 +278,22 @@ cd ng-spice-rework/tests %changelog +* Tue Nov 29 2011 Chitlesh Goorah 23-1 +- New upstream sources with various bug fixes +- Upstream added #include to src/include/tclspice.h + +* Tue Feb 08 2011 Fedora Release Engineering - 22-6.cvs20101113 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Nov 13 2010 Chitlesh Goorah 21-5.cvs20101113 +- new upstream sources with various bug fixes + +* Sat Aug 21 2010 Chitlesh Goorah 21-4.cvs20100821 +- enabling adms support + +* Sun Aug 01 2010 Chitlesh Goorah 21-3.cvs20100719 +- new fixes from development trunk + * Sun Jul 11 2010 Chitlesh Goorah 21-2.cvs20100620 - added bison and byacc as BR diff --git a/sources b/sources index 8fdf294..b232d9d 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -95ee9f647e5c50fdcb2a9a26a519295b ngspice-21.pdf -669587010b890413bf26e35cccd400d4 ngspice-rework-20.cvs20100719.tar.bz2 +bc7faa7348e307145b3bb04ef70a87d2 ngspice-23.tar.gz +eb0d68eb463a41a0571757a00a5b9f9d ngspice23-manual.pdf