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-all mailing list