svn commit: r319976 - in head/math/goblin: . files
Pietro Cerutti
gahr at FreeBSD.org
Wed Jun 5 10:43:45 UTC 2013
Author: gahr
Date: Wed Jun 5 10:43:43 2013
New Revision: 319976
URL: http://svnweb.freebsd.org/changeset/ports/319976
Log:
- Fix build with Tcl/Tk 8.6
- Also, make clang happier, even if GCC is still required
Reported by: miwi (Tcl/Tk 8.6 exp-run late comers)
Added:
head/math/goblin/files/patch-Makefile.conf (contents, props changed)
head/math/goblin/files/patch-destructors (contents, props changed)
head/math/goblin/files/patch-managedObject (contents, props changed)
head/math/goblin/files/patch-tcl86 (contents, props changed)
Modified:
head/math/goblin/Makefile (contents, props changed)
head/math/goblin/files/patch-Makefile (contents, props changed)
Modified: head/math/goblin/Makefile
==============================================================================
--- head/math/goblin/Makefile Wed Jun 5 10:38:43 2013 (r319975)
+++ head/math/goblin/Makefile Wed Jun 5 10:43:43 2013 (r319976)
@@ -1,10 +1,5 @@
-# ex:ts=8
-# Ports collection makefile for: goblin
-# Date created: Mar 3, 2002
-# Whom: ijliao
-#
+# Created by: ijliao
# $FreeBSD$
-#
PORTNAME= goblin
DISTVERSION= 2.8b30
@@ -16,14 +11,18 @@ EXTRACT_SUFX= .tgz
MAINTAINER= gahr at FreeBSD.org
COMMENT= A Graph Object Library for Network Programming Problems
-USE_TK= 84+
-USE_TCL= 84+
+CONFLICTS= glpk-*
+
+USE_GCC= any
+NO_CCACHE= yes
+USE_TK= yes
USE_GMAKE= yes
USE_LDCONFIG= yes
MAKE_ARGS= CC="${CC}" CCFLAGS="${CFLAGS}" \
CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \
LD="${CXX}" LIBS="-lm ${LDFLAGS}" \
- libtcl=${USE_TCL} libtk=${USE_TK} prefix=${PREFIX}
+ libtcl=${USE_TCL} libtk=${USE_TK} \
+ prefix=${PREFIX}
ALL_TARGET= all shared
PLIST_SUB+= VERSION=${PORTVERSION:R}
@@ -38,9 +37,10 @@ CFLAGS+= -fPIC
.endif
post-patch:
- ${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' ${WRKSRC}/Makefile
${REINPLACE_CMD} -e 's|/usr/bin/wish|${WISH}|g' ${WRKSRC}/display
- ${REINPLACE_CMD} -e 's|%%WISH%%|${WISH}|g;s|%%PREFIX%%|${PREFIX}|g' \
+ ${REINPLACE_CMD} -e \
+ 's|%%WISH%%|${WISH}|g; \
+ s|%%PREFIX%%|${PREFIX}|g' \
${WRKSRC}/Makefile.conf
${REINPLACE_CMD} -e 's|\./gosh|${PREFIX}/bin/gosh|; \
s|\[pwd\] tcl|${PREFIX}/lib/goblin|g' \
@@ -56,10 +56,10 @@ do-install:
(cd ${WRKSRC}/include && ${COPYTREE_SHARE} \*.h ${PREFIX}/include/${PORTNAME})
${INSTALL} -d ${PREFIX}/lib/${PORTNAME}
(cd ${WRKSRC}/tcl && ${COPYTREE_SHARE} \* ${PREFIX}/lib/${PORTNAME})
- ${INSTALL_DATA} ${WRKSRC}/lib/libglpk.a ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/lib/libgoblin.a ${PREFIX}/lib
- ${INSTALL_DATA} ${WRKSRC}/libglpk.so ${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/libgoblin.so ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/lib/libglpk.a ${PREFIX}/lib
+ ${INSTALL_DATA} ${WRKSRC}/libglpk.so ${PREFIX}/lib
.if !defined(NOPORTDOCS)
${INSTALL} -d ${DOCSDIR}
${INSTALL} -d ${DOCSDIR}/html
Modified: head/math/goblin/files/patch-Makefile
==============================================================================
--- head/math/goblin/files/patch-Makefile Wed Jun 5 10:38:43 2013 (r319975)
+++ head/math/goblin/files/patch-Makefile Wed Jun 5 10:43:43 2013 (r319976)
@@ -1,26 +1,6 @@
---- Makefile.orig 2010-05-28 10:41:25.000000000 +0000
-+++ Makefile 2010-05-28 10:41:41.000000000 +0000
-@@ -335,19 +335,11 @@
- shared : intro $(shared_objects)
-
- libgoblin.$(so_suffix) : $(lib_objects) $(shell_objects)
--ifeq ($(CC),gcc)
- $(LD) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS) $(LIBS)
--else
-- $(LD) -G -o $@ $^ $(LDFLAGS) $(LIBS)
--endif
- @echo "...Shared object ($@) has been successfully linked"
-
- libglpk.$(so_suffix) : $(glpk_objects) $(wrap_objects)
--ifeq ($(CC),gcc)
- $(LD) -shared -Wl,-soname,$@ -o $@ $(shell_objects) $^ -L. $(LDFLAGS) $(LIBS) -lgoblin
--else
-- $(LD) -G -o $@ $(shell_objects) $^ -L. $(LDFLAGS) $(LIBS) -lgoblin
--endif
- @echo "...Shared object ($@) has been successfully linked"
-
-
-@@ -367,11 +359,7 @@
+--- Makefile.orig 2009-10-11 02:10:45.000000000 +0200
++++ Makefile 2013-06-05 09:47:06.000000000 +0200
+@@ -367,11 +367,7 @@
else
gosh : $(gosh_objects) $(shared_objects)
Added: head/math/goblin/files/patch-Makefile.conf
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/goblin/files/patch-Makefile.conf Wed Jun 5 10:43:43 2013 (r319976)
@@ -0,0 +1,20 @@
+--- Makefile.conf.orig 2013-06-04 14:27:38.000000000 +0200
++++ Makefile.conf 2013-06-04 14:27:57.000000000 +0200
+@@ -44,7 +44,7 @@
+ ifeq ($(os),solaris)
+ wish_name = /opt/csw/bin/wish
+ else
+- wish_name = /usr/bin/wish
++ wish_name = %%WISH%%
+ endif
+
+
+@@ -126,7 +126,7 @@
+ ifeq ($(os),solaris)
+ prefix = /opt/goblin/$(rel)
+ else
+- prefix = /usr
++ prefix = %%PREFIX%%
+ endif
+
+ goblin_include_path = $(prefix)/include
Added: head/math/goblin/files/patch-destructors
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/goblin/files/patch-destructors Wed Jun 5 10:43:43 2013 (r319976)
@@ -0,0 +1,395 @@
+--- include/investigator.h.orig 2013-06-04 14:33:44.000000000 +0200
++++ include/investigator.h 2013-06-04 14:34:16.000000000 +0200
+@@ -69,6 +69,8 @@
+ /// \retval true There are unvisited arcs in the incidence list of v
+ virtual bool Active(TNode v) const throw(ERRange) = 0;
+
++ virtual ~investigator() throw() {}
++
+ };
+
+ /// @}
+--- include/mixedGraph.h.orig 2013-06-04 14:34:21.000000000 +0200
++++ include/mixedGraph.h 2013-06-04 14:37:20.000000000 +0200
+@@ -79,6 +79,8 @@
+
+ lineGraph(abstractMixedGraph& G,TOption = LG_DIRECTED) throw(ERRejected);
+
++ ~lineGraph() throw() {};
++
+ };
+
+ /// \brief Subgraph of a given mixed graph induced by a specified node or arc set
+@@ -96,6 +98,7 @@
+ inducedSubgraph(abstractMixedGraph&,const indexSet<TNode>&,
+ const indexSet<TArc>&,const TOption = OPT_PARALLELS)
+ throw(ERRejected);
++ ~inducedSubgraph() throw() {}
+
+ };
+
+@@ -110,6 +113,7 @@
+ public:
+
+ colourContraction(abstractMixedGraph&,const TOption = 0) throw();
++ ~colourContraction () throw() {}
+
+ };
+
+@@ -125,6 +129,7 @@
+
+ explicitSurfaceGraph(abstractMixedGraph&,nestedFamily<TNode>&,
+ TFloat*,TArc*) throw();
++ ~explicitSurfaceGraph () throw() {}
+
+ };
+
+@@ -136,6 +141,7 @@
+ public:
+
+ explicitSubdivision(abstractMixedGraph&,const TOption = 0) throw();
++ ~explicitSubdivision () throw() {}
+
+ };
+
+--- include/sparseGraph.h.orig 2013-06-04 14:37:25.000000000 +0200
++++ include/sparseGraph.h 2013-06-04 14:43:39.000000000 +0200
+@@ -77,6 +77,7 @@
+ public:
+
+ complementaryGraph(abstractMixedGraph& G,TOption = 0) throw(ERRejected);
++ ~complementaryGraph() throw() {}
+
+ };
+
+@@ -96,6 +97,7 @@
+ public:
+
+ planarLineGraph(abstractMixedGraph& G,TOption = 0) throw(ERRejected);
++ ~planarLineGraph() throw() {}
+
+ };
+
+@@ -112,6 +114,7 @@
+ public:
+
+ vertexTruncation(abstractMixedGraph& _G,TOption = 0) throw(ERRejected);
++ ~vertexTruncation() throw() {}
+
+ };
+
+@@ -135,6 +138,7 @@
+ };
+
+ facetSeparation(abstractMixedGraph& G,TOptRotation mode = ROT_NONE) throw(ERRejected);
++ ~facetSeparation() throw() {}
+
+ };
+
+@@ -151,6 +155,7 @@
+ public:
+
+ dualGraph(abstractMixedGraph& G,TOption = 0) throw(ERRejected);
++ ~dualGraph() throw() {}
+
+ };
+
+@@ -170,6 +175,7 @@
+ public:
+
+ spreadOutRegular(abstractMixedGraph& G,TOption = 0) throw(ERRejected);
++ ~spreadOutRegular() throw() {}
+
+ };
+
+@@ -208,6 +214,8 @@
+ /// \param _CT The controller to handle this object
+ mycielskianGraph(unsigned k,goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~mycielskianGraph() throw() {}
++
+ };
+
+ /// @}
+@@ -256,6 +264,7 @@
+
+ triangularGraph(TNode cardinality,
+ goblinController& _CT = goblinDefaultContext) throw();
++ ~triangularGraph() throw() {}
+
+ };
+
+@@ -300,6 +309,8 @@
+ TNode minimumIntersection,TNode maximumIntersection,
+ goblinController& _CT = goblinDefaultContext) throw();
+
++ ~intersectionGraph() throw() {}
++
+ };
+
+
+@@ -311,6 +322,7 @@
+
+ sierpinskiTriangle(TNode depth,
+ goblinController& _CT = goblinDefaultContext) throw();
++ ~sierpinskiTriangle() throw() {}
+ };
+
+
+@@ -333,6 +345,7 @@
+ /// \param _CT The controller object to manage the created graph
+ openGrid(TNode _k,TNode _l,TOptGrid shape,
+ goblinController& _CT = goblinDefaultContext) throw(ERRejected);
++ ~openGrid() throw() {}
+
+ };
+
+@@ -358,6 +371,8 @@
+ polarGrid(TNode _k,TNode _l,TNode _p,TOptPolar facets,TOptPolar dim,
+ goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~polarGrid() throw() {}
++
+ };
+
+
+@@ -456,6 +471,8 @@
+ toroidalGrid(unsigned short hSkew,unsigned short vSize,short vSkew,unsigned short hSize,
+ TOptTorus facets,goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~toroidalGrid() throw() {}
++
+ };
+
+
+@@ -467,6 +484,8 @@
+
+ moebiusLadder(TNode _k,goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~moebiusLadder() throw() {}
++
+ };
+
+
+@@ -508,6 +527,8 @@
+ /// - <code>generalizedPetersen(10,3)</code> is known as the Desargues graph.
+ generalizedPetersen(TNode perimeter,TNode skew,goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~generalizedPetersen() throw() {}
++
+ };
+
+
+@@ -532,6 +553,8 @@
+ gridCompletion(TNode dim,TOptShape shape,
+ goblinController& _CT = goblinDefaultContext) throw(ERRejected);
+
++ ~gridCompletion() throw() {}
++
+ };
+
+
+@@ -581,6 +604,8 @@
+ /// interval [randMin,..,randMax] are assumed.
+ void GenerateThis(TFloat threshold,TFloat* nodeWeight,long randMin,long randMax) throw();
+
++ ~thresholdGraph() throw() {}
++
+ };
+
+
+@@ -601,6 +626,8 @@
+ /// is generated.
+ permutationGraph(TNode numNodes,TNode* map = NULL,goblinController& _CT = goblinDefaultContext) throw();
+
++ ~permutationGraph() throw() {}
++
+ };
+
+
+@@ -650,6 +677,8 @@
+ /// intervals are specified, random intervals are generated.
+ void GenerateThis(TFloat* minRange,TFloat* maxRange,TIndex valueRange) throw();
+
++ ~intervalGraph() throw() {}
++
+ };
+
+ /// @}
+--- include/sparseBigraph.h.orig 2013-06-04 14:43:47.000000000 +0200
++++ include/sparseBigraph.h 2013-06-04 14:44:05.000000000 +0200
+@@ -80,6 +80,8 @@
+ inducedBigraph(abstractMixedGraph&,const indexSet<TNode>&,
+ const indexSet<TNode>&,const TOption = OPT_PARALLELS) throw(ERRejected);
+
++ ~inducedBigraph() throw() {}
++
+ };
+
+ /// @}
+--- include/sparseDigraph.h.orig 2013-06-04 14:44:29.000000000 +0200
++++ include/sparseDigraph.h 2013-06-04 14:46:58.000000000 +0200
+@@ -116,6 +116,8 @@
+
+ inducedOrientation(abstractMixedGraph &G,TOption options = 0) throw(ERRejected);
+
++ ~inducedOrientation() throw() {}
++
+ };
+
+
+@@ -151,6 +153,8 @@
+ /// non-adjacent.
+ void MapEdgeCut() throw();
+
++ ~nodeSplitting() throw() {}
++
+ };
+
+ /// @}
+@@ -168,6 +172,8 @@
+ regularTree(TNode _depth,TNode deg,TNode _n = NoNode,
+ goblinController& thisContext = goblinDefaultContext) throw(ERRejected);
+
++ ~regularTree() throw() {}
++
+ };
+
+
+@@ -194,6 +200,8 @@
+ /// \param thisContext The context to which this graph object is attached
+ butterflyGraph(TNode length,TNode base=2,goblinController& thisContext = goblinDefaultContext) throw();
+
++ ~butterflyGraph() throw() {}
++
+ };
+
+
+@@ -215,6 +223,8 @@
+ /// \param thisContext The context to which this graph object is attached
+ cyclicButterfly(TNode length,TNode base=2,goblinController& thisContext = goblinDefaultContext) throw();
+
++ ~cyclicButterfly() throw() {}
++
+ };
+
+ /// @}
+@@ -239,6 +249,8 @@
+
+ directedDual(abstractMixedGraph &G,TOption options = 0) throw(ERRejected);
+
++ ~directedDual() throw() {}
++
+ };
+
+ /// @}
+@@ -258,6 +270,8 @@
+
+ transitiveClosure(abstractDiGraph &G,TOption options = 0) throw(ERRejected);
+
++ ~transitiveClosure() throw() {}
++
+ };
+
+
+@@ -272,6 +286,8 @@
+
+ intransitiveReduction(abstractDiGraph &G,TOption options = 0) throw(ERRejected);
+
++ ~intransitiveReduction() throw() {}
++
+ };
+
+ /// @}
+--- include/balancedDigraph.h.orig 2013-06-04 14:47:05.000000000 +0200
++++ include/balancedDigraph.h 2013-06-04 14:47:25.000000000 +0200
+@@ -72,6 +72,8 @@
+ TNode DefaultSourceNode() const throw() {return n-1;};
+ TNode DefaultTargetNode() const throw() {return n-2;};
+
++ ~splitGraph() throw() {}
++
+ };
+
+ #endif
+--- include/denseGraph.h.orig 2013-06-04 14:47:31.000000000 +0200
++++ include/denseGraph.h 2013-06-04 14:47:50.000000000 +0200
+@@ -95,6 +95,8 @@
+
+ metricGraph(abstractGraph &G) throw(ERRejected);
+
++ ~metricGraph() throw() {}
++
+ };
+
+ /// @}
+--- include/branchScheme.h.orig 2013-06-04 14:48:23.000000000 +0200
++++ include/branchScheme.h 2013-06-04 14:48:43.000000000 +0200
+@@ -131,7 +131,9 @@
+ {
+ public:
+
+- branchTree(goblinController &) throw();
++ branchTree(goblinController &) throw();
++
++ ~branchTree() throw() {}
+
+ };
+
+--- include/abstractSubgraph.h.orig 2013-06-04 14:48:50.000000000 +0200
++++ include/abstractSubgraph.h 2013-06-04 14:49:12.000000000 +0200
+@@ -102,7 +102,9 @@
+ virtual TArc M() const throw() = 0; //!<returns the number of edges
+ virtual unsigned long Allocated() const throw();
+
+- virtual TArc Reverse(TArc a) const throw(ERRange);
++ virtual TArc Reverse(TArc a) const throw(ERRange);
++
++ ~abstractSubgraph() throw() {}
+
+ };
+
+--- include/denseDigraph.h.orig 2013-06-04 14:51:07.000000000 +0200
++++ include/denseDigraph.h 2013-06-04 14:51:30.000000000 +0200
+@@ -92,6 +92,8 @@
+
+ distanceGraph(abstractMixedGraph &G) throw(ERRejected);
+
++ ~distanceGraph() throw() {}
++
+ };
+
+ /// @}
+--- include/goblinQueue.h.orig 2013-06-05 09:19:40.000000000 +0200
++++ include/goblinQueue.h 2013-06-05 09:22:11.000000000 +0200
+@@ -66,6 +66,8 @@
+ /// \return The queue cardinality
+ virtual TItem Cardinality() const throw() = 0;
+
++ ~goblinQueue() throw() {}
++
+ };
+
+ /// @}
+--- include/movingLineModel.h.orig 2013-06-05 09:41:41.000000000 +0200
++++ include/movingLineModel.h 2013-06-05 09:42:12.000000000 +0200
+@@ -66,6 +66,8 @@
+ /// \brief Modify the drawing of the original graph in terms of a closed walk in the stripe dissection model
+ void PerformBlockMove() throw();
+
++ ~movingLineModel() throw() {}
++
+ };
+
+ /// @}
+--- include/stripeDissectionModel.h.orig 2013-06-05 09:42:36.000000000 +0200
++++ include/stripeDissectionModel.h 2013-06-05 09:42:48.000000000 +0200
+@@ -51,6 +51,8 @@
+ /// \brief Update the drawing of the original graph in terms of an st-flow of the stripe dissection model
+ void UpdateDrawing() throw();
+
++ ~stripeDissectionModel() throw() {}
++
+ };
+
+ /// @}
Added: head/math/goblin/files/patch-managedObject
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/goblin/files/patch-managedObject Wed Jun 5 10:43:43 2013 (r319976)
@@ -0,0 +1,364 @@
+--- include/managedObject.h.orig 2013-06-05 09:27:06.000000000 +0200
++++ include/managedObject.h 2013-06-05 09:27:19.000000000 +0200
+@@ -193,8 +193,8 @@
+ };
+
+
+-#define InternalError(scope,event) {sprintf(this->CT.logBuffer,"%s (%s, line: %d)",event,__FILE__,__LINE__); Error(ERR_INTERNAL,scope,this->CT.logBuffer);}
+-#define InternalError1(scope) {sprintf(this->CT.logBuffer,"%s (%s, line: %d)",this->CT.logBuffer,__FILE__,__LINE__); Error(ERR_INTERNAL,scope,this->CT.logBuffer);}
++#define InternalError(scope,event) {sprintf(this->CT.logBuffer,"%s (%s, line: %d)",event,__FILE__,__LINE__); this->Error(ERR_INTERNAL,scope,this->CT.logBuffer);}
++#define InternalError1(scope) {sprintf(this->CT.logBuffer,"%s (%s, line: %d)",this->CT.logBuffer,__FILE__,__LINE__); this->Error(ERR_INTERNAL,scope,this->CT.logBuffer);}
+
+
+ #endif
+--- lib_src/dynamicStack.cpp.orig 2013-06-05 09:24:05.000000000 +0200
++++ lib_src/dynamicStack.cpp 2013-06-05 09:23:48.000000000 +0200
+@@ -97,7 +97,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ #endif
+
+--- lib_src/dynamicQueue.cpp.orig 2013-06-05 09:24:43.000000000 +0200
++++ lib_src/dynamicQueue.cpp 2013-06-05 09:24:50.000000000 +0200
+@@ -97,7 +97,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ #endif
+
+--- lib_src/fibonacciHeap.cpp.orig 2013-06-05 09:25:25.000000000 +0200
++++ lib_src/fibonacciHeap.cpp 2013-06-05 09:29:46.000000000 +0200
+@@ -194,7 +194,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (v>=n || status[v]==NOT_QUEUED) NoSuchItem("Display",v);
++ if (v>=n || status[v]==NOT_QUEUED) this->NoSuchItem("Display",v);
+
+ #endif
+
+@@ -267,7 +267,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ #endif
+
+@@ -281,13 +281,13 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ if (status[w]!=NOT_QUEUED)
+ {
+ sprintf(this->CT.logBuffer,"Already on queue: %lu",
+ static_cast<unsigned long>(w));
+- Error(ERR_REJECTED,"Insert",this->CT.logBuffer);
++ this->Error(ERR_REJECTED,"Insert",this->CT.logBuffer);
+ }
+
+ #endif
+@@ -394,7 +394,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (v>=n) NoSuchItem("Link",v);
++ if (v>=n) this->NoSuchItem("Link",v);
+
+ if (status[v]!=ROOT_NODE)
+ {
+@@ -403,7 +403,7 @@
+ this -> Error(ERR_REJECTED,"Link",this->CT.logBuffer);
+ }
+
+- if (w>=n) NoSuchItem("Link",w);
++ if (w>=n) this->NoSuchItem("Link",w);
+
+ if (status[w]!=ROOT_NODE)
+ {
+@@ -459,7 +459,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (v>=n) NoSuchItem("Cut",v);
++ if (v>=n) this->NoSuchItem("Cut",v);
+
+ if (status[v]!=UNMARKED_CHILD && status[v]!=MARKED_CHILD)
+ {
+@@ -514,7 +514,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || status[w]==NOT_QUEUED) NoSuchItem("Delete",w);
++ if (w>=n || status[w]==NOT_QUEUED) this->NoSuchItem("Delete",w);
+
+ #endif
+
+@@ -586,7 +586,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || status[w]==NOT_QUEUED) NoSuchItem("Key",w);
++ if (w>=n || status[w]==NOT_QUEUED) this->NoSuchItem("Key",w);
+
+ #endif
+
+@@ -599,7 +599,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || status[w]==NOT_QUEUED) NoSuchItem("ChangeKey",w);
++ if (w>=n || status[w]==NOT_QUEUED) this->NoSuchItem("ChangeKey",w);
+
+ #endif
+
+--- lib_src/basicHeap.cpp.orig 2013-06-05 09:30:16.000000000 +0200
++++ lib_src/basicHeap.cpp 2013-06-05 09:31:06.000000000 +0200
+@@ -140,7 +140,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ if (maxIndex>=n)
+ this -> Error(ERR_REJECTED,"Insert","Buffer is full");
+@@ -187,7 +187,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Delete",w);
++ if (w>=n) this->NoSuchItem("Delete",w);
+
+ #endif
+
+@@ -199,7 +199,7 @@
+ {
+ sprintf(this->CT.logBuffer,"Not a member: %lu",
+ static_cast<unsigned long>(w));
+- Error(ERR_REJECTED,"Delete",this->CT.logBuffer);
++ this->Error(ERR_REJECTED,"Delete",this->CT.logBuffer);
+ }
+
+ #endif
+@@ -244,7 +244,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Key",w);
++ if (w>=n) this->NoSuchItem("Key",w);
+
+ #endif
+
+@@ -257,13 +257,13 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("ChangeKey",w);
++ if (w>=n) this->NoSuchItem("ChangeKey",w);
+
+ if (key[w]==InfFloat)
+ {
+ sprintf(this->CT.logBuffer,"Not a member: %lu",
+ static_cast<unsigned long>(w));
+- Error(ERR_REJECTED,"ChangeKey",this->CT.logBuffer);
++ this->Error(ERR_REJECTED,"ChangeKey",this->CT.logBuffer);
+ }
+
+ #endif
+--- lib_src/binaryHeap.cpp.orig 2013-06-05 09:31:39.000000000 +0200
++++ lib_src/binaryHeap.cpp 2013-06-05 09:34:23.000000000 +0200
+@@ -142,7 +142,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>maxIndex || i==0) NoSuchIndex("Display",i);
++ if (i>maxIndex || i==0) this->NoSuchIndex("Display",i);
+
+ if (i!=index[v[i]])
+ {
+@@ -201,7 +201,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>maxIndex || i==0) NoSuchIndex("UpHeap",i);
++ if (i>maxIndex || i==0) this->NoSuchIndex("UpHeap",i);
+
+ #endif
+
+@@ -226,7 +226,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>maxIndex || i==0) NoSuchIndex("DownHeap",i);
++ if (i>maxIndex || i==0) this->NoSuchIndex("DownHeap",i);
+
+ #endif
+
+@@ -262,7 +262,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchIndex("Insert",w);
++ if (w>=n) this->NoSuchIndex("Insert",w);
+
+ if (maxIndex>=n) this -> Error(ERR_REJECTED,"Insert","Heap overflow");
+
+@@ -299,7 +299,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || index[w]==UITEM_MAX()) NoSuchItem("Delete",w);
++ if (w>=n || index[w]==UITEM_MAX()) this->NoSuchItem("Delete",w);
+
+ #endif
+
+@@ -381,7 +381,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || index[w]==UITEM_MAX()) NoSuchItem("Key",w);
++ if (w>=n || index[w]==UITEM_MAX()) this->NoSuchItem("Key",w);
+
+ #endif
+
+@@ -394,7 +394,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n || index[w]==UITEM_MAX()) NoSuchItem("ChangeKey",w);
++ if (w>=n || index[w]==UITEM_MAX()) this->NoSuchItem("ChangeKey",w);
+
+ #endif
+
+--- lib_src/matrix.cpp.orig 2013-06-05 09:34:55.000000000 +0200
++++ lib_src/matrix.cpp 2013-06-05 09:36:49.000000000 +0200
+@@ -291,10 +291,10 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (!this->transp && i>=this->k) NoSuchIndex("Coeff",i);
+- if (!this->transp && j>=this->l) NoSuchIndex("Coeff",j);
+- if (this->transp && i>=this->l) NoSuchIndex("Coeff",i);
+- if (this->transp && j>=this->k) NoSuchIndex("Coeff",j);
++ if (!this->transp && i>=this->k) this->NoSuchIndex("Coeff",i);
++ if (!this->transp && j>=this->l) this->NoSuchIndex("Coeff",j);
++ if (this->transp && i>=this->l) this->NoSuchIndex("Coeff",i);
++ if (this->transp && j>=this->k) this->NoSuchIndex("Coeff",j);
+
+ #endif
+
+@@ -309,10 +309,10 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (!this->transp && i>=this->k) NoSuchIndex("Coeff",i);
+- if (!this->transp && j>=this->l) NoSuchIndex("Coeff",j);
+- if (this->transp && i>=this->l) NoSuchIndex("SetCoeff",i);
+- if (this->transp && j>=this->k) NoSuchIndex("SetCoeff",j);
++ if (!this->transp && i>=this->k) this->NoSuchIndex("Coeff",i);
++ if (!this->transp && j>=this->l) this->NoSuchIndex("Coeff",j);
++ if (this->transp && i>=this->l) this->NoSuchIndex("SetCoeff",i);
++ if (this->transp && j>=this->k) this->NoSuchIndex("SetCoeff",j);
+
+ if (a>=InfFloat || a<=-InfFloat)
+ this->Error(ERR_RANGE,"SetCoeff","Finite matrix coefficients required");
+@@ -388,10 +388,10 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (!this->transp && i>=this->k) NoSuchIndex("Coeff",i);
+- if (!this->transp && j>=this->l) NoSuchIndex("Coeff",j);
+- if (this->transp && i>=this->l) NoSuchIndex("Coeff",i);
+- if (this->transp && j>=this->k) NoSuchIndex("Coeff",j);
++ if (!this->transp && i>=this->k) this->NoSuchIndex("Coeff",i);
++ if (!this->transp && j>=this->l) this->NoSuchIndex("Coeff",j);
++ if (this->transp && i>=this->l) this->NoSuchIndex("Coeff",i);
++ if (this->transp && j>=this->k) this->NoSuchIndex("Coeff",j);
+
+ #endif
+
+@@ -406,10 +406,10 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (!this->transp && i>=this->k) NoSuchIndex("SetCoeff",i);
+- if (!this->transp && j>=this->l) NoSuchIndex("SetCoeff",j);
+- if (this->transp && i>=this->l) NoSuchIndex("SetCoeff",i);
+- if (this->transp && j>=this->k) NoSuchIndex("SetCoeff",j);
++ if (!this->transp && i>=this->k) this->NoSuchIndex("SetCoeff",i);
++ if (!this->transp && j>=this->l) this->NoSuchIndex("SetCoeff",j);
++ if (this->transp && i>=this->l) this->NoSuchIndex("SetCoeff",i);
++ if (this->transp && j>=this->k) this->NoSuchIndex("SetCoeff",j);
+
+ if (a>=InfFloat || a<=-InfFloat)
+ this->Error(ERR_RANGE,"SetCoeff","Finite matrix coefficients required");
+--- lib_src/staticStack.cpp.orig 2013-06-05 09:43:13.000000000 +0200
++++ lib_src/staticStack.cpp 2013-06-05 09:44:06.000000000 +0200
+@@ -143,7 +143,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ #endif
+
+@@ -246,7 +246,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>=n) NoSuchItem("IsMember",i);
++ if (i>=n) this->NoSuchItem("IsMember",i);
+
+ #endif
+
+@@ -272,7 +272,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>=n) NoSuchItem("Successor",i);
++ if (i>=n) this->NoSuchItem("Successor",i);
+
+ #endif
+
+--- lib_src/staticQueue.cpp.orig 2013-06-05 09:45:07.000000000 +0200
++++ lib_src/staticQueue.cpp 2013-06-05 09:45:38.000000000 +0200
+@@ -143,7 +143,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (w>=n) NoSuchItem("Insert",w);
++ if (w>=n) this->NoSuchItem("Insert",w);
+
+ #endif
+
+@@ -248,7 +248,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>=n) NoSuchItem("IsMember",i);
++ if (i>=n) this->NoSuchItem("IsMember",i);
+
+ #endif
+
+@@ -272,7 +272,7 @@
+ {
+ #if defined(_FAILSAVE_)
+
+- if (i>=n) NoSuchItem("Successor",i);
++ if (i>=n) this->NoSuchItem("Successor",i);
+
+ #endif
+
Added: head/math/goblin/files/patch-tcl86
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/math/goblin/files/patch-tcl86 Wed Jun 5 10:43:43 2013 (r319976)
@@ -0,0 +1,4214 @@
+--- shell_src/goshGraph.cpp.orig 2013-06-04 14:51:44.000000000 +0200
++++ shell_src/goshGraph.cpp 2013-06-04 16:26:04.000000000 +0200
+@@ -173,7 +173,7 @@
+ {
+ TNode u = atol(argv[2]);
+ TNode v = G -> SwapNode(u);
+- sprintf(interp->result,"%lu",static_cast<unsigned long>(v));
++ Tcl_SetObjResult(interp, Tcl_NewLongObj(static_cast<unsigned long>(v)));
+ return TCL_OK;
+ }
+
+@@ -384,12 +384,12 @@
+
+ try
+ {
+- sprintf(interp->result,"%f",G->FlowValue(sourceNode,sourceNode^1));
++ Tcl_SetObjResult(interp, Tcl_NewDoubleObj(G->FlowValue(sourceNode,sourceNode^1)));
+ return TCL_OK;
+ }
+ catch (ERCheck)
+ {
+- sprintf(interp->result,"Flow is corrupted");
++ Tcl_SetObjResult(interp, Tcl_NewStringObj("Flow is corrupted", -1));
+ return TCL_ERROR;
+ }
+ }
+@@ -400,12 +400,12 @@
+ try
+ {
+ G -> FlowValue(sourceNode,sourceNode^1);
+- sprintf(interp->result,"%f",ret);
++ Tcl_SetObjResult(interp, Tcl_NewDoubleObj(ret));
+ return TCL_OK;
+ }
+ catch (ERCheck)
+ {
+- interp->result = "Flow is corrupted";
++ Tcl_SetObjResult(interp, Tcl_NewStringObj("Flow is corrupted", -1));
+ return TCL_ERROR;
+ }
+ }
+@@ -453,6 +453,8 @@
+ int Goblin_Sparse_Cmd (abstractMixedGraph *G,Tcl_Interp* interp,int argc,
+ _CONST_QUAL_ char* argv[]) throw(ERRejected,ERRange)
+ {
++ Tcl_ResetResult(interp);
++
+ if (strcmp(argv[1],"reorder")==0)
+ {
+ if (argc!=4)
+@@ -466,29 +468,27 @@
+ if (strcmp(argv[3],"-planar")==0)
+ {
+ if (G->PlanarizeIncidenceOrder())
+- interp->result = "1";
+- else interp->result = "0";
++ Tcl_SetObjResult(interp, Tcl_NewIntObj(1));
++ else
++ Tcl_SetObjResult(interp, Tcl_NewIntObj(0));
+ return GOSH_OK;
+ }
+
+ if (strcmp(argv[3],"-shuffle")==0)
+ {
+ G -> RandomizeIncidenceOrder();
+- interp->result = "";
+ return GOSH_OK;
+ }
+
+ if (strcmp(argv[3],"-geometric")==0)
+ {
+ G -> IncidenceOrderFromDrawing();
+- interp->result = "";
+ return GOSH_OK;
+ }
+
+ if (strcmp(argv[3],"-outerplanar")==0)
+ {
+ G -> GrowExteriorFace();
+- interp->result = "";
+ return GOSH_OK;
+ }
+
+@@ -517,14 +517,13 @@
+ else
+ {
+ delete[] keyValue;
+- interp->result = "Missing key value specification";
++ Tcl_SetObjResult(interp, Tcl_NewStringObj("Missing key value specification", -1));
+ return TCL_OK;
+ }
+
+ GR -> ReorderNodeIndices(keyValue);
+
+ delete[] keyValue;
+- interp->result = "";
+ return TCL_OK;
+ }
+
+@@ -550,18 +549,17 @@
+ else
+ {
+ delete[] keyValue;
+- interp->result = "Missing key value specification";
++ Tcl_SetObjResult(interp, Tcl_NewStringObj("Missing key value specification", -1));
+ return TCL_OK;
+ }
+
+ GR -> ReorderEdgeIndices(keyValue);
+
+ delete[] keyValue;
+- interp->result = "";
+ return TCL_OK;
+ }
+
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-ports-head
mailing list