diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-10-04 19:58:24 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-10-04 19:58:24 +0000 |
commit | f9768467b7fd16932099946d56328584435b2357 (patch) | |
tree | f36b3f713ad263806e90e1569e6a4c5b60585e0c /app-sci | |
parent | Version bump. (Manifest recommit) (diff) | |
download | gentoo-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/ChangeLog | 6 | ||||
-rw-r--r-- | app-sci/gnucap/files/gnucap-0.34-gcc-3.4.patch | 221 | ||||
-rw-r--r-- | app-sci/gnucap/gnucap-0.34.ebuild | 12 |
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 } |