summaryrefslogtreecommitdiff
path: root/community/flowcanvas
diff options
context:
space:
mode:
Diffstat (limited to 'community/flowcanvas')
-rw-r--r--community/flowcanvas/PKGBUILD23
-rw-r--r--community/flowcanvas/graphviz-2.30.patch56
2 files changed, 74 insertions, 5 deletions
diff --git a/community/flowcanvas/PKGBUILD b/community/flowcanvas/PKGBUILD
index 39dee6da0..a327a73b0 100644
--- a/community/flowcanvas/PKGBUILD
+++ b/community/flowcanvas/PKGBUILD
@@ -1,20 +1,33 @@
-# $Id: PKGBUILD 63558 2012-02-05 11:55:57Z ibiru $
+# $Id: PKGBUILD 98571 2013-10-14 07:10:01Z bisson $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Max a.k.a. Synthead <synthead@gmail.com>
# Contributor: christhemonkey <christhemonkey at gmail dot com>
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"
diff --git a/community/flowcanvas/graphviz-2.30.patch b/community/flowcanvas/graphviz-2.30.patch
new file mode 100644
index 000000000..1338a6832
--- /dev/null
+++ b/community/flowcanvas/graphviz-2.30.patch
@@ -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',