diff options
Diffstat (limited to 'community/flowcanvas')
-rw-r--r-- | community/flowcanvas/PKGBUILD | 23 | ||||
-rw-r--r-- | community/flowcanvas/graphviz-2.30.patch | 56 |
2 files changed, 74 insertions, 5 deletions
diff --git a/community/flowcanvas/PKGBUILD b/community/flowcanvas/PKGBUILD index c709a7d92..f11c67143 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' 'mips64el') 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', |