Date: Tuesday, October 8, 2013 @ 22:03:28
  Author: schiv
Revision: 98343

upgpkg: flowcanvas 0.7.1-4

graphviz TODO
adapted FreeBSD patch
needs testing with patchage

Added:
  flowcanvas/trunk/graphviz-2.30.patch
Modified:
  flowcanvas/trunk/PKGBUILD

---------------------+
 PKGBUILD            |   21 +++++++++++++++---
 graphviz-2.30.patch |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+), 4 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2013-10-08 19:42:24 UTC (rev 98342)
+++ PKGBUILD    2013-10-08 20:03:28 UTC (rev 98343)
@@ -5,17 +5,30 @@
 
 pkgname=flowcanvas
 pkgver=0.7.1
-pkgrel=3
+pkgrel=4
 pkgdesc="Gtkmm/Gnomecanvasmm widget for boxes-and-lines style environments"
 arch=('i686' 'x86_64')
 url="http://drobilla.net/software/flowcanvas/";
-depends=('libgnomecanvasmm' 'graphviz')
+depends=('libgnomecanvasmm' 'graphviz>=2.34')
 makedepends=('boost' 'python2')
 license=('GPL')
 install=$pkgname.install
-source=(http://download.drobilla.net/$pkgname-$pkgver.tar.bz2)
-md5sums=('a4908f6385ce9fd2ce97c8caa823f053')
+source=("http://download.drobilla.net/$pkgname-$pkgver.tar.bz2";
+        "graphviz-2.30.patch")
+md5sums=('a4908f6385ce9fd2ce97c8caa823f053'
+         'e5b2b23d8be0c9fa14b8b52379a15155')
 
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  # graphviz 2.30 compatibility
+  # see http://dev.drobilla.net/ticket/888
+  # adapted from FreeBSD patch (just stripped their stuff)
+  # potentially unstable (nothing committed by developer yet)
+  # may have to incorporate proposed patch for ganv (successor to this lib)
+  patch -Np0 -i "$srcdir/graphviz-2.30.patch"
+}
+
 build() {
   cd "$srcdir/$pkgname-$pkgver"
 

Added: graphviz-2.30.patch
===================================================================
--- graphviz-2.30.patch                         (rev 0)
+++ graphviz-2.30.patch 2013-10-08 20:03:28 UTC (rev 98343)
@@ -0,0 +1,56 @@
+--- src/Canvas.cpp.orig        2011-01-10 00:19:58.000000000 +0100
++++ src/Canvas.cpp     2013-03-16 13:45:17.797462753 +0100
+@@ -1253,21 +1253,21 @@
+        */
+
+       GVC_t* gvc = gvContext();
+-      Agraph_t* G = agopen((char*)"g", AGDIGRAPH);
++      Agraph_t* G = agopen((char*)"g", Agdirected, NULL);
+
+       nodes.gvc = gvc;
+       nodes.G = G;
+
+       if (_direction == HORIZONTAL)
+-              agraphattr(G, (char*)"rankdir", (char*)"LR");
++              agattr(G, AGRAPH, (char*)"rankdir", (char*)"LR");
+       else
+-              agraphattr(G, (char*)"rankdir", (char*)"TD");
++              agattr(G, AGRAPH, (char*)"rankdir", (char*)"TD");
+
+       unsigned id = 0;
+       for (ItemList::const_iterator i = _items.begin(); i != _items.end(); 
++i) {
+               std::ostringstream ss;
+               ss << "n" << id++;
+-              Agnode_t* node = agnode(G, strdup(ss.str().c_str()));
++              Agnode_t* node = agnode(G, strdup(ss.str().c_str()), true);
+               if (boost::dynamic_pointer_cast<Module>(*i)) {
+                       ss.str("");
+                       ss << (*i)->width() / 96.0;
+@@ -1310,7 +1310,7 @@
+
+               assert(src_node && dst_node);
+
+-              Agedge_t* edge = agedge(G, src_node, dst_node);
++              Agedge_t* edge = agedge(G, src_node, dst_node, NULL, true);
+
+               if (use_length_hints && c->length_hint() != 0) {
+                       std::ostringstream len_ss;
+@@ -1325,7 +1325,7 @@
+               if (partner) {
+                       GVNodes::iterator p = nodes.find(partner);
+                       if (p != nodes.end())
+-                              agedge(G, i->second, p->second);
++                              agedge(G, i->second, p->second, NULL, true);
+               }
+       }
+
+--- wscript.orig       2011-01-12 00:09:31.000000000 +0100
++++ wscript    2013-03-16 14:19:43.577462602 +0100
+@@ -41,6 +41,7 @@
+       conf.check_tool('compiler_cxx')
+       autowaf.check_pkg(conf, 'libgvc', uselib_store='AGRAPH',
+                         atleast_version='2.8', mandatory=False)
++      conf.env['LIB_AGRAPH'] = ['cgraph' if l == 'graph' else l for l in 
conf.env['LIB_AGRAPH']]
+       autowaf.check_pkg(conf, 'gtkmm-2.4', uselib_store='GLIBMM',
+                         atleast_version='2.10.0', mandatory=True)
+       autowaf.check_pkg(conf, 'libgnomecanvasmm-2.6', 
uselib_store='GNOMECANVASMM',

Reply via email to