aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2007-12-22 15:24:41 +0000
committerMartin Wilke <miwi@FreeBSD.org>2007-12-22 15:24:41 +0000
commit63707e6ba1260b292707bab97bd8521c9debfad9 (patch)
tree2c2b575494be55385a0be20b08658d7c0e591e85 /graphics
parent4c939e003c17a8ed859dfaccef693adc8754ab75 (diff)
downloadports-63707e6ba1260b292707bab97bd8521c9debfad9.tar.gz
ports-63707e6ba1260b292707bab97bd8521c9debfad9.zip
Notes
Diffstat (limited to 'graphics')
-rw-r--r--graphics/tulip/Makefile16
-rw-r--r--graphics/tulip/files/patch-library-tulip-geo-include-tulip-cxx_Circle.cxx34
-rw-r--r--graphics/tulip/files/patch-library-tulip-include-tulip_IdManager.h11
-rw-r--r--graphics/tulip/files/patch-library-tulip-ogl-src_GlGraphDrawGraph.cpp15
-rw-r--r--graphics/tulip/files/patch-library-tulip-src_Color.cpp21
-rw-r--r--graphics/tulip/files/patch-library-tulip-src_LayoutProxy.cpp61
-rw-r--r--graphics/tulip/files/patch-library-tulip-src_MetricProxy.cpp56
-rw-r--r--graphics/tulip/files/patch-library-tulip-src_SizesProxy.cpp37
-rw-r--r--graphics/tulip/files/patch-plugins-glyph_cone.cpp11
-rw-r--r--graphics/tulip/files/patch-plugins-glyph_cylinder.cpp11
-rw-r--r--graphics/tulip/files/patch-plugins-layout_CoreTreeExtended.cpp29
-rw-r--r--graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilford.cpp33
-rw-r--r--graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilfordExtended.cpp33
-rw-r--r--graphics/tulip/pkg-plist175
14 files changed, 537 insertions, 6 deletions
diff --git a/graphics/tulip/Makefile b/graphics/tulip/Makefile
index 88e3b6617dd8..a08f929284f5 100644
--- a/graphics/tulip/Makefile
+++ b/graphics/tulip/Makefile
@@ -13,7 +13,7 @@ CATEGORIES= graphics
MASTER_SITES= http://dept-info.labri.fr/~auber/projects/tulip/download/%SUBDIR%/
MASTER_SITE_SUBDIR= ${PORTNAME}-${PORTVERSION}
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= gahr@gahr.ch
COMMENT= A system dedicated to the visualization of huge graphs
LIB_DEPENDS= glut.4:${PORTSDIR}/graphics/libglut
@@ -24,6 +24,7 @@ QT_NONSTANDARD= yes
USE_GETOPT_LONG= yes
USE_GMAKE= yes
GNU_CONFIGURE= yes
+USE_AUTOTOOLS= libtool:15
CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
CONFIGURE_ENV= MOC="${MOC}" CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" GLDIR="${X11BASE}"
CONFIGURE_ARGS= --with-qt-includes=${QT_PREFIX}/include \
@@ -48,15 +49,18 @@ LDFLAGS= -Wl,-export-dynamic -L${LOCALBASE}/lib -L${X11BASE}/lib \
CFLAGS+= -fPIC
.endif
-.if ${OSVERSION} >= 700029
-BROKEN= Does not compile
-.endif
-
post-extract:
@${FIND} ${WRKSRC} -name "moc_*" -delete
+pre-configure:
+ @if [ -z "`pkg-config --variable qt_config qt-mt | ${GREP} opengl`" ]; then \
+ echo "Please reinstall x11-toolkits/qt33 with OpenGL supportsd"; \
+ exit 1; \
+ fi
+
post-patch:
- @${REINPLACE_CMD} -e 's| -O2 -pipe||g' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's| -O2 -pipe||g; \
+ s|echo aout|echo elf|g' ${WRKSRC}/configure ${WRKSRC}/thirdparty/gle/configure
@${GREP} -lR "malloc\.h" ${WRKSRC} | ${XARGS} ${REINPLACE_CMD} -e \
's|malloc\.h|stdlib.h|g'
@${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${REINPLACE_CMD} -e \
diff --git a/graphics/tulip/files/patch-library-tulip-geo-include-tulip-cxx_Circle.cxx b/graphics/tulip/files/patch-library-tulip-geo-include-tulip-cxx_Circle.cxx
new file mode 100644
index 000000000000..9470987e4bc0
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-geo-include-tulip-cxx_Circle.cxx
@@ -0,0 +1,34 @@
+--- library/tulip-geo/include/tulip/cxx/Circle.cxx.orig 2007-12-18 22:02:09.000000000 +0100
++++ library/tulip-geo/include/tulip/cxx/Circle.cxx 2007-12-18 22:06:10.000000000 +0100
+@@ -45,7 +45,7 @@
+ Vector<Obj,2> dir=c2-c1;
+ Obj n=dir.norm();
+ if (n==0)
+- return Circle<Obj>(c1,c1.radius >? c2.radius);
++ return Circle<Obj>(c1, (c1.radius > c2.radius) ? c1.radius : c2.radius);
+ dir/=n;
+ Vector<Obj,2> ext1=c1-dir*c1.radius;
+ Vector<Obj,2> ext2=c2+dir*c2.radius;
+@@ -64,16 +64,17 @@
+ boundingBox[3]=(*it)[1]+(*it).radius;
+ ++it;
+ for (;it!=circles.end();++it) {
+- boundingBox[0]=boundingBox[0] <? ((*it)[0]-(*it).radius);
+- boundingBox[1]=boundingBox[1] <? ((*it)[1]-(*it).radius);
+- boundingBox[2]=boundingBox[2] >? ((*it)[0]+(*it).radius);
+- boundingBox[3]=boundingBox[3] >? ((*it)[1]+(*it).radius);
++ boundingBox[0]=(boundingBox[0] < ((*it)[0]-(*it).radius)) ? boundingBox[0] : ((*it)[0]-(*it).radius);
++ boundingBox[1]=(boundingBox[1] < ((*it)[1]-(*it).radius)) ? boundingBox[1] : ((*it)[1]-(*it).radius);
++ boundingBox[2]=(boundingBox[2] > ((*it)[0]+(*it).radius)) ? boundingBox[1] : ((*it)[0]-(*it).radius);
++ boundingBox[3]=(boundingBox[3] > ((*it)[1]+(*it).radius)) ? boundingBox[3] : ((*it)[1]-(*it).radius);
+ }
+
+ tlp::geo::Vector<Obj,2> center;
+ center[0]=(boundingBox[0]+boundingBox[2])/2;
+ center[1]=(boundingBox[1]+boundingBox[3])/2;
+- Obj radius = ((boundingBox[2]-boundingBox[0])/2 ) >? ( (boundingBox[3]-boundingBox[1])/2 );
++ Obj radius = (((boundingBox[2]-boundingBox[0])/2 ) > ( (boundingBox[3]-boundingBox[1])/2 )) ?
++ ((boundingBox[2]-boundingBox[0])/2 ) : ( (boundingBox[3]-boundingBox[1])/2 );
+ tlp::geo::Circle<Obj> result(center,radius);
+ //compute circle hull
+ for (typename std::vector< tlp::geo::Circle<Obj> >::const_iterator it=circles.begin();it!=circles.end();++it)
diff --git a/graphics/tulip/files/patch-library-tulip-include-tulip_IdManager.h b/graphics/tulip/files/patch-library-tulip-include-tulip_IdManager.h
new file mode 100644
index 000000000000..08fc352f9b9c
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-include-tulip_IdManager.h
@@ -0,0 +1,11 @@
+--- library/tulip/include/tulip/IdManager.h.orig 2007-12-18 21:33:16.000000000 +0100
++++ library/tulip/include/tulip/IdManager.h 2007-12-18 21:33:32.000000000 +0100
+@@ -34,7 +34,7 @@
+ Free the id given in parameter. This id
+ will be accessible by a the get function.
+ */
+- void IdManager::free(const unsigned int);
++ void free(const unsigned int);
+ /**
+ Return a new id, the returned id is choosen to minimize
+ the memory space of the free list, and the fragmetation
diff --git a/graphics/tulip/files/patch-library-tulip-ogl-src_GlGraphDrawGraph.cpp b/graphics/tulip/files/patch-library-tulip-ogl-src_GlGraphDrawGraph.cpp
new file mode 100644
index 000000000000..220c06c714e4
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-ogl-src_GlGraphDrawGraph.cpp
@@ -0,0 +1,15 @@
+--- library/tulip-ogl/src/GlGraphDrawGraph.cpp.orig 2007-12-18 21:44:00.000000000 +0100
++++ library/tulip-ogl/src/GlGraphDrawGraph.cpp 2007-12-18 21:45:56.000000000 +0100
+@@ -58,8 +58,10 @@
+
+ Coord translate= (elementLayout->getMax(_superGraph)+elementLayout->getMin(_superGraph))/-2.0;
+ double max=maxS[0]+maxL[0]-minL[0];
+- max=max>?maxS[1]+maxL[1]-minL[1];
+- max=max>?maxS[2]+maxL[2]-minL[2];
++ double max1 = maxS[1]+maxL[1]-minL[1];
++ double max2 = maxS[2]+maxL[2]-minL[2];
++ max = (max > max1) ? max : max1;
++ max = (max > max2) ? max : max2;
+
+ if (max<0.0001) max=1;
+ max=1/max;
diff --git a/graphics/tulip/files/patch-library-tulip-src_Color.cpp b/graphics/tulip/files/patch-library-tulip-src_Color.cpp
new file mode 100644
index 000000000000..5e64ca39b341
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-src_Color.cpp
@@ -0,0 +1,21 @@
+--- library/tulip/src/Color.cpp.orig 2007-12-18 21:27:11.000000000 +0100
++++ library/tulip/src/Color.cpp 2007-12-18 21:40:14.000000000 +0100
+@@ -49,10 +49,14 @@
+
+ //// static RGB<->HSV conversion functions
+ void RGBtoHSV(unsigned char r, unsigned char g, unsigned char b, int &h, int &s, int &v) {
+- int min, max, delta;
+- // "<?" and ">?" are GNU G++ extensions; may not work with other compiler
+- min = r <? g <? b;
+- max = r >? g >? b;
++ int min, max, delta, tmp;
++
++ tmp = (r < g) ? r : g;
++ min = (b < tmp) ? b : tmp;
++
++ tmp = (r > g) ? r : g;
++ max = (b > tmp) ? b : tmp;
++
+ v = max; // v
+
+ delta = max - min;
diff --git a/graphics/tulip/files/patch-library-tulip-src_LayoutProxy.cpp b/graphics/tulip/files/patch-library-tulip-src_LayoutProxy.cpp
new file mode 100644
index 000000000000..c1e077022b45
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-src_LayoutProxy.cpp
@@ -0,0 +1,61 @@
+--- library/tulip/src/LayoutProxy.cpp.orig 2003-04-07 16:16:06.000000000 +0200
++++ library/tulip/src/LayoutProxy.cpp 2007-12-21 18:16:10.000000000 +0100
+@@ -18,7 +18,7 @@
+ TemplateFactory<LayoutFactory,Layout,PropertyContext *> LayoutProxy::factory;
+
+ LayoutProxy::LayoutProxy (PropertyContext *context):PropertyProxy<PointType,LineType>(context) {
+- minMaxOk[(int)superGraph]=false;
++ minMaxOk[(size_t)superGraph]=false;
+ currentLayout=0;
+ propertyProxy=this;
+ }
+@@ -87,7 +87,7 @@
+
+ Coord LayoutProxy::getMax(SuperGraph *sg) {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOk.find(sgi)==minMaxOk.end()) minMaxOk[sgi]=false;
+
+ if (!minMaxOk[sgi]) computeMinMax(sg);
+@@ -96,7 +96,7 @@
+
+ Coord LayoutProxy::getMin(SuperGraph *sg) {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOk.find(sgi)==minMaxOk.end()) minMaxOk[sgi]=false;
+ if (!minMaxOk[sgi]) computeMinMax(sg);
+ return min[sgi];
+@@ -107,7 +107,7 @@
+ #ifndef NDEBUG
+ cerr << "LayoutProxy::center()" << endl;
+ #endif
+- int sgi=(int)superGraph;
++ size_t sgi=(size_t)superGraph;
+ if (superGraph->numberOfNodes()==0) return;
+ Observable::holdObservers();
+ Coord translate=getMax()+getMin();
+@@ -209,9 +209,11 @@
+ deltaY = (double )getMax()[1]-(double )getMin()[1];
+ deltaZ = (double )getMax()[2]-(double )getMin()[2];
+
+- double delta= deltaX >? deltaY;
+- delta = delta >? deltaZ;
++ double delta;
+
++ delta = (deltaX > deltaY) ? deltaX : deltaY;
++ delta = (delta > deltaZ) ? delta : deltaZ;
++
+ if (delta<0.001) return;
+
+ if (deltaX<0.001) deltaX=delta;
+@@ -302,7 +304,7 @@
+ }delete itE;
+
+
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+
+ minMaxOk[sgi]=true;
+ min[sgi].set(minX,minY,minZ);
diff --git a/graphics/tulip/files/patch-library-tulip-src_MetricProxy.cpp b/graphics/tulip/files/patch-library-tulip-src_MetricProxy.cpp
new file mode 100644
index 000000000000..1be611ff47f2
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-src_MetricProxy.cpp
@@ -0,0 +1,56 @@
+--- library/tulip/src/MetricProxy.cpp.orig 2007-12-21 18:18:19.000000000 +0100
++++ library/tulip/src/MetricProxy.cpp 2007-12-21 18:20:29.000000000 +0100
+@@ -31,7 +31,7 @@
+ double MetricProxy::getNodeMin(SuperGraph *sg)
+ {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOkNode.find(sgi)==minMaxOkNode.end()) minMaxOkNode[sgi]=false;
+ if (!minMaxOkNode[sgi]) computeMinMaxNode(sg);
+ return minN[sgi];
+@@ -44,7 +44,7 @@
+ double MetricProxy::getNodeMax(SuperGraph *sg)
+ {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOkNode.find(sgi)==minMaxOkNode.end()) minMaxOkNode[sgi]=false;
+ if (!minMaxOkNode[sgi]) computeMinMaxNode(sg);
+ return maxN[sgi];
+@@ -57,7 +57,7 @@
+ double MetricProxy::getEdgeMin(SuperGraph *sg)
+ {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOkEdge.find(sgi)==minMaxOkEdge.end()) minMaxOkEdge[sgi]=false;
+ if (!minMaxOkEdge[sgi]) computeMinMaxEdge(sg);
+ return minE[sgi];
+@@ -71,7 +71,7 @@
+ {
+
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOkEdge.find(sgi)==minMaxOkEdge.end()) minMaxOkEdge[sgi]=false;
+ if (!minMaxOkEdge[sgi]) computeMinMaxEdge(sg);
+ return maxE[sgi];
+@@ -125,7 +125,7 @@
+ delete itN;
+
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+
+ minMaxOkNode[sgi]=true;
+ minN[sgi]=minN2;
+@@ -151,7 +151,7 @@
+ delete itE;
+
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+
+ minMaxOkEdge[sgi]=true;
+ minE[sgi]=minE2;
diff --git a/graphics/tulip/files/patch-library-tulip-src_SizesProxy.cpp b/graphics/tulip/files/patch-library-tulip-src_SizesProxy.cpp
new file mode 100644
index 000000000000..bba415098a9e
--- /dev/null
+++ b/graphics/tulip/files/patch-library-tulip-src_SizesProxy.cpp
@@ -0,0 +1,37 @@
+--- library/tulip/src/SizesProxy.cpp.orig 2003-04-07 16:16:06.000000000 +0200
++++ library/tulip/src/SizesProxy.cpp 2007-12-21 18:28:35.000000000 +0100
+@@ -59,7 +59,7 @@
+
+ Size SizesProxy::getMax(SuperGraph *sg) {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOk.find(sgi)==minMaxOk.end()) minMaxOk[sgi]=false;
+ if (!minMaxOk[sgi]) computeMinMax(sg);
+ return max[sgi];
+@@ -67,7 +67,7 @@
+
+ Size SizesProxy::getMin(SuperGraph *sg) {
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+ if (minMaxOk.find(sgi)==minMaxOk.end()) minMaxOk[sgi]=false;
+ if (!minMaxOk[sgi]) computeMinMax(sg);
+ return min[sgi];
+@@ -94,13 +94,13 @@
+ node itn=itN->next();
+ tmpSize=getNodeValue(itn);
+ for (int i=0;i<3;++i) {
+- maxS[i]=maxS[i]>?tmpSize[i];
+- minS[i]=minS[i]<?tmpSize[i];
++ maxS[i]=(maxS[i] > tmpSize[i]) ? maxS[i] : tmpSize[i];
++ minS[i]=(minS[i] < tmpSize[i]) ? minS[i] : tmpSize[i];
+ }
+ }delete itN;
+
+ if (sg==0) sg=superGraph;
+- int sgi=(int)sg;
++ size_t sgi=(size_t)sg;
+
+ minMaxOk[sgi]=true;
+ min[sgi]=minS;
diff --git a/graphics/tulip/files/patch-plugins-glyph_cone.cpp b/graphics/tulip/files/patch-plugins-glyph_cone.cpp
new file mode 100644
index 000000000000..0f5a5607dc82
--- /dev/null
+++ b/graphics/tulip/files/patch-plugins-glyph_cone.cpp
@@ -0,0 +1,11 @@
+--- plugins/glyph/cone.cpp.orig 2007-12-18 22:28:52.000000000 +0100
++++ plugins/glyph/cone.cpp 2007-12-18 22:29:16.000000000 +0100
+@@ -18,7 +18,7 @@
+ virtual string getName() {return string("Cone");}
+ virtual void draw(node n);
+ virtual void setLOD(int n);
+- virtual Coord Cone::getAnchor(const Coord &vector) const;
++ virtual Coord getAnchor(const Coord &vector) const;
+
+ private:
+ GLuint LList;
diff --git a/graphics/tulip/files/patch-plugins-glyph_cylinder.cpp b/graphics/tulip/files/patch-plugins-glyph_cylinder.cpp
new file mode 100644
index 000000000000..94c16c1237bc
--- /dev/null
+++ b/graphics/tulip/files/patch-plugins-glyph_cylinder.cpp
@@ -0,0 +1,11 @@
+--- plugins/glyph/cylinder.cpp.orig 2007-12-18 22:29:43.000000000 +0100
++++ plugins/glyph/cylinder.cpp 2007-12-18 22:29:50.000000000 +0100
+@@ -17,7 +17,7 @@
+ virtual ~Cylinder();
+ virtual string getName() {return string("Cylinder");}
+ virtual void draw(node n);
+- virtual Coord Cylinder::getAnchor(const Coord &vector) const;
++ virtual Coord getAnchor(const Coord &vector) const;
+ virtual void setLOD(int n);
+
+ private:
diff --git a/graphics/tulip/files/patch-plugins-layout_CoreTreeExtended.cpp b/graphics/tulip/files/patch-plugins-layout_CoreTreeExtended.cpp
new file mode 100644
index 000000000000..5d5e5536fc02
--- /dev/null
+++ b/graphics/tulip/files/patch-plugins-layout_CoreTreeExtended.cpp
@@ -0,0 +1,29 @@
+--- plugins/layout/ConeTreeExtended.cpp.orig 2007-12-18 22:22:22.000000000 +0100
++++ plugins/layout/ConeTreeExtended.cpp 2007-12-18 22:25:35.000000000 +0100
+@@ -94,6 +94,7 @@
+ double sumRadius=0;
+ double maxRadius=0;
+ double newRadius;
++ double minRadiusResult;
+
+ std::vector<double> subCircleRadius(superGraph->outdeg(n));
+ Iterator<node> *itN=superGraph->getOutNodes(n);
+@@ -101,7 +102,7 @@
+ node itn = itN->next();
+ subCircleRadius[i] = treePlace3D(itn,posRelX,posRelY);
+ sumRadius += 2*subCircleRadius[i];
+- maxRadius = maxRadius >? subCircleRadius[i];
++ maxRadius = (maxRadius > subCircleRadius[i]) ? maxRadius : subCircleRadius[i];
+ }delete itN;
+
+ double radius=sumRadius/(2*M_PI);
+@@ -120,7 +121,8 @@
+ for (int i=0;i<subCircleRadius.size()-1;++i) {
+ //if (subCircleRadius[i]>1)
+ for (int j=i+1;j<subCircleRadius.size();++j) {
+- newRadius = newRadius >? minRadius(subCircleRadius[i],vangles[i],subCircleRadius[j],vangles[j]);
++ minRadiusResult = minRadius(subCircleRadius[i],vangles[i],subCircleRadius[j],vangles[j]);
++ newRadius = (newRadius > minRadiusResult) ? newRadius : minRadiusResult;
+ }
+ }
+ if (newRadius==0) newRadius=radius;
diff --git a/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilford.cpp b/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilford.cpp
new file mode 100644
index 000000000000..f20053e98750
--- /dev/null
+++ b/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilford.cpp
@@ -0,0 +1,33 @@
+--- plugins/layout/TreeReingoldAndTilford.cpp.orig 2007-12-18 21:50:08.000000000 +0100
++++ plugins/layout/TreeReingoldAndTilford.cpp 2007-12-18 21:56:13.000000000 +0100
+@@ -20,8 +20,8 @@
+ itG=arbreG.begin();
+ itD=arbreD.begin();
+ decal = ((*itG).R-(*itD).L + 1);
+- iG+=(*itG).size<?(*itD).size;
+- iD+=(*itG).size<?(*itD).size;
++ iG+= (itG->size < itD->size) ? itG->size : itD->size;
++ iD+= (itG->size < itD->size) ? itG->size : itD->size;
+ if (iG==(*itG).size) {
+ ++itG;iG=0;
+ }
+@@ -29,8 +29,8 @@
+ ++itD;iD=0;
+ }
+ while ((itG!=arbreG.end()) && (itD!=arbreD.end())) {
+- decal=decal>?((*itG).R-((*itD).L)+1);
+- int min=((*itG).size-iG)<?((*itD).size-iD);
++ decal = (decal > (itG->R - itD->L+1)) ? decal : (itG->R - itD->L+1);
++ int min= ((itG->size - iG) < (itD->size-iD)) ? (itG->size - iG) : (itD->size-iD);
+ iG+=min;
+ iD+=min;
+ if (iG==(*itG).size) {
+@@ -53,7 +53,7 @@
+ while((itL!=L->end()) && (itR!=R->end())) {
+ tmp.L=(*itL).L;
+ tmp.R=(*itR).R+decal;
+- int min=((*itL).size-iL)<?((*itR).size-iR);
++ int min = ((itL->size-iL) < (itR->size-iR)) ? (itL->size-iL) : (itR->size-iR);
+ tmp.size=min;
+
+ if ((*itL).size==1) { //start
diff --git a/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilfordExtended.cpp b/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilfordExtended.cpp
new file mode 100644
index 000000000000..18395bab1f0f
--- /dev/null
+++ b/graphics/tulip/files/patch-plugins-layout_TreeReingoldAndTilfordExtended.cpp
@@ -0,0 +1,33 @@
+--- plugins/layout/TreeReingoldAndTilfordExtended.cpp.orig 2007-12-18 21:56:53.000000000 +0100
++++ plugins/layout/TreeReingoldAndTilfordExtended.cpp 2007-12-18 22:01:13.000000000 +0100
+@@ -21,8 +21,8 @@
+ itG=arbreG.begin();
+ itD=arbreD.begin();
+ decal = ((*itG).R-(*itD).L + 1);
+- iG+=(*itG).size<?(*itD).size;
+- iD+=(*itG).size<?(*itD).size;
++ iG+= (itG->size < itD->size) ? itG->size : itD->size;
++ iD+= (itG->size < itD->size) ? itG->size : itD->size;
+ if (iG==(*itG).size) {
+ ++itG;iG=0;
+ }
+@@ -30,8 +30,8 @@
+ ++itD;iD=0;
+ }
+ while ((itG!=arbreG.end()) && (itD!=arbreD.end())) {
+- decal=decal>?((*itG).R-((*itD).L)+1);
+- int min=((*itG).size-iG)<?((*itD).size-iD);
++ decal = (decal > (itG->R - itD->L + 1)) ? decal : (itG->R - itD->L + 1);
++ int min = ((itG->size - iG) < (itD->size - iD)) ? (itG->size - iG) : (itD->size - iD);
+ iG+=min;
+ iD+=min;
+ if (iG==(*itG).size) {
+@@ -54,7 +54,7 @@
+ while((itL!=L->end()) && (itR!=R->end())) {
+ tmp.L=(*itL).L;
+ tmp.R=(*itR).R+decal;
+- int min=((*itL).size-iL)<?((*itR).size-iR);
++ int min = ((itL->size - iL) < (itR->size - iR)) ? itL->size - iL : itR->size - iR;
+ tmp.size=min;
+
+ if ((*itL).size==1) { //start
diff --git a/graphics/tulip/pkg-plist b/graphics/tulip/pkg-plist
index 984f95f02c03..a219f8f43c2b 100644
--- a/graphics/tulip/pkg-plist
+++ b/graphics/tulip/pkg-plist
@@ -88,12 +88,15 @@ include/tulip/cxx/TemplateFactory.cxx
include/tulip/cxx/Vector.cxx
include/tulip/tulipconf.h
lib/libtulip-ogl.a
+lib/libtulip-ogl.la
lib/libtulip-ogl.so
lib/libtulip-ogl.so.0
lib/libtulip-qt.a
+lib/libtulip-qt.la
lib/libtulip-qt.so
lib/libtulip-qt.so.0
lib/libtulip.a
+lib/libtulip.la
lib/libtulip.so
lib/libtulip.so.0
lib/tlp/bitmaps/Fonts.bmp
@@ -102,91 +105,263 @@ lib/tlp/bitmaps/but2.xpm
lib/tlp/bitmaps/but3.xpm
lib/tlp/bitmaps/logo32x32.bmp
lib/tlp/plugins/clustering/arity.so
+lib/tlp/plugins/clustering/arity.a
+lib/tlp/plugins/clustering/arity.la
lib/tlp/plugins/clustering/aritysegment.so
+lib/tlp/plugins/clustering/aritysegment.a
+lib/tlp/plugins/clustering/aritysegment.la
lib/tlp/plugins/clustering/convol.so
+lib/tlp/plugins/clustering/convol.a
+lib/tlp/plugins/clustering/convol.la
lib/tlp/plugins/clustering/equalvalues.so
+lib/tlp/plugins/clustering/equalvalues.a
+lib/tlp/plugins/clustering/equalvalues.la
lib/tlp/plugins/clustering/geometric.so
+lib/tlp/plugins/clustering/geometric.a
+lib/tlp/plugins/clustering/geometric.la
lib/tlp/plugins/clustering/hierarchical.so
+lib/tlp/plugins/clustering/hierarchical.a
+lib/tlp/plugins/clustering/hierarchical.la
lib/tlp/plugins/clustering/quotientclustering.so
+lib/tlp/plugins/clustering/quotientclustering.a
+lib/tlp/plugins/clustering/quotientclustering.la
lib/tlp/plugins/clustering/segment.so
+lib/tlp/plugins/clustering/segment.a
+lib/tlp/plugins/clustering/segment.la
lib/tlp/plugins/clustering/sizen.so
+lib/tlp/plugins/clustering/sizen.a
+lib/tlp/plugins/clustering/sizen.la
lib/tlp/plugins/clustering/strength.so
+lib/tlp/plugins/clustering/strength.a
+lib/tlp/plugins/clustering/strength.la
lib/tlp/plugins/colors/histogrammapping.so
+lib/tlp/plugins/colors/histogrammapping.a
+lib/tlp/plugins/colors/histogrammapping.la
lib/tlp/plugins/colors/linearmapping.so
+lib/tlp/plugins/colors/linearmapping.a
+lib/tlp/plugins/colors/linearmapping.la
lib/tlp/plugins/colors/uniformquantif.so
+lib/tlp/plugins/colors/uniformquantif.a
+lib/tlp/plugins/colors/uniformquantif.la
lib/tlp/plugins/designer/libTulipWidgets.so
+lib/tlp/plugins/designer/libTulipWidgets.a
+lib/tlp/plugins/designer/libTulipWidgets.la
lib/tlp/plugins/export/generic.so
+lib/tlp/plugins/export/generic.a
+lib/tlp/plugins/export/generic.la
lib/tlp/plugins/export/gml.so
+lib/tlp/plugins/export/gml.a
+lib/tlp/plugins/export/gml.la
lib/tlp/plugins/export/tlp.so
+lib/tlp/plugins/export/tlp.a
+lib/tlp/plugins/export/tlp.la
lib/tlp/plugins/glyph/cone.so
+lib/tlp/plugins/glyph/cone.a
+lib/tlp/plugins/glyph/cone.la
lib/tlp/plugins/glyph/cube.so
+lib/tlp/plugins/glyph/cube.a
+lib/tlp/plugins/glyph/cube.la
lib/tlp/plugins/glyph/cubeoutlined.so
+lib/tlp/plugins/glyph/cubeoutlined.a
+lib/tlp/plugins/glyph/cubeoutlined.la
lib/tlp/plugins/glyph/cylinder.so
+lib/tlp/plugins/glyph/cylinder.a
+lib/tlp/plugins/glyph/cylinder.la
lib/tlp/plugins/glyph/sphere.so
+lib/tlp/plugins/glyph/sphere.a
+lib/tlp/plugins/glyph/sphere.la
lib/tlp/plugins/import/adjacencymatrix.so
+lib/tlp/plugins/import/adjacencymatrix.a
+lib/tlp/plugins/import/adjacencymatrix.la
lib/tlp/plugins/import/circulant.so
+lib/tlp/plugins/import/circulant.a
+lib/tlp/plugins/import/circulant.la
lib/tlp/plugins/import/completebinary.so
+lib/tlp/plugins/import/completebinary.a
+lib/tlp/plugins/import/completebinary.la
lib/tlp/plugins/import/completegraph.so
+lib/tlp/plugins/import/completegraph.a
+lib/tlp/plugins/import/completegraph.la
lib/tlp/plugins/import/filesystem.so
+lib/tlp/plugins/import/filesystem.a
+lib/tlp/plugins/import/filesystem.la
lib/tlp/plugins/import/gml.so
+lib/tlp/plugins/import/gml.a
+lib/tlp/plugins/import/gml.la
lib/tlp/plugins/import/poset.so
+lib/tlp/plugins/import/poset.a
+lib/tlp/plugins/import/poset.la
lib/tlp/plugins/import/randomgraph.so
+lib/tlp/plugins/import/randomgraph.a
+lib/tlp/plugins/import/randomgraph.la
lib/tlp/plugins/import/randomsimplegraph.so
+lib/tlp/plugins/import/randomsimplegraph.a
+lib/tlp/plugins/import/randomsimplegraph.la
lib/tlp/plugins/import/randomtree.so
+lib/tlp/plugins/import/randomtree.a
+lib/tlp/plugins/import/randomtree.la
lib/tlp/plugins/import/randomtreegeneral.so
+lib/tlp/plugins/import/randomtreegeneral.a
+lib/tlp/plugins/import/randomtreegeneral.la
lib/tlp/plugins/import/smallworld.so
+lib/tlp/plugins/import/smallworld.a
+lib/tlp/plugins/import/smallworld.la
lib/tlp/plugins/import/tlp.so
+lib/tlp/plugins/import/tlp.a
+lib/tlp/plugins/import/tlp.la
lib/tlp/plugins/layout/circular.so
+lib/tlp/plugins/layout/circular.a
+lib/tlp/plugins/layout/circular.la
lib/tlp/plugins/layout/conetree.so
+lib/tlp/plugins/layout/conetree.a
+lib/tlp/plugins/layout/conetree.la
lib/tlp/plugins/layout/conetreeextended.so
+lib/tlp/plugins/layout/conetreeextended.a
+lib/tlp/plugins/layout/conetreeextended.la
lib/tlp/plugins/layout/embedder.so
+lib/tlp/plugins/layout/embedder.a
+lib/tlp/plugins/layout/embedder.la
lib/tlp/plugins/layout/gem.so
+lib/tlp/plugins/layout/gem.a
+lib/tlp/plugins/layout/gem.la
lib/tlp/plugins/layout/gem3d.so
+lib/tlp/plugins/layout/gem3d.a
+lib/tlp/plugins/layout/gem3d.la
lib/tlp/plugins/layout/generalgraph.so
+lib/tlp/plugins/layout/generalgraph.a
+lib/tlp/plugins/layout/generalgraph.la
lib/tlp/plugins/layout/generalgraph3d.so
+lib/tlp/plugins/layout/generalgraph3d.a
+lib/tlp/plugins/layout/generalgraph3d.la
lib/tlp/plugins/layout/generalgraphbox.so
+lib/tlp/plugins/layout/generalgraphbox.a
+lib/tlp/plugins/layout/generalgraphbox.la
lib/tlp/plugins/layout/random.so
+lib/tlp/plugins/layout/random.a
+lib/tlp/plugins/layout/random.la
lib/tlp/plugins/layout/springelectrical.so
+lib/tlp/plugins/layout/springelectrical.a
+lib/tlp/plugins/layout/springelectrical.la
lib/tlp/plugins/layout/sugiyama.so
+lib/tlp/plugins/layout/sugiyama.a
+lib/tlp/plugins/layout/sugiyama.la
lib/tlp/plugins/layout/treeleaf.so
+lib/tlp/plugins/layout/treeleaf.a
+lib/tlp/plugins/layout/treeleaf.la
lib/tlp/plugins/layout/treemap.so
+lib/tlp/plugins/layout/treemap.a
+lib/tlp/plugins/layout/treemap.la
lib/tlp/plugins/layout/treeortho.so
+lib/tlp/plugins/layout/treeortho.a
+lib/tlp/plugins/layout/treeortho.la
lib/tlp/plugins/layout/treeradial.so
+lib/tlp/plugins/layout/treeradial.a
+lib/tlp/plugins/layout/treeradial.la
lib/tlp/plugins/layout/treereingold.so
+lib/tlp/plugins/layout/treereingold.a
+lib/tlp/plugins/layout/treereingold.la
lib/tlp/plugins/layout/treereingoldextended.so
+lib/tlp/plugins/layout/treereingoldextended.a
+lib/tlp/plugins/layout/treereingoldextended.la
lib/tlp/plugins/layout/tutte.so
+lib/tlp/plugins/layout/tutte.a
+lib/tlp/plugins/layout/tutte.la
lib/tlp/plugins/metric/arity.so
+lib/tlp/plugins/metric/arity.a
+lib/tlp/plugins/metric/arity.la
lib/tlp/plugins/metric/barycenter.so
+lib/tlp/plugins/metric/barycenter.a
+lib/tlp/plugins/metric/barycenter.la
lib/tlp/plugins/metric/cluster.so
+lib/tlp/plugins/metric/cluster.a
+lib/tlp/plugins/metric/cluster.la
lib/tlp/plugins/metric/connectedandtreecomponnents.so
+lib/tlp/plugins/metric/connectedandtreecomponnents.a
+lib/tlp/plugins/metric/connectedandtreecomponnents.la
lib/tlp/plugins/metric/connectedcomponnents.so
+lib/tlp/plugins/metric/connectedcomponnents.a
+lib/tlp/plugins/metric/connectedcomponnents.la
lib/tlp/plugins/metric/daglevel.so
+lib/tlp/plugins/metric/daglevel.a
+lib/tlp/plugins/metric/daglevel.la
lib/tlp/plugins/metric/id.so
+lib/tlp/plugins/metric/id.a
+lib/tlp/plugins/metric/id.la
lib/tlp/plugins/metric/leaf.so
+lib/tlp/plugins/metric/leaf.a
+lib/tlp/plugins/metric/leaf.la
lib/tlp/plugins/metric/node.so
+lib/tlp/plugins/metric/node.a
+lib/tlp/plugins/metric/node.la
lib/tlp/plugins/metric/pathlength.so
+lib/tlp/plugins/metric/pathlength.a
+lib/tlp/plugins/metric/pathlength.la
lib/tlp/plugins/metric/pathsum.so
+lib/tlp/plugins/metric/pathsum.a
+lib/tlp/plugins/metric/pathsum.la
lib/tlp/plugins/metric/random.so
+lib/tlp/plugins/metric/random.a
+lib/tlp/plugins/metric/random.la
lib/tlp/plugins/metric/segment.so
+lib/tlp/plugins/metric/segment.a
+lib/tlp/plugins/metric/segment.la
lib/tlp/plugins/metric/spreadingactivation.so
+lib/tlp/plugins/metric/spreadingactivation.a
+lib/tlp/plugins/metric/spreadingactivation.la
lib/tlp/plugins/metric/spreadinginterpolation.so
+lib/tlp/plugins/metric/spreadinginterpolation.a
+lib/tlp/plugins/metric/spreadinginterpolation.la
lib/tlp/plugins/metric/strahler.so
+lib/tlp/plugins/metric/strahler.a
+lib/tlp/plugins/metric/strahler.la
lib/tlp/plugins/metric/strahlerall.so
+lib/tlp/plugins/metric/strahlerall.a
+lib/tlp/plugins/metric/strahlerall.la
lib/tlp/plugins/metric/strength.so
+lib/tlp/plugins/metric/strength.a
+lib/tlp/plugins/metric/strength.la
lib/tlp/plugins/metric/strongcomponnet.so
+lib/tlp/plugins/metric/strongcomponnet.a
+lib/tlp/plugins/metric/strongcomponnet.la
lib/tlp/plugins/metric/treearitymax.so
+lib/tlp/plugins/metric/treearitymax.a
+lib/tlp/plugins/metric/treearitymax.la
lib/tlp/plugins/metric/viennot.so
+lib/tlp/plugins/metric/viennot.a
+lib/tlp/plugins/metric/viennot.la
lib/tlp/plugins/selection/inducedsubgraph.so
+lib/tlp/plugins/selection/inducedsubgraph.a
+lib/tlp/plugins/selection/inducedsubgraph.la
lib/tlp/plugins/selection/labelselection.so
+lib/tlp/plugins/selection/labelselection.a
+lib/tlp/plugins/selection/labelselection.la
lib/tlp/plugins/selection/loopselection.so
+lib/tlp/plugins/selection/loopselection.a
+lib/tlp/plugins/selection/loopselection.la
lib/tlp/plugins/selection/multipleselection.so
+lib/tlp/plugins/selection/multipleselection.a
+lib/tlp/plugins/selection/multipleselection.la
lib/tlp/plugins/selection/pathselection.so
+lib/tlp/plugins/selection/pathselection.a
+lib/tlp/plugins/selection/pathselection.la
lib/tlp/plugins/selection/reachable.so
+lib/tlp/plugins/selection/reachable.a
+lib/tlp/plugins/selection/reachable.la
lib/tlp/plugins/selection/spanningdag.so
+lib/tlp/plugins/selection/spanningdag.a
+lib/tlp/plugins/selection/spanningdag.la
lib/tlp/plugins/selection/spanningtree.so
+lib/tlp/plugins/selection/spanningtree.a
+lib/tlp/plugins/selection/spanningtree.la
lib/tlp/plugins/sizes/AutoSize.so
+lib/tlp/plugins/sizes/AutoSize.a
+lib/tlp/plugins/sizes/AutoSize.la
lib/tlp/plugins/sizes/fittolabels.so
+lib/tlp/plugins/sizes/fittolabels.a
+lib/tlp/plugins/sizes/fittolabels.la
lib/tlp/plugins/string/idlabels.so
+lib/tlp/plugins/string/idlabels.a
+lib/tlp/plugins/string/idlabels.la
share/aclocal/tulip.m4
@dirrm lib/tlp/plugins/string
@dirrm lib/tlp/plugins/sizes