forked from pool/gnucap
This commit is contained in:
commit
3465144f70
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
1
_link.disabled
Normal file
1
_link.disabled
Normal file
@ -0,0 +1 @@
|
||||
<link project='science' package='gnucap'/>
|
250
gnucap-0.34-debian.patch
Normal file
250
gnucap-0.34-debian.patch
Normal file
@ -0,0 +1,250 @@
|
||||
--- gnucap-0.35/doc/whatisit.debian 2000-08-16 10:15:00.000000000 +0200
|
||||
+++ gnucap-0.35/doc/whatisit 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -1,4 +1,4 @@
|
||||
-ACS is a general purpose circuit simulator. It performs nonlinear
|
||||
+Gnucap is a general purpose circuit simulator. It performs nonlinear
|
||||
dc and transient analyses, fourier analysis, and ac analysis
|
||||
linearized at an operating point. It is fully interactive and
|
||||
command driven. It can also be run in batch mode or as a server.
|
||||
@@ -6,7 +6,7 @@
|
||||
for the MOSFET (level 1-7) and diode are included in this
|
||||
release.
|
||||
|
||||
-ACS is not based on Berkeley Spice, but some of the models have been
|
||||
+Gnucap is not based on Berkeley Spice, but some of the models have been
|
||||
derived from the Berleley models.
|
||||
|
||||
Since it is fully interactive, it is possible to make changes and
|
||||
@@ -19,7 +19,7 @@
|
||||
bipolar design.
|
||||
|
||||
In batch mode it is mostly Spice compatible, so it is often possible
|
||||
-to use the same file for both ACS and Spice.
|
||||
+to use the same file for both Gnucap and Spice.
|
||||
|
||||
The analog simulation is based on traditional nodal analysis with
|
||||
iteration by Newton's method and LU decomposition. An event queue
|
||||
@@ -36,11 +36,11 @@
|
||||
experimental and needs work. There will be substantial improvements
|
||||
in future releases.
|
||||
|
||||
-ACS also has a simple behavioral modeling language that allows
|
||||
+Gnucap also has a simple behavioral modeling language that allows
|
||||
simple behavioral descriptions of most components including capacitors
|
||||
and inductors.
|
||||
|
||||
-ACS uses an object oriented approach to modeling. Complex models like
|
||||
+Gnucap uses an object oriented approach to modeling. Complex models like
|
||||
MOSFETS are made of simpler ones like resistors, capacitors, diodes,
|
||||
and any other models that may already exist. The model designer does
|
||||
not need to worry about details like convergence checking, bypass
|
||||
@@ -54,17 +54,13 @@
|
||||
If you are tired of Spice and want a second opinion, you want to
|
||||
play with the circuit and want a simulator that is interactive, or
|
||||
you want to study the source code and want something easier to
|
||||
-follow than Spice, try ACS.
|
||||
+follow than Spice, try Gnucap.
|
||||
|
||||
-ACS is an ongoing research project. It is being released in a
|
||||
+Gnucap is an ongoing research project. It is being released in a
|
||||
preliminary phase in hopes that it will be useful and that others
|
||||
will use it as a thrust or base for their research. I also hope
|
||||
for some comments that may help me direct my research.
|
||||
|
||||
-ACS ftp sites:
|
||||
- ftp://sunsite.unc.edu/pub/Linux/apps/circuits/acs-0.27.tar.gz
|
||||
- ftp://ftp.geda.seul.org/pub/geda/dist/acs-0.27.tar.gz
|
||||
- http://www.geda.seul.org/dist/acs-0.27.tar.gz
|
||||
|
||||
Albert Davis
|
||||
aldavis@ieee.org
|
||||
--- gnucap-0.35/src/bm.cc.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/bm.cc 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -141,7 +141,8 @@
|
||||
/*--------------------------------------------------------------------------*/
|
||||
void EVAL_BM_ACTION_BASE::tr_finish_tdv(ELEMENT* d, double val)const
|
||||
{
|
||||
- d->_y0 = FPOLY1(CPOLY1(ioffset(d->_y0.x), 0., val));
|
||||
+ CPOLY1 cp1(ioffset(d->_y0.x), 0., val);
|
||||
+ d->_y0 = FPOLY1(cp1);
|
||||
tr_final_adjust(&(d->_y0), false);
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
--- gnucap-0.35/src/e_card.h.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/e_card.h 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -35,6 +35,7 @@
|
||||
class CARD_LIST;
|
||||
class CS;
|
||||
class COMMON_COMPONENT;
|
||||
+CARD_LIST::fat_iterator findbranch(CS&,CARD_LIST::fat_iterator);
|
||||
/*--------------------------------------------------------------------------*/
|
||||
class CARD : public CKT_BASE {
|
||||
private:
|
||||
--- gnucap-0.35/src/d_vcvs.cc.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/d_vcvs.cc 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -61,7 +61,8 @@
|
||||
assert(_y0.f0 != LINEAR);
|
||||
store_values();
|
||||
q_load();
|
||||
- _m0 = CPOLY1(_y0);
|
||||
+ CPOLY1 cp1(_y0);
|
||||
+ _m0 =cp1;
|
||||
_m0 *= -_loss0;
|
||||
}else{
|
||||
assert(conchk(_loss0, 1./OPT::shortckt));
|
||||
--- gnucap-0.35/src/u_sdp.h.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/u_sdp.h 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -32,6 +32,9 @@
|
||||
/*--------------------------------------------------------------------------*/
|
||||
class OMSTREAM;
|
||||
class CARD_LIST;
|
||||
+class SDP;
|
||||
+bool get(CS& cmd, const std::string& key, SDP* value,
|
||||
+ AP_MOD mod, double scale);
|
||||
/*--------------------------------------------------------------------------*/
|
||||
class SDP {
|
||||
friend bool get(CS& cmd, const std::string& key, SDP* value);
|
||||
--- gnucap-0.35/src/e_storag.cc.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/e_storag.cc 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -78,7 +78,8 @@
|
||||
_dt = NOT_VALID;
|
||||
_i0 = _q[0] = _q[1] = _q[2] = FPOLY1(0., 0., 0.);
|
||||
_it1_f0 = 0.;
|
||||
- _m1 = _m0 = CPOLY1(0., 0., 0.);
|
||||
+ CPOLY1 cp1(0., 0., 0.);
|
||||
+ _m1 = _m0 = cp1;
|
||||
assert(_loss0 == 0.);
|
||||
assert(_loss1 == 0.);
|
||||
if (!using_tr_eval()) {
|
||||
--- gnucap-0.35/src/d_admit.cc.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/d_admit.cc 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -57,7 +57,8 @@
|
||||
assert(_y0.f0 != LINEAR);
|
||||
store_values();
|
||||
q_load();
|
||||
- _m0 = CPOLY1(_y0);
|
||||
+ CPOLY1 cp1(_y0);
|
||||
+ _m0 = cp1;
|
||||
}else{
|
||||
assert(_y0.f0 == LINEAR);
|
||||
assert(_y0.f1 == value());
|
||||
@@ -172,7 +173,8 @@
|
||||
bool DEV_CPOLY_G::do_tr()
|
||||
{
|
||||
assert(_values);
|
||||
- _m0 = CPOLY1(0., _values[0], _values[1]);
|
||||
+ CPOLY1 cp1(0., _values[0], _values[1]);
|
||||
+ _m0 = cp1;
|
||||
return do_tr_con_chk_and_q();
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
@@ -195,7 +197,8 @@
|
||||
}
|
||||
}
|
||||
trace2("", _values[0], c0);
|
||||
- _m0 = CPOLY1(0., c0, _values[1]);
|
||||
+ CPOLY1 cp1(0., c0, _values[1]);
|
||||
+ _m0 = cp1;
|
||||
|
||||
return do_tr_con_chk_and_q();
|
||||
}
|
||||
--- gnucap-0.35/src/e_compon.h.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/e_compon.h 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -43,6 +43,9 @@
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
enum {CC_STATIC=27342}; // mid-sized arbitrary positive int
|
||||
+class COMMON_COMPONENT;
|
||||
+void attach_common(COMMON_COMPONENT* c, COMMON_COMPONENT** to);
|
||||
+void detach_common(COMMON_COMPONENT** from);
|
||||
// pass this as an argument to a common constructor to mark it as static,
|
||||
// so it won't be deleted
|
||||
/*--------------------------------------------------------------------------*/
|
||||
--- gnucap-0.35/src/d_cap.cc.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/d_cap.cc 2007-02-14 13:05:47.000000000 +0100
|
||||
@@ -47,7 +47,8 @@
|
||||
_i0.x = _y0.x;
|
||||
_i0.f0 = differentiate();
|
||||
_i0.f1 = tr_c_to_g(_q[0].f1, _i0.f1);
|
||||
- _m0 = CPOLY1(_i0);
|
||||
+ CPOLY1 cp1(_i0);
|
||||
+ _m0 = cp1;
|
||||
return converged();
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
@@ -191,7 +192,8 @@
|
||||
assert(_vi0[i] == _vi0[i]);
|
||||
}
|
||||
|
||||
- _m0 = CPOLY1(0., _vi0[0], _vi0[1]);
|
||||
+ CPOLY1 cp1(0., _vi0[0], _vi0[1]);
|
||||
+ _m0 = cp1;
|
||||
return do_tr_con_chk_and_q();
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
--- gnucap-0.35/src/l_timer.h.debian 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35/src/l_timer.h 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -26,6 +26,8 @@
|
||||
#define U_TIMER_H
|
||||
#include "io_.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
+class TIMER;
|
||||
+TIMER operator-(const TIMER&,const TIMER&);
|
||||
class TIMER {
|
||||
private:
|
||||
enum {_T_NAME_LEN = 8};
|
||||
--- gnucap-0.35/modelgen/mg_.h.debian 2006-08-28 07:45:36.000000000 +0200
|
||||
+++ gnucap-0.35/modelgen/mg_.h 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -120,7 +120,7 @@
|
||||
}
|
||||
T* p = new T(file);
|
||||
{if (!file.stuck(&here)) {
|
||||
- _list.push_back(p);
|
||||
+ this->_list.push_back(p);
|
||||
}else {
|
||||
delete p;
|
||||
file.warn(0, "not valid here");
|
||||
@@ -141,7 +141,7 @@
|
||||
int here = file.cursor();
|
||||
T* m = new T(file);
|
||||
{if (!file.stuck(&here)) {
|
||||
- _list.push_back(m);
|
||||
+ this->_list.push_back(m);
|
||||
}else{
|
||||
delete m;
|
||||
file.warn(0, "what's this??");
|
||||
--- gnucap-0.35/examples/runall.debian 2000-09-05 06:22:00.000000000 +0200
|
||||
+++ gnucap-0.35/examples/runall 2007-02-14 13:04:05.000000000 +0100
|
||||
@@ -1,16 +1,16 @@
|
||||
-#
|
||||
-$1 -b eq2-145.ckt
|
||||
-$1 -b eq2-289.ckt
|
||||
-$1 -b eq2-577.ckt
|
||||
-$1 -b eq3-1153.ckt
|
||||
-$1 -b eq4-2305.ckt
|
||||
-$1 -b eqboost.ckt
|
||||
-$1 -b eqflat.ckt
|
||||
-$1 -b eqmodify.ckt
|
||||
-$1 -b killzap.ckt
|
||||
-$1 -b nmos100.ckt
|
||||
-$1 -b nmos18.ckt
|
||||
-$1 -b nmos30.ckt
|
||||
-$1 -b nmp100.ckt
|
||||
-$1 -b opamp-ol.ckt
|
||||
-$1 -b opamp-vf.ckt
|
||||
+#!/bin/sh
|
||||
+gnucap -b eq2-145.ckt
|
||||
+gnucap -b eq2-289.ckt
|
||||
+gnucap -b eq2-577.ckt
|
||||
+gnucap -b eq3-1153.ckt
|
||||
+gnucap -b eq4-2305.ckt
|
||||
+gnucap -b eqboost.ckt
|
||||
+gnucap -b eqflat.ckt
|
||||
+gnucap -b eqmodify.ckt
|
||||
+gnucap -b killzap.ckt
|
||||
+gnucap -b nmos100.ckt
|
||||
+gnucap -b nmos18.ckt
|
||||
+gnucap -b nmos30.ckt
|
||||
+gnucap -b nmp100.ckt
|
||||
+gnucap -b opamp-ol.ckt
|
||||
+gnucap -b opamp-vf.ckt
|
100
gnucap-0.35-gcc43.patch
Normal file
100
gnucap-0.35-gcc43.patch
Normal file
@ -0,0 +1,100 @@
|
||||
--- gnucap-0.35/modelgen/ap.h 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/modelgen/ap.h 2008-01-08 22:28:50.000000000 +0100
|
||||
@@ -24,6 +24,7 @@
|
||||
//testing=script,sparse 2006.07.17
|
||||
#ifndef AP_H
|
||||
#define AP_H
|
||||
+#include <string.h>
|
||||
#include "md.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
enum AP_MOD{
|
||||
--- gnucap-0.35/src/ap.h 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/ap.h 2008-01-08 22:29:01.000000000 +0100
|
||||
@@ -24,6 +24,7 @@
|
||||
//testing=script,sparse 2006.07.17
|
||||
#ifndef AP_H
|
||||
#define AP_H
|
||||
+#include <string.h>
|
||||
#include "md.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
enum AP_MOD{
|
||||
--- gnucap-0.35/src/e_base.h 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/e_base.h 2008-01-08 22:29:59.000000000 +0100
|
||||
@@ -24,6 +24,7 @@
|
||||
//testing=script,complete 2006.07.12
|
||||
#ifndef E_BASE_H
|
||||
#define E_BASE_H
|
||||
+#include <strings.h>
|
||||
#include "l_compar.h"
|
||||
#include "u_opt.h"
|
||||
#include "u_status.h"
|
||||
--- gnucap-0.35/src/io_findf.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/io_findf.cc 2008-01-08 22:33:15.000000000 +0100
|
||||
@@ -32,6 +32,7 @@
|
||||
* PATHSEP, ENDDIR are system dependent, defined in md.h
|
||||
*/
|
||||
//testing=script,sparse 2006.07.17
|
||||
+#include <string.h>
|
||||
#include "l_lib.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
std::string findfile(const std::string& filename, const std::string& path,
|
||||
--- gnucap-0.35/src/io_getln.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/io_getln.cc 2008-01-08 22:32:51.000000000 +0100
|
||||
@@ -27,6 +27,7 @@
|
||||
* start with + is extension line, spice compatibility.
|
||||
*/
|
||||
//testing=script 2006.07.17
|
||||
+#include <string.h>
|
||||
#include "l_lib.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
std::string getlines(FILE *fileptr)
|
||||
--- gnucap-0.35/src/io_out.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/io_out.cc 2008-01-08 22:33:34.000000000 +0100
|
||||
@@ -31,6 +31,7 @@
|
||||
* but I have yet to find a system that did not meet this form.
|
||||
*/
|
||||
//testing=script,sparse 2006.07.17
|
||||
+#include <string.h>
|
||||
#include "u_opt.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
const char* octal(int x);
|
||||
--- gnucap-0.35/src/l_ftos.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/l_ftos.cc 2008-01-08 22:33:53.000000000 +0100
|
||||
@@ -37,6 +37,7 @@
|
||||
* after that, the space is overwritten, every POOLSIZE calls
|
||||
*/
|
||||
//testing=script 2005.10.11
|
||||
+#include <string.h>
|
||||
#include "l_lib.h"
|
||||
#include "constant.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
--- gnucap-0.35/src/l_timer.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/l_timer.cc 2008-01-08 22:34:16.000000000 +0100
|
||||
@@ -22,6 +22,7 @@
|
||||
* Time a command, or whatever
|
||||
*/
|
||||
//testing=script,sparse 2006.07.13
|
||||
+#include <string.h>
|
||||
#include "l_timer.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
// TIMER::TIMER();
|
||||
--- gnucap-0.35/src/main.cc 2006-09-20 19:18:52.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/main.cc 2008-01-08 22:31:35.000000000 +0100
|
||||
@@ -23,6 +23,7 @@
|
||||
* it all starts here
|
||||
*/
|
||||
//testing=script 2006.07.14
|
||||
+#include <strings.h>
|
||||
#include "patchlev.h"
|
||||
#include "c_comand.h"
|
||||
#include "declare.h" /* lots */
|
||||
--- gnucap-0.35/src/plot.cc 2006-08-28 08:15:43.000000000 +0200
|
||||
+++ gnucap-0.35.new/src/plot.cc 2008-01-08 22:34:56.000000000 +0100
|
||||
@@ -2,6 +2,7 @@
|
||||
* (this file is a mess. it should be redone.)
|
||||
*/
|
||||
//testing=script 2006.07.17
|
||||
+#include <string.h>
|
||||
#include "declare.h" /* self */
|
||||
#include "s__.h"
|
||||
#include "u_prblst.h"
|
24
gnucap-0.35-includes.patch
Normal file
24
gnucap-0.35-includes.patch
Normal file
@ -0,0 +1,24 @@
|
||||
Index: gnucap-0.35/src/ap.h
|
||||
===================================================================
|
||||
--- gnucap-0.35.orig/src/ap.h
|
||||
+++ gnucap-0.35/src/ap.h
|
||||
@@ -24,6 +24,7 @@
|
||||
//testing=script,sparse 2006.07.17
|
||||
#ifndef AP_H
|
||||
#define AP_H
|
||||
+#include <cstring>
|
||||
#include "md.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
enum AP_MOD{
|
||||
Index: gnucap-0.35/src/ap_construct.cc
|
||||
===================================================================
|
||||
--- gnucap-0.35.orig/src/ap_construct.cc
|
||||
+++ gnucap-0.35/src/ap_construct.cc
|
||||
@@ -22,6 +22,7 @@
|
||||
* construction, copy, etc.
|
||||
*/
|
||||
//testing=script,sparse 2006.07.17
|
||||
+#include <cstring>
|
||||
#include "ap.h"
|
||||
/*--------------------------------------------------------------------------*/
|
||||
CS::CS(CS_FILE, const std::string& name, int i)
|
3
gnucap-0.35.tar.bz2
Normal file
3
gnucap-0.35.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8cf16bbc229115349ebf6d86fc43b7fd48c2b2c7f7971dbe12c5c98b2a583edc
|
||||
size 876263
|
12
gnucap.changes
Normal file
12
gnucap.changes
Normal file
@ -0,0 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 25 12:54:09 CEST 2008 - lars@linux-schulserver.de
|
||||
|
||||
- moved to Education base repository
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue May 27 23:37:29 CEST 2008 - lars@linux-schulserver.de
|
||||
|
||||
- initial version for openSUSE-Education
|
||||
- fix build with GCC4.3
|
||||
- use debian patch
|
||||
|
72
gnucap.spec
Normal file
72
gnucap.spec
Normal file
@ -0,0 +1,72 @@
|
||||
#
|
||||
# spec file for package gnucap
|
||||
#
|
||||
# This file and all modifications and additions to the pristine
|
||||
# package are under the same license as the package itself.
|
||||
#
|
||||
|
||||
|
||||
Name: gnucap
|
||||
Summary: Gnucap is the Gnu Circuit Analysis Package
|
||||
Version: 0.35
|
||||
Release: 10
|
||||
License: GPL
|
||||
Group: Productivity/Scientific/Electronics
|
||||
Url: http://www.geda.seul.org/tools/gnucap
|
||||
Vendor: openSUSE-Education
|
||||
Source: http://www.gnucap.org/dist/%name-%version.tar.bz2
|
||||
Patch1: gnucap-0.35-gcc43.patch
|
||||
Patch2: gnucap-0.34-debian.patch
|
||||
BuildRequires: gcc-c++ libpng-devel readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
%if 0%{?suse_version} > 1020
|
||||
BuildRequires: texlive-devel texlive-latex
|
||||
%else
|
||||
BuildRequires: te_latex tetex
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
The primary component is a general purpose circuit simulator. It
|
||||
performs nonlinear dc and transient analyses, fourier analysis, and ac
|
||||
analysis. Spice compatible models for the MOSFET (level 1-7), BJT, and
|
||||
diode are included in this release.
|
||||
|
||||
Gnucap is not based on Spice, but some of the models have been derived
|
||||
from the Berkeley models.
|
||||
|
||||
Unlike Spice, the engine is designed to do true mixed-mode
|
||||
simulation. Most of the code is in place for future support of event
|
||||
driven analog simulation, and true multi-rate simulation.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
# use ncurses instead of termcap
|
||||
sed -i 's/-ltermcap/-lncurses/g' configure
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
%{__make} %{?jobs:-j%jobs}
|
||||
|
||||
%install
|
||||
%makeinstall
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{_prefix}/bin/*
|
||||
%{_mandir}/*
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_datadir}/%{name}/doc
|
||||
%dir %{_datadir}/%{name}/examples
|
||||
%dir %{_datadir}/%{name}/manual
|
||||
%doc %{_datadir}/%{name}/doc/*
|
||||
%doc %{_datadir}/%{name}/examples/*
|
||||
%doc %{_datadir}/%{name}/manual/*
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user