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
commitf9768467b7fd16932099946d56328584435b2357 (patch)
treef36b3f713ad263806e90e1569e6a4c5b60585e0c /app-sci
parentVersion bump. (Manifest recommit) (diff)
downloadgentoo-2-f9768467b7fd16932099946d56328584435b2357.tar.gz
gentoo-2-f9768467b7fd16932099946d56328584435b2357.tar.bz2
gentoo-2-f9768467b7fd16932099946d56328584435b2357.zip
Patching for GCC 3.4 compilation issues; bug #66325.
Diffstat (limited to 'app-sci')
-rw-r--r--app-sci/gnucap/ChangeLog6
-rw-r--r--app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch221
-rw-r--r--app-sci/gnucap/gnucap-0.34.ebuild12
3 files changed, 236 insertions, 3 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/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
}