dadccb1dfb
(bug 1311869) - rearrange files entries between ngspice / tclspice - move tclspinit into tclspice - rename tclspice side cmpp - also don't overwrite ngspice header files by tclspice side
480 lines
15 KiB
RPMSpec
480 lines
15 KiB
RPMSpec
# 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 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
|
|
%global devel 0
|
|
|
|
Name: ngspice
|
|
Version: 26
|
|
%if %{?devel}
|
|
%global snap .20111129cvs
|
|
%endif
|
|
Release: 3.900%{?snap}%{?dist}
|
|
Summary: A mixed level/signal circuit simulator
|
|
|
|
License: BSD
|
|
Group: Applications/Engineering
|
|
URL: http://ngspice.sourceforge.net
|
|
|
|
%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
|
|
|
|
BuildRequires: readline-devel
|
|
BuildRequires: libXext-devel
|
|
BuildRequires: libpng-devel
|
|
BuildRequires: libICE-devel
|
|
BuildRequires: libXaw-devel
|
|
BuildRequires: libGL-devel
|
|
BuildRequires: libXt-devel
|
|
|
|
BuildRequires: automake
|
|
BuildRequires: libtool
|
|
%if %{?devel}
|
|
BuildRequires: lyx
|
|
%endif
|
|
BuildRequires: bison
|
|
BuildRequires: byacc
|
|
BuildRequires: flex
|
|
BuildRequires: ImageMagick
|
|
BuildRequires: mot-adms
|
|
|
|
Obsoletes: ngspice-doc < 20-4.cvs20100619
|
|
Provides: ngspice-doc = %{version}-%{release}
|
|
|
|
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
|
|
|
|
%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 can be used for VLSI simulations as well.
|
|
|
|
|
|
%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
|
|
%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 \
|
|
ChangeLog \
|
|
%{nil}
|
|
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 {} ';'
|
|
find src/ -type f -name "*.l" -exec chmod -x {} ';'
|
|
find src/ -type f -name "*.y" -exec chmod -x {} ';'
|
|
|
|
%ifarch x86_64 sparc64 ppc64 amd64
|
|
sed -i "s|@XSPICEINIT@ codemodel @prefix@/@libname@|@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
|
|
|
|
# Fixed minor CVS build
|
|
sed -i \
|
|
"s|AM_CPPFLAGS =|AM_CPPFLAGS = -I\$(top_srcdir)/src/maths/ni |" \
|
|
src/spicelib/analysis/Makefile.am
|
|
|
|
export ACLOCAL_FLAGS=-Im4
|
|
./autogen.sh --adms
|
|
|
|
chmod +x configure
|
|
|
|
%build
|
|
%if %{?devel}
|
|
# ---- Manual ----------------------------------------------------------------
|
|
cd ng-spice-manuals
|
|
autoreconf -Wno-portability --install
|
|
%configure ; make
|
|
cd ..
|
|
|
|
cd ng-spice-rework
|
|
%endif
|
|
|
|
# ---- Tclspice ----------------------------------------------------------------
|
|
# Adding BLT support
|
|
export CFLAGS="%{optflags} -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*
|
|
# fix ng-spice-manuals directory location
|
|
%if %{?devel}
|
|
sed -i \
|
|
's|../ng-spice-manuals|../../ng-spice-manuals|g' \
|
|
manual/Makefile.am
|
|
%endif
|
|
|
|
# direct access to Tcl_Interp->result deprecated in tcl8.6,
|
|
# remaining usage cannot be replaced by Tcl_SetResult
|
|
export CPPFLAGS=-DUSE_INTERP_RESULT
|
|
|
|
%configure \
|
|
--disable-silent-rules \
|
|
--disable-xgraph \
|
|
--enable-adms \
|
|
--enable-xspice \
|
|
--enable-maintainer-mode \
|
|
--enable-dependency-tracking \
|
|
--enable-capzerobypass \
|
|
--enable-cider \
|
|
--enable-newpred \
|
|
--enable-expdevices \
|
|
--enable-intnoise \
|
|
--enable-openmp \
|
|
--enable-predictor \
|
|
--enable-numparam \
|
|
--enable-dot-global \
|
|
--enable-shared \
|
|
--enable-ndev \
|
|
--with-readline=yes \
|
|
--with-tcl=%{_libdir}/ \
|
|
--libdir=%{_libdir}/tclspice \
|
|
%{nil}
|
|
|
|
%{__make}
|
|
cd ..
|
|
# ------------------------------------------------------------------------------
|
|
|
|
%configure \
|
|
--disable-silent-rules \
|
|
--disable-xgraph \
|
|
--enable-adms \
|
|
--enable-xspice \
|
|
--enable-maintainer-mode \
|
|
--enable-dependency-tracking \
|
|
--enable-capzerobypass \
|
|
--enable-cider \
|
|
--enable-newpred \
|
|
--enable-expdevices \
|
|
--enable-intnoise \
|
|
--enable-openmp \
|
|
--enable-predictor \
|
|
--enable-numparam \
|
|
--enable-dot-global \
|
|
--enable-shared \
|
|
--enable-ndev \
|
|
--with-readline=yes \
|
|
--libdir=%{_libdir} \
|
|
%{nil}
|
|
|
|
%{__make}
|
|
# %{?_smp_mflags}
|
|
|
|
%install
|
|
%if %{?devel}
|
|
cd ng-spice-rework
|
|
%endif
|
|
|
|
# Once install to the temp dir
|
|
rm -rf $(pwd)/INST-NGSPICE
|
|
%{__make} INSTALL="install -p" install DESTDIR=$(pwd)/INST-NGSPICE
|
|
|
|
|
|
|
|
# ---- Tclspice ----------------------------------------------------------------
|
|
# Tclspice : Make install
|
|
cd tclspice
|
|
# Once install to the temp dir
|
|
rm -rf $(pwd)/INST-TCLSPICE
|
|
%{__make} INSTALL="install -p" install DESTDIR=$(pwd)/../INST-TCLSPICE
|
|
cd ..
|
|
|
|
# Clean up unneeded / duplicate files also installed from ngspice
|
|
pushd INST-TCLSPICE
|
|
rm -rf ./%{_datadir}/ngspice/include/
|
|
# see bug 1311869
|
|
rm -f ./%{_datadir}/ngspice/scripts/spinit
|
|
# binary differ
|
|
mv .%{_bindir}/cmpp{,-tclspice}
|
|
popd
|
|
|
|
# Install
|
|
cp -a INST-NGSPICE/* %{buildroot}
|
|
cp -a INST-TCLSPICE/* %{buildroot}
|
|
|
|
%{__rm} -rf \
|
|
%{buildroot}%{_libdir}/tclspice/libspice.la
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ADMS support
|
|
# It seems that the below is not needed, compiled into binary already
|
|
# (mtasaka, 20160628)
|
|
%if 0
|
|
cp -pr ./src/spicelib/devices/adms/ %{buildroot}%{_datadir}/%{name}
|
|
%endif
|
|
|
|
# Ensuring that all docs are under %%{_pkgdocdir}
|
|
mkdir -p %{buildroot}%{_pkgdocdir}
|
|
cp -pr examples/ %{buildroot}%{_pkgdocdir}
|
|
%if %{?devel}
|
|
cp -p ../ng-spice-manuals/manual.pdf %{buildroot}%{_pkgdocdir}/%{name}-%{version}.pdf
|
|
%else
|
|
cp -p %{SOURCE1} %{buildroot}%{_pkgdocdir}/%{name}-%{version}.pdf
|
|
%endif
|
|
|
|
cp -a \
|
|
Stuarts_Poly_Notes \
|
|
FAQ \
|
|
DEVICES \
|
|
ANALYSES \
|
|
%{buildroot}%{_pkgdocdir}
|
|
cp -a \
|
|
AUTHORS \
|
|
README* \
|
|
BUGS \
|
|
ChangeLog \
|
|
NEWS \
|
|
%{buildroot}%{_pkgdocdir}
|
|
|
|
# pull as debuginfo
|
|
chmod +x %{buildroot}%{_libdir}/ngspice/*.cm
|
|
chmod +x %{buildroot}%{_libdir}/tclspice/ngspice/*.cm
|
|
|
|
%check
|
|
%if %{?devel}
|
|
cd ng-spice-rework/tests
|
|
%else
|
|
cd tests
|
|
%endif
|
|
#make check
|
|
|
|
%files
|
|
%{_bindir}/*
|
|
%exclude %{_bindir}/cmpp-tclspice
|
|
%{_datadir}/%{name}/
|
|
%exclude %{_datadir}/%{name}/scripts/tclspinit
|
|
%{_libdir}/ngspice/
|
|
|
|
%{_mandir}/man1/*
|
|
%exclude %{_pkgdocdir}/examples/tclspice
|
|
%doc %{_pkgdocdir}
|
|
%license COPYING
|
|
|
|
%files -n tclspice
|
|
%{_bindir}/cmpp-tclspice
|
|
%doc %{_pkgdocdir}/examples/tclspice
|
|
%{_libdir}/tclspice/
|
|
%dir %{_datadir}/ngspice
|
|
%dir %{_datadir}/%{name}/scripts/
|
|
%{_datadir}/%{name}/scripts/tclspinit
|
|
|
|
%changelog
|
|
* Tue Jun 28 2016 Mamoru TASAKA <mtasaka@fedoraproject.org> - 26-4
|
|
- Don't get ngspice files overwritten by files from tclspice side
|
|
(bug 1311869)
|
|
- rearrange files entries between ngspice / tclspice
|
|
- move tclspinit into tclspice
|
|
- rename tclspice side cmpp
|
|
- also don't overwrite ngspice header files by tclspice side
|
|
|
|
* Mon Jun 27 2016 Mamoru TASAKA <mtasaka@fedoraproject.org>
|
|
- spec file clean up
|
|
- Don't install adms source and compiled .o objects, they are
|
|
already linked into ngspice and tclspice shared library
|
|
|
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 26-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
|
* Sun Jan 31 2016 Eduardo Mayorga <mayorga@fedoraproject.org> - 26-2
|
|
- Use %%global instead of %%define
|
|
|
|
* Thu Oct 08 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 26-1
|
|
- Update to 26 release.
|
|
- use licence tag
|
|
- use configure macro
|
|
|
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-10
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
|
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-9
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
|
* Fri Jun 13 2014 Yaakov Selkowitz <yselkowi@redhat.com> - 23-8
|
|
- Fix FTBFS with tcl-8.6 (#1106295)
|
|
|
|
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-7
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
|
|
* Sat Dec 21 2013 Ralf Corsépius <corsepiu@fedoraproject.org> - 23-6
|
|
- Introduce %%_pkgdocdir (RHBZ #994004).
|
|
- Fix bogus changelog date.
|
|
|
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-5
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
|
|
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-4
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
|
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-3
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 23-2
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
|
* Tue Nov 29 2011 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 23-1
|
|
- New upstream sources with various bug fixes
|
|
- Upstream added #include <ftedev.h> to src/include/tclspice.h
|
|
|
|
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 22-6.cvs20101113
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
|
* Sat Nov 13 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 21-5.cvs20101113
|
|
- new upstream sources with various bug fixes
|
|
|
|
* Sat Aug 21 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 21-4.cvs20100821
|
|
- enabling adms support
|
|
|
|
* Sun Aug 01 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 21-3.cvs20100719
|
|
- new fixes from development trunk
|
|
|
|
* Sun Jul 11 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 21-2.cvs20100620
|
|
- added bison and byacc as BR
|
|
|
|
* Thu Jul 01 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 21-1.cvs20100620
|
|
- release -21 with BSIMSOI support for < 130nm designs
|
|
|
|
* Sat Jun 19 2010 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 20-4.cvs20100619
|
|
- prerelease -21 with BSIMSOI support for < 130nm designs
|
|
|
|
* Tue Dec 8 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 20-3
|
|
- Fixed build on CentOS-5
|
|
|
|
* Tue Dec 8 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 20-2
|
|
- Improved interoperobability with xcircuit
|
|
|
|
* Mon Nov 16 2009 Chitlesh Goorah <chitlesh [AT] fedoraproject DOT org> 20-1
|
|
- new upstream release
|
|
|
|
* 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
|
|
|
|
* Mon Aug 06 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
|