From owner-freebsd-ports-bugs@FreeBSD.ORG Sat Mar 16 14:30:01 2013 Return-Path: Delivered-To: freebsd-ports-bugs@smarthost.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 44E8E122 for ; Sat, 16 Mar 2013 14:30:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 2128AC3 for ; Sat, 16 Mar 2013 14:30:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.6/8.14.6) with ESMTP id r2GEU0MD034598 for ; Sat, 16 Mar 2013 14:30:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.6/8.14.6/Submit) id r2GEU0BA034597; Sat, 16 Mar 2013 14:30:00 GMT (envelope-from gnats) Resent-Date: Sat, 16 Mar 2013 14:30:00 GMT Resent-Message-Id: <201303161430.r2GEU0BA034597@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Bojan Petrovic Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 9B52DFC for ; Sat, 16 Mar 2013 14:25:21 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 692C1AE for ; Sat, 16 Mar 2013 14:25:21 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r2GEPKtL021862 for ; Sat, 16 Mar 2013 14:25:20 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.5/8.14.5/Submit) id r2GEPKp7021861; Sat, 16 Mar 2013 14:25:20 GMT (envelope-from nobody) Message-Id: <201303161425.r2GEPKp7021861@red.freebsd.org> Date: Sat, 16 Mar 2013 14:25:20 GMT From: Bojan Petrovic To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Subject: ports/177023: x11-toolkits/flowcanvas doesn't build with recent graphviz X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 16 Mar 2013 14:30:01 -0000 >Number: 177023 >Category: ports >Synopsis: x11-toolkits/flowcanvas doesn't build with recent graphviz >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Mar 16 14:30:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Bojan Petrovic >Release: >Organization: >Environment: FreeBSD alpha-60 9.0-STABLE FreeBSD 9.0-STABLE #5: Wed Jul 11 22:57:50 CEST 2012 root@alpha-60:/usr/obj/usr/src/sys/SL510_9.0 amd64 >Description: The x11-toolkits/flowcanvas is already marked as BROKEN because it cannot compile with recent graphviz library. The problem seems to be twofold: First, flowcanvas relies on deprecated libraph graphviz library. Libcgraph has different function signatures and names. Second, `pkg-config --libs libgvc` reports `-L/usr/local/lib/graphviz -lgvc -lgraph -lcdt`, although libgraph is not installed by graphviz port. >How-To-Repeat: Try building x11-toolkits/flowcanvas >Fix: In the patch, src/Canvas.cpp is updated to use cgraph functions Also, wscript now replaces 'graph' with 'cgraph' in linker flags after autoconfiguring gvc library. Patch attached with submission follows: Index: Makefile =================================================================== --- Makefile (revision 314352) +++ Makefile (working copy) @@ -10,8 +10,6 @@ MAINTAINER= ports@FreeBSD.org COMMENT= An interactive Gtkmm/Gnomecanvasmm widget -BROKEN= Does not build with recent graphviz - LICENSE= GPLv2 GPLv3 LICENSE_COMB= dual Index: files/patch-src_Canvas.cpp =================================================================== --- files/patch-src_Canvas.cpp (revision 0) +++ files/patch-src_Canvas.cpp (working copy) @@ -0,0 +1,46 @@ +--- 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(*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); + } + } + Index: files/patch-wscript =================================================================== --- files/patch-wscript (revision 0) +++ files/patch-wscript (working copy) @@ -0,0 +1,10 @@ +--- 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', >Release-Note: >Audit-Trail: >Unformatted: