summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-10-04 19:58:24 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-10-04 19:58:24 +0000
commit7b2f563c7e93048c5a4ef5cd60a50f6e5c23ad77 (patch)
tree8ac60546505dac2830c1b29c5854c294d6425f7e /app-sci/gnucap
parentVersion bump. (diff)
downloadhistorical-7b2f563c7e93048c5a4ef5cd60a50f6e5c23ad77.tar.gz
historical-7b2f563c7e93048c5a4ef5cd60a50f6e5c23ad77.tar.bz2
historical-7b2f563c7e93048c5a4ef5cd60a50f6e5c23ad77.zip
Patching for GCC 3.4 compilation issues; bug #66325.
Diffstat (limited to 'app-sci/gnucap')
-rw-r--r--app-sci/gnucap/ChangeLog6
-rw-r--r--app-sci/gnucap/Manifest7
-rw-r--r--app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch221
-rw-r--r--app-sci/gnucap/gnucap-0.34.ebuild12
4 files changed, 240 insertions, 6 deletions
diff --git a/app-sci/gnucap/ChangeLog b/app-sci/gnucap/ChangeLog
index 4e8b7b7075c1..e102119ab6cf 100644
--- a/app-sci/gnucap/ChangeLog
+++ b/app-sci/gnucap/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for app-sci/gnucap
# Copyright 2000-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-sci/gnucap/ChangeLog,v 1.5 2004/06/24 22:01:38 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-sci/gnucap/ChangeLog,v 1.6 2004/10/04 19:58:24 plasmaroo Exp $
+
+ 04 Oct 2004; <plasmaroo@gentoo.org> gnucap-0.34.ebuild,
+ +files/gnucap-0.34-gcc-3.4.patch:
+ Patching for GCC 3.4 compilation issues; bug #66325.
*gnucap-0.34 (24 Jun 2004)
diff --git a/app-sci/gnucap/Manifest b/app-sci/gnucap/Manifest
index c5b672874a75..9636476f532d 100644
--- a/app-sci/gnucap/Manifest
+++ b/app-sci/gnucap/Manifest
@@ -1,6 +1,7 @@
-MD5 dd1991dab5d8cc233121d1bbdab1172f gnucap-0.34.ebuild 738
-MD5 aa3ffa499fc5add278105f7c41b60eb1 gnucap-0.33.ebuild 648
-MD5 f0bd9a5663d9a573dc58c44939a01c8b ChangeLog 596
+MD5 a6d6d88828d3c5cc5d33239087e1f66d ChangeLog 747
MD5 e49bb02132d2cd74ad4e6ee291e102d9 metadata.xml 220
+MD5 aa3ffa499fc5add278105f7c41b60eb1 gnucap-0.33.ebuild 648
+MD5 c971a69873c391e31c7a27f296365a16 gnucap-0.34.ebuild 834
MD5 8390331e4f890c3334283c5dbe45b93e files/digest-gnucap-0.33 64
MD5 422d28bb9715c39495a5df8a4b5f8410 files/digest-gnucap-0.34 64
+MD5 cfff235a3e29ee1da31b2cf30d18d014 files/gnucap-0.34-gcc-3.4.patch 9178
diff --git a/app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch b/app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch
new file mode 100644
index 000000000000..b2a6bc3254f0
--- /dev/null
+++ b/app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch
@@ -0,0 +1,221 @@
+# Patch adapted from Debian bug #270282 -- plasmaroo.
+
+diff -ur gnucap-0.34/ibis/base.h gnucap-0.34-debian270282/ibis/base.h
+--- gnucap-0.34-debian270282/ibis/base.h 2004-10-04 20:40:33.497472160 +0100
++++ gnucap-0.34/ibis/base.h 2004-10-04 20:40:45.319674912 +0100
+@@ -40,7 +40,7 @@
+ class Base
+ {
+ private:
+- explicit Base(const Base&) {unreachable();}
++// explicit Base(const Base&) {unreachable();}
+ // This private base copy constructor inhibits generation of
+ // copy constructors for its derived classes.
+ protected:
+diff -ur gnucap-0.34/ibis/comp-in.cc gnucap-0.34-debian270282/ibis/comp-in.cc
+--- gnucap-0.34-debian270282/ibis/comp-in.cc 2004-10-04 20:40:33.502471400 +0100
++++ gnucap-0.34/ibis/comp-in.cc 2004-10-04 20:40:45.332672936 +0100
+@@ -24,8 +24,8 @@
+ /*--------------------------------------------------------------------------*/
+ void Component::Pin_Die::parse(CS& file)
+ {
+- set(file, "Pin", &_pd, pdPIN)
+- || set(file, "Die", &_pd, pdDIE)
++ set(file, "Pin", (int*)&_pd, (int)pdPIN)
++ || set(file, "Die", (int*)&_pd, (int)pdDIE)
+ || file.warn(0, "need Pin or Die");
+ }
+ /*--------------------------------------------------------------------------*/
+diff -ur gnucap-0.34/ibis/file-in.cc gnucap-0.34-debian270282/ibis/file-in.cc
+--- gnucap-0.34-debian270282/ibis/file-in.cc 2004-10-04 20:40:33.497472160 +0100
++++ gnucap-0.34/ibis/file-in.cc 2004-10-04 20:41:41.837082960 +0100
+@@ -25,9 +25,9 @@
+ /*--------------------------------------------------------------------------*/
+ void Redistribution::parse(CS& file)
+ {
+- set(file, "Yes", &_r, dYES)
+- || set(file, "No", &_r, dNO)
+- || set(file, "Specific",&_r, dSPECIFIC)
++ set(file, "Yes", (int*) &_r, (int)dYES)
++ || set(file, "No", (int*) &_r, (int)dNO)
++ || set(file, "Specific",(int*) &_r, (int)dSPECIFIC)
+ || file.warn(0, "need Yes, No, or Specific");
+ }
+ /*--------------------------------------------------------------------------*/
+Only in gnucap-0.34/ibis: file-in.cc.orig
+Only in gnucap-0.34/ibis: file-in.cc.rej
+diff -ur gnucap-0.34/ibis/model-in.cc gnucap-0.34-debian270282/ibis/model-in.cc
+--- gnucap-0.34-debian270282/ibis/model-in.cc 2004-10-04 20:40:33.495472464 +0100
++++ gnucap-0.34/ibis/model-in.cc 2004-10-04 20:44:11.303360632 +0100
+@@ -145,23 +145,23 @@
+ /*--------------------------------------------------------------------------*/
+ void Model_Base::Type::parse(CS& file)
+ {
+- set(file, "Terminator", &_type, mtTERMINATOR)
+- || set(file, "Input_ECL", &_type, mtINPUT_ECL)
+- || set(file, "Input", &_type, mtINPUT)
+- || set(file, "I/O_open_sink", &_type, mtIO_OPEN_SINK)
+- || set(file, "I/O_open_drain", &_type, mtIO_OPEN_DRAIN)
+- || set(file, "I/O_open_source",&_type, mtIO_OPEN_SOURCE)
+- || set(file, "I/O_ECL", &_type, mtIO_ECL)
+- || set(file, "I/O", &_type, mtIO)
+- || set(file, "3-state_ECL", &_type, mt3STATE_ECL)
+- || set(file, "3-state", &_type, mt3STATE)
+- || set(file, "Output_ECL", &_type, mtOUTPUT_ECL)
+- || set(file, "Output", &_type, mtOUTPUT)
+- || set(file, "Open_sink", &_type, mtOPEN_SINK)
+- || set(file, "Open_drain", &_type, mtOPEN_DRAIN)
+- || set(file, "Open_source", &_type, mtOPEN_SOURCE)
+- || set(file, "Series_switch", &_type, mtSERIES_SWITCH)
+- || set(file, "Series", &_type, mtSERIES)
++ set(file, "Terminator", (int*) &_type, (int) mtTERMINATOR)
++ || set(file, "Input_ECL", (int*) &_type, (int) mtINPUT_ECL)
++ || set(file, "Input", (int*) &_type, (int) mtINPUT)
++ || set(file, "I/O_open_sink", (int*) &_type, (int) mtIO_OPEN_SINK)
++ || set(file, "I/O_open_drain", (int*) &_type, (int) mtIO_OPEN_DRAIN)
++ || set(file, "I/O_open_source",(int*) &_type, (int) mtIO_OPEN_SOURCE)
++ || set(file, "I/O_ECL", (int*) &_type, (int) mtIO_ECL)
++ || set(file, "I/O", (int*) &_type, (int) mtIO)
++ || set(file, "3-state_ECL", (int*) &_type, (int) mt3STATE_ECL)
++ || set(file, "3-state", (int*) &_type, (int) mt3STATE)
++ || set(file, "Output_ECL", (int*) &_type, (int) mtOUTPUT_ECL)
++ || set(file, "Output", (int*) &_type, (int) mtOUTPUT)
++ || set(file, "Open_sink", (int*) &_type, (int) mtOPEN_SINK)
++ || set(file, "Open_drain", (int*) &_type, (int) mtOPEN_DRAIN)
++ || set(file, "Open_source", (int*) &_type, (int) mtOPEN_SOURCE)
++ || set(file, "Series_switch", (int*) &_type, (int) mtSERIES_SWITCH)
++ || set(file, "Series", (int*) &_type, (int) mtSERIES)
+ || file.warn(0, "illegal model type");
+ }
+ /*--------------------------------------------------------------------------*/
+@@ -235,8 +235,8 @@
+ /*--------------------------------------------------------------------------*/
+ void IO_Base::Polarity::parse(CS& file)
+ {
+- set(file, "Non-Inverting", &_p, pNON_INVERTING)
+- || set(file, "Inverting", &_p, pINVERTING)
++ set(file, "Non-Inverting", (int*) &_p, (int) pNON_INVERTING)
++ || set(file, "Inverting", (int*) &_p, (int) pINVERTING)
+ || file.warn(0, "need Inverting or Non-Inverting");
+ }
+ /*--------------------------------------------------------------------------*/
+Only in gnucap-0.34/ibis: model-in.cc.orig
+Only in gnucap-0.34/ibis: model-in.cc.rej
+diff -ur gnucap-0.34/modelgen/mg_.h gnucap-0.34-debian270282/modelgen/mg_.h
+--- gnucap-0.34-debian270282/modelgen/mg_.h 2004-10-04 20:40:33.441480672 +0100
++++ gnucap-0.34/modelgen/mg_.h 2004-10-04 20:44:38.197272136 +0100
+@@ -118,7 +118,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");
+@@ -137,7 +137,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??");
+Only in gnucap-0.34/modelgen: mg_.h.orig
+Only in gnucap-0.34/modelgen: mg_.h.rej
+diff -ur gnucap-0.34/src/bm.cc gnucap-0.34-debian270282/src/bm.cc
+--- gnucap-0.34-debian270282/src/bm.cc 2004-10-04 20:40:33.412485080 +0100
++++ gnucap-0.34/src/bm.cc 2004-10-04 20:40:45.340671720 +0100
+@@ -207,7 +207,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);
+ }
+ /*--------------------------------------------------------------------------*/
+diff -ur gnucap-0.34/src/d_admit.cc gnucap-0.34-debian270282/src/d_admit.cc
+--- gnucap-0.34-debian270282/src/d_admit.cc 2004-10-04 20:40:33.412485080 +0100
++++ gnucap-0.34/src/d_admit.cc 2004-10-04 20:40:45.342671416 +0100
+@@ -56,7 +56,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());
+@@ -171,7 +172,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();
+ }
+ /*--------------------------------------------------------------------------*/
+@@ -193,7 +195,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();
+ }
+diff -ur gnucap-0.34/src/d_cap.cc gnucap-0.34-debian270282/src/d_cap.cc
+--- gnucap-0.34-debian270282/src/d_cap.cc 2004-10-04 20:40:33.397487360 +0100
++++ gnucap-0.34/src/d_cap.cc 2004-10-04 20:40:45.342671416 +0100
+@@ -49,7 +49,8 @@
+ _i0.f0 = differentiate();
+ _i0.f1 = tr_c_to_g(_q[0].f1, _i0.f1);
+
+- _m0 = CPOLY1(_i0);
++ CPOLY1 cp1(_i0);
++ _m0 = cp1;
+ return converged();
+ }
+ /*--------------------------------------------------------------------------*/
+@@ -172,7 +173,8 @@
+ }}
+ }}
+
+- _m0 = CPOLY1(0., _vi0[0], _vi0[1]);
++ CPOLY1 cp1(0., _vi0[0], _vi0[1]);
++ _m0 = cp1;
+ return do_tr_con_chk_and_q();
+ }
+ /*--------------------------------------------------------------------------*/
+diff -ur gnucap-0.34/src/d_vcvs.cc gnucap-0.34-debian270282/src/d_vcvs.cc
+--- gnucap-0.34-debian270282/src/d_vcvs.cc 2004-10-04 20:40:33.392488120 +0100
++++ gnucap-0.34/src/d_vcvs.cc 2004-10-04 20:40:45.342671416 +0100
+@@ -58,7 +58,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));
+diff -ur gnucap-0.34/src/e_storag.cc gnucap-0.34-debian270282/src/e_storag.cc
+--- gnucap-0.34-debian270282/src/e_storag.cc 2004-10-04 20:40:33.401486752 +0100
++++ gnucap-0.34/src/e_storag.cc 2004-10-04 20:40:45.343671264 +0100
+@@ -78,7 +78,8 @@
+ _dt = NOT_VALID;
+ _i0 = _q[0] = _q[1] = _q[2] = _q[3] = 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()){
diff --git a/app-sci/gnucap/gnucap-0.34.ebuild b/app-sci/gnucap/gnucap-0.34.ebuild
index e74756464dcc..48ccb8feae8a 100644
--- a/app-sci/gnucap/gnucap-0.34.ebuild
+++ b/app-sci/gnucap/gnucap-0.34.ebuild
@@ -1,6 +1,8 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-sci/gnucap/gnucap-0.34.ebuild,v 1.2 2004/06/24 22:01:39 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-sci/gnucap/gnucap-0.34.ebuild,v 1.3 2004/10/04 19:58:24 plasmaroo Exp $
+
+inherit eutils
DESCRIPTION="GNUCap is the GNU Circuit Analysis Package"
SRC_URI="http://geda.seul.org/dist/gnucap-${PV}.tar.gz"
@@ -13,9 +15,15 @@ KEYWORDS="~x86"
DEPEND=">=sys-libs/glibc-2.1.3"
+src_unpack() {
+ unpack ${A}
+
+ cd ${S}
+ epatch ${FILESDIR}/${P}-gcc-3.4.patch
+}
+
src_compile() {
econf || die
-
emake || die
}