This is an automated email from the git hooks/post-receive script. dom pushed a commit to branch master in repository libgraphviz-perl.
commit 75d36c9a9911532b2eee126869c7b81ceb62d7e4 Author: Dominic Hargreaves <[email protected]> Date: Mon Apr 2 22:28:41 2012 +0100 Imported Upstream version 2.10 --- Build.PL | 46 ++++++ CHANGES | 65 ++++++-- Changelog.ini | 325 +++++++++++++++++++++++++++++++++++++++ MANIFEST | 16 +- META.json | 98 ++++++++++++ META.yml | 80 ++++++++-- Makefile.PL | 80 +++++----- README | 8 +- examples/clusters2.pl | 5 +- examples/remote.pl | 21 --- lib/Devel/GraphVizProf.pm | 4 +- lib/GraphViz.pm | 79 ++++++++-- lib/GraphViz/Data/Grapher.pm | 3 +- lib/GraphViz/No.pm | 5 +- lib/GraphViz/Parse/RecDescent.pm | 3 +- lib/GraphViz/Parse/Yacc.pm | 3 +- lib/GraphViz/Parse/Yapp.pm | 3 +- lib/GraphViz/Regex.pm | 5 +- lib/GraphViz/Small.pm | 5 +- lib/GraphViz/XML.pm | 3 +- t/simple.t | 2 +- 21 files changed, 719 insertions(+), 140 deletions(-) diff --git a/Build.PL b/Build.PL new file mode 100644 index 0000000..4367d93 --- /dev/null +++ b/Build.PL @@ -0,0 +1,46 @@ +use Module::Build; + +if (open my $fh, '|dot', ) +{ + close $fh; +} +else +{ + die "Please install Graphviz from http://www.graphviz.org/.\n"; +} + +Module::Build -> new +( + module_name => 'GraphViz', + license => 'perl', + dist_abstract => "Interface to AT&T's GraphViz. Deprecated. See GraphViz2", + dist_author => 'Leon Brocard <[email protected]>', + build_requires => + { + Test::More => 0.47, + Test::Pod => 1.44, + }, + configure_requires => + { + Module::Build => 0.3800, + }, + requires => + { + Carp => 1.01, + Config => 0, + File::Which => 1.09, + Getopt::Long => 2.34, + IO::Dir => 1.04, + IO::File => 1.10, + IPC::Run => 0.6, + LWP::Simple => 6.00, + Parse::RecDescent => 1.965001, + Pod::Usage => 1.16, + strict => 1.03, + Time::HiRes => 1.51, + vars => 1.01, + warnings => 1.03, + XML::Twig => 3.38, + XML::XPath => 1.13, + }, +) -> create_build_script(); diff --git a/CHANGES b/CHANGES index 859a45c..8ea9d3b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,44 @@ Revision history for Perl module GraphViz. +2.10 Mon Mar 26 10:11:00 2012 + - Accept a patch kindly supplied by Alexander Kriegisch, to change handling of the rankdir attribute. + The valid values are BT, LR, RL or TB, or their lower-case equivalents. + Previously, only a true value was accepted, which meant LR. Now, any value not in that list defaults to LR. + Files changed: README, CHANGES, Changelog.ini, GraphViz.pm, GraphViz/Regex.pm and simple.t. + - Patch this file to replace BST with GMT, since both DateTime::Format::HTTP and DateTime::Format::Strptime + fail to recognize BST. + These modules are used by Module::Metadata::Changes to transform this file into Changelog.ini. + +2.09 Thu Dec 15 11:08:00 2011 + - Adopt Flavio Poletti's suggestion of trying to pipe to dot, in Build.PL/Makefile.PL, rather than using File::Which, + to see if dot (Graphviz) is installed. This (hopefully) solves the problem of using File::Which on systems where it is + not installed, before Build.PL/Makefile.PL has a chance to tell the user that File::Which is required. See: RT#73077. + +2.08 Tue Nov 1 10:55:00 2011 + - Wind back pre-reqs for various modules to match what was shipped with Perl V 5.8.1. + Many thanx to Brian Cassidy for the error report: https://rt.cpan.org/Ticket/Display.html?id=72068. + +2.07 Sun Oct 30 16:08:00 2011 + - Rewrite Build.PL and Makefile.PL to try loading File::Which rather than assuming it is installed. + This avoids the chicken-and-egg problem whereby these 2 programs need File::Which::which to find 'dot'. + Many thanx to Richard Clamp for the error report: https://rt.cpan.org/Public/Bug/Display.html?id=71971. + +2.06 Tue Oct 25 08:09:00 2011 + - Add File::Which to the pre-reqs in Build.PL and Makefile.PL. + +2.05 Thu Oct 20 10:52:00 2011 + - Add 'Deprecated. See GraphViz2' to the docs. + - Add Build.PL. + - Add ability to set ORIENTATION. Thanx to Christian Lackas for the patch. See RT#71787. + - Add Changelog.ini. + - Add META.json, MYMETA.json and MYMETA.yml. + - Add MANIFEST.SKIP. + - Ensure all modules contain a version number. + - Update the docs regarding the list of modules shipped in this distro. + - Remove examples/remote.pl because GraphViz::Remote is no longer shipped. + - Clean up examples/clusters2.pl. + - Clean up Makefile.PL. + 2.04 Fri Dec 12 21:31:24 GMT 2008 - perltidy everything - add human- and machine-readable license @@ -15,15 +54,15 @@ Revision history for Perl module GraphViz. to the dot language (by Max Baker) - new test which tests the POD -2.01 Fri Sep 24 17:02:29 BST 2004 - - no longer *always* quote the label in add_node() in order to +2.01 Fri Sep 24 17:02:29 GMT 2004 + - no longer *always* quote the label in add_node() in order to let GraphViz::Data::Structure work again (sorry) -2.00 Wed Aug 25 16:30:53 BST 2004 +2.00 Wed Aug 25 16:30:53 GMT 2004 - thanks to Ron Savage, patched to work under systems which have an executable extension, such as Windows -1.9 Tue Aug 24 15:30:31 BST 2004 +1.9 Tue Aug 24 15:30:31 GMT 2004 - check for "dot" in the Makefile.PL instead of a test, as suggested by Autrijus Tang - renamed Changes to CHANGES @@ -56,7 +95,7 @@ Revision history for Perl module GraphViz. work under Win32! - this is the Flight 63 edition -1.4 Wed Oct 3 07:57:42 BST 2001 +1.4 Wed Oct 3 07:57:42 GMT 2001 - added new filehandle, scalar reference, and code reference scheme to as_* to allow streaming of data, rather than accumulating potentially very large output in memory (based @@ -64,7 +103,7 @@ Revision history for Perl module GraphViz. - new pagewidth and pageheight graph attributes for creating PostScript mosaics of large graphs (idea by Nelson Loyola) -1.3 Sun Aug 19 15:43:02 BST 2001 +1.3 Sun Aug 19 15:43:02 GMT 2001 - labels can now contain quotes - fixed bug: labels can now start with a number - fixed bug in Devel::GraphVizProf so that packages @@ -77,12 +116,12 @@ Revision history for Perl module GraphViz. - make empty cluster names do nothing (patch by Barrie Slaymaker) -1.2 Fri Aug 10 18:54:21 BST 2001 +1.2 Fri Aug 10 18:54:21 GMT 2001 - removed the images in the examples directory and added a file (make_all.pl) to, errr, make all the images - This is the HAL2001 edition -1.1 Tue Jul 24 23:54:42 BST 2001 +1.1 Tue Jul 24 23:54:42 GMT 2001 - added extra parameter to as_* to allow easy saving of images: $graph->as_png("pretty.png") - added new GraphViz::Parse::Yapp module to visualise @@ -91,7 +130,7 @@ Revision history for Perl module GraphViz. Parse::Yacc grammars - This is the TPC5 edition -1.00 Thu Jun 14 15:10:28 BST 2001 +1.00 Thu Jun 14 15:10:28 GMT 2001 - finally released as version 1.00! - added a reference to brian d foy's DDJ article on Devel::GraphVizProf @@ -101,7 +140,7 @@ Revision history for Perl module GraphViz. which makes graphs just work better. Not documented, do you want it to be? -0.14 Thu May 3 17:57:57 BST 2001 +0.14 Thu May 3 17:57:57 GMT 2001 - added support for InterpLit node in RecDescent grammars - added cumulative effect for node attributes (patch by Diego Zamboni) @@ -135,7 +174,7 @@ Revision history for Perl module GraphViz. a regular expression - now an award-winning module! -0.12 +0.12 Tue Mar 6 17:37:21 GMT 2001 - fixed bug in redcarpet.pl example - new rankdir graph attribute, which controls the direction the nodes are linked together (patch by Mark Fowler) @@ -163,7 +202,7 @@ Revision history for Perl module GraphViz. tarball dependencies using ActiveState's package list (thanks to Brian Ingerson too ;-) - new, better, testsuite - - better quoting (especially in ports) to allow a greater range + - better quoting (especially in ports) to allow a greater range of characters - new undocumented (it may change) as_graph method, which returns a graph object with the coordinates of nodes and edges @@ -185,7 +224,7 @@ Revision history for Perl module GraphViz. including quite a few PNGs 0.06 Thu Aug 24 09:33:21 2000 - - better quoting of nodes and edges (they can now have + - better quoting of nodes and edges (they can now have really wierd names) - new examples directory with xref.pl: "graphing subroutine cross-reference reports for Perl modules" and example graph to diff --git a/Changelog.ini b/Changelog.ini new file mode 100644 index 0000000..d3554c8 --- /dev/null +++ b/Changelog.ini @@ -0,0 +1,325 @@ +[Module] +Name=GraphViz +Changelog.Creator=Module::Metadata::Changes V 2.03 +Changelog.Parser=Config::IniFiles V 2.68 + +[V 2.10] +Date=2012-03-26T10:11:00 +Comments= <<EOT +- Accept a patch kindly supplied by Alexander Kriegisch, to change handling of the rankdir attribute. +The valid values are BT, LR, RL or TB, or their lower-case equivalents. +Previously, only a true value was accepted, which meant LR. Now, any value not in that list defaults to LR. +Files changed: README, CHANGES, Changelog.ini, GraphViz.pm, GraphViz/Regex.pm and simple.t. +- Patch this file to replace BST with GMT, since both DateTime::Format::HTTP and DateTime::Format::Strptime +fail to recognize BST. +These modules are used by Module::Metadata::Changes to transform this file into Changelog.ini. +EOT + +[V 2.09] +Date=2011-12-15T11:08:00 +Comments= <<EOT +- Adopt Flavio Poletti's suggestion of trying to pipe to dot, in Build.PL/Makefile.PL, rather than using File::Which, +to see if dot (Graphviz) is installed. This (hopefully) solves the problem of using File::Which on systems where it is +not installed, before Build.PL/Makefile.PL has a chance to tell the user that File::Which is required. See: RT#73077. +EOT + +[V 2.08] +Date=2011-11-01T10:55:00 +Comments= <<EOT +- Wind back pre-reqs for various modules to match what was shipped with Perl V 5.8.1. +Many thanx to Brian Cassidy for the error report: https://rt.cpan.org/Ticket/Display.html?id=72068. +EOT + +[V 2.07] +Date=2011-10-30T16:08:00 +Comments= <<EOT +- Rewrite Build.PL and Makefile.PL to try loading File::Which rather than assuming it is installed. +This avoids the chicken-and-egg problem whereby these 2 programs need File::Which::which to find 'dot'. +Many thanx to Richard Clamp for the error report: https://rt.cpan.org/Public/Bug/Display.html?id=71971. +EOT + +[V 2.06] +Date=2011-10-25T08:09:00 +Comments=- Add File::Which to the pre-reqs in Build.PL and Makefile.PL. + +[V 2.05] +Date=2011-10-20T10:52:00 +Comments= <<EOT +- Add 'Deprecated. See GraphViz2' to the docs. +- Add Build.PL. +- Add ability to set ORIENTATION. Thanx to Christian Lackas for the patch. See RT#71787. +- Add Changelog.ini. +- Add META.json, MYMETA.json and MYMETA.yml. +- Add MANIFEST.SKIP. +- Ensure all modules contain a version number. +- Update the docs regarding the list of modules shipped in this distro. +- Remove examples/remote.pl because GraphViz::Remote is no longer shipped. +- Clean up examples/clusters2.pl. +- Clean up Makefile.PL. +EOT + +[V 2.04] +Date=2008-12-12T21:31:24 +Comments= <<EOT +- perltidy everything +- add human- and machine-readable license +- add use warnings +EOT + +[V 2.03] +Date=2007-11-18T14:40:20 +Comments=- make the graph name configurable (patch by Ruslan Zakirov) + +[V 2.02] +Date=2005-01-07T18:51:06 +Comments= <<EOT +- remove dependencies on Graph and Math::Bezier +- make GraphViz HTML-Like labels work (spotted by Patrice Dehais) +- updated (including much documentation) to support newer additions +to the dot language (by Max Baker) +- new test which tests the POD +EOT + +[V 2.01] +Date=2004-09-24T17:02:29 +Comments= <<EOT +- no longer *always* quote the label in add_node() in order to +let GraphViz::Data::Structure work again (sorry) +EOT + +[V 2.00] +Date=2004-08-25T16:30:53 +Comments= <<EOT +- thanks to Ron Savage, patched to work under systems +which have an executable extension, such as Windows +EOT + +[V 1.9] +Date=2004-08-24T15:30:31 +Comments= <<EOT +- check for "dot" in the Makefile.PL instead of a test, as +suggested by Autrijus Tang +- renamed Changes to CHANGES +- clusters can now take attributes as a hashref, thanks to +patch from Richard A.Wells (see clusters2.pl) +- fix docbug in GraphViz::Parse::Yapp (spotted by Mark Fowler) +- better quoting (patch by Barrie Slaymaker) +- document as_debug (suggested by Richard Clamp) +EOT + +[V 1.8] +Date=2003-02-23T09:15:14 +Comments=- support for client-side image maps by Dan Boorstein + +[V 1.7] +Date=2003-01-19T21:55:14 +Comments=- quote bgcolor so that HSV works + +[V 1.6] +Date=2003-01-18T15:47:26 +Comments= <<EOT +- moved tests to Test::More +- new test which checks if graphviz is installed +- new 'layout' graph attribute to support twopi - you +may have to change your programs! +- new bgcolor graph attribute (idea by Scott Murman) +- labels named "graph" now work +EOT + +[V 1.5] +Date=2002-01-13T16:59:14 +Comments= <<EOT +- updated code reference docs slightly +- removed GraphViz::Remote as it was no longer working +- new no_overlap graph attribute which tells the graph solver +to not overlap the nodes (idea by Chris Ball) +- added patches by Barrie Slaymaker to make GraphViz +work under Win32! +- this is the Flight 63 edition +EOT + +[V 1.4] +Date=2001-10-03T07:57:42 +Comments= <<EOT +- added new filehandle, scalar reference, and code reference +scheme to as_* to allow streaming of data, rather than +accumulating potentially very large output in memory (based +on patch by Dave Rolsky) +- new pagewidth and pageheight graph attributes for creating +PostScript mosaics of large graphs (idea by Nelson Loyola) +EOT + +[V 1.3] +Date=2001-08-19T15:43:02 +Comments= <<EOT +- labels can now contain quotes +- fixed bug: labels can now start with a number +- fixed bug in Devel::GraphVizProf so that packages +are now grouped seperately (lines with the same text used to +be grouped together) +- fixed undefined warning in GraphViz::Parse::RecDescent +- increased coverage of tests +- new 'rank' node attribute allows nodes to be ranked +at the same level +- make empty cluster names do nothing (patch by Barrie +Slaymaker) +EOT + +[V 1.2] +Date=2001-08-10T18:54:21 +Comments= <<EOT +- removed the images in the examples directory and added +a file (make_all.pl) to, errr, make all the images +- This is the HAL2001 edition +EOT + +[V 1.1] +Date=2001-07-24T23:54:42 +Comments= <<EOT +- added extra parameter to as_* to allow easy saving of +images: $graph->as_png("pretty.png") +- added new GraphViz::Parse::Yapp module to visualise +Parse::Yapp grammars +- added new GraphViz::Parse::Yacc module to visualise +Parse::Yacc grammars +- This is the TPC5 edition +EOT + +[V 1.00] +Date=2001-06-14T15:10:28 +Comments= <<EOT +- finally released as version 1.00! +- added a reference to brian d foy's DDJ article on +Devel::GraphVizProf +- put the entire Perl regular expression test suite through +GraphViz::Regex and fixed all the bugs +- no longer sort nodes by default (idea by Stephen Riehm), +which makes graphs just work better. Not documented, do +you want it to be? +EOT + +[V 0.14] +Date=2001-05-03T17:57:57 +Comments= <<EOT +- added support for InterpLit node in RecDescent grammars +- added cumulative effect for node attributes (patch by Diego +Zamboni) +- changed the quoting rules again to make it easier to read +the dot files (idea by Diego Zamboni) +- make add_edge() automatically add any nodes specified for +the edge that have not been previously added to stop the +Graph module complaining (patch by Diego Zamboni) +- new 'node', 'edge', and 'graph' graph attributes to specify +global node, edge, and graph attributes (patch by Diego +Zamboni) +- removed t/regex.t and documented that GraphViz::Regex may +not work on various perls +- added GraphViz::Regex_YAPE module, another way to graph +a regular expression +EOT + +[V 0.13] +Date=2001-03-19T19:31:18 +Comments= <<EOT +- removed 'use warnings' as suggested by David Adler so we +no longer require Perl 5.6 +- moved all modules into a new 'lib' directory (and updated +examples) so that Devel::GraphVizProf gets installed +- new 'concentrate' graph attribute to merge edges in +cluttered directed graphs +- new 'random_start' graph attribute, which requests an +initial random placement for the graph +- new 'epsilon' graph attribute, which decides how long the +graph solver tries before finding a graph layout, requested +by Pierre-Yves Genot +- an empty cluster now means not clustered +- added GraphViz::Regex and example regexp.pl which visualises +a regular expression +- now an award-winning module! +EOT + +[V 0.12] +Date=2001-03-06T17:37:21 +Comments= <<EOT +- fixed bug in redcarpet.pl example +- new rankdir graph attribute, which controls the direction +the nodes are linked together (patch by Mark Fowler) +- new 'width' and 'height' graph attributes control the size +of the bounding box of the drawing in inches, requested by +Pierre-Yves Genot +EOT + +[V 0.11] +Date=2001-03-06T17:37:20 +Comments= <<EOT +- rearranged module naming: Data::GraphViz -> +GraphViz::Data::Dumper, Parse::RecDescent::GraphViz -> +GraphViz::Parse::RecDescent, XML::GraphViz -> GraphViz::XML, +- added GraphViz::Remote so that you do not need to install +the graphviz tools to use this module +EOT + +[V 0.10] +Date=2001-03-05T17:32:14 +Comments= <<EOT +- now allow simple add_edge({$from => $to}) syntax +(idea by DJ Adams and Brian Ingerson) +- much better documentation (especially on attributes) +- new module Parse::RecDescent::GraphViz (and example) for +graphing Parse::RecDescent grammars (idea by Damian Conway) +- new module XML::GraphViz (and example) for graphing XML +- new module Data::GraphViz (and example) for graphing data +structures +- new example ppmgraph.pl by Marcel Grunauer which graphs CPAN +tarball dependencies using ActiveState's package list (thanks +to Brian Ingerson too ;-) +- new, better, testsuite +- better quoting (especially in ports) to allow a greater range +of characters +- new undocumented (it may change) as_graph method, which +returns a graph object with the coordinates of nodes and edges +EOT + +[V 0.09] +Date=2001-01-12T15:50:17 +Comments= <<EOT +- moved back to "dot" and "neato" from "dotneato" +- now allow directed and undirected graphs +- added GraphViz::No and GraphViz::Small subclasses +which aid in visualising the structure of large +graphs +EOT + +[V 0.08] +Date=2000-12-03T15:15:29 +Comments=- minor patch to cope with DESTROY + +[V 0.07] +Date=2000-10-01T15:19:55 +Comments= <<EOT +- new features: allows clusters and ports +- includes the talk I gave on this at yapc::Europe 19100 +- many more examples (well, see the examples directory!), +including quite a few PNGs +EOT + +[V 0.06] +Date=2000-08-24T09:33:21 +Comments= <<EOT +- better quoting of nodes and edges (they can now have +really wierd names) +- new examples directory with xref.pl: "graphing subroutine +cross-reference reports for Perl modules" and example graph to +see what kind of things it can do +EOT + +[V 0.05] +Date=2000-08-18T13:12:25 +Comments= <<EOT +- now use dotneato to layout the graphs and can now ouput in a +variety of file formats +EOT + +[V 0.04] +Date=2000-08-09T16:14:35 +Comments=- first released version diff --git a/MANIFEST b/MANIFEST index fa6ec58..6fef435 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,9 +1,6 @@ +Build.PL +Changelog.ini CHANGES -MANIFEST -Makefile.PL -README -examples/README -examples/Yapp.output examples/clusters.pl examples/clusters2.pl examples/directories.pl @@ -16,10 +13,10 @@ examples/ppmgraph.pl examples/primes.pl examples/primes_aux.pl examples/rank.pl +examples/README examples/recdescent.pl examples/redcarpet.pl examples/regex.pl -examples/remote.pl examples/simple.pl examples/text.pl examples/tmon.out @@ -28,6 +25,7 @@ examples/xml.pl examples/xref.pl examples/xref_aux.pl examples/yacc.pl +examples/Yapp.output examples/yapp.pl lib/Devel/GraphVizProf.pm lib/GraphViz.pm @@ -39,8 +37,12 @@ lib/GraphViz/Parse/Yapp.pm lib/GraphViz/Regex.pm lib/GraphViz/Small.pm lib/GraphViz/XML.pm +Makefile.PL +MANIFEST This list of files +META.json +META.yml +README t/dumper.t t/foo.t t/pod.t t/simple.t -META.yml Module meta-data (added by MakeMaker) diff --git a/META.json b/META.json new file mode 100644 index 0000000..687cd94 --- /dev/null +++ b/META.json @@ -0,0 +1,98 @@ +{ + "abstract" : "Interface to AT&T's GraphViz. Deprecated. See GraphViz2", + "author" : [ + "Leon Brocard <[email protected]>" + ], + "dynamic_config" : 1, + "generated_by" : "Module::Build version 0.4, CPAN::Meta::Converter version 2.120630", + "license" : [ + "perl_5" + ], + "meta-spec" : { + "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", + "version" : "2" + }, + "name" : "GraphViz", + "prereqs" : { + "build" : { + "requires" : { + "Test::More" : "0.47", + "Test::Pod" : "1.44" + } + }, + "configure" : { + "requires" : { + "Module::Build" : "0.38" + } + }, + "runtime" : { + "requires" : { + "Carp" : "1.01", + "Config" : "0", + "File::Which" : "1.09", + "Getopt::Long" : "2.34", + "IO::Dir" : "1.04", + "IO::File" : "1.1", + "IPC::Run" : "0.6", + "LWP::Simple" : "6", + "Parse::RecDescent" : "1.965001", + "Pod::Usage" : "1.16", + "Time::HiRes" : "1.51", + "XML::Twig" : "3.38", + "XML::XPath" : "1.13", + "strict" : "1.03", + "vars" : "1.01", + "warnings" : "1.03" + } + } + }, + "provides" : { + "Devel::GraphVizProf" : { + "file" : "lib/Devel/GraphVizProf.pm", + "version" : "2.10" + }, + "GraphViz" : { + "file" : "lib/GraphViz.pm", + "version" : "2.10" + }, + "GraphViz::Data::Grapher" : { + "file" : "lib/GraphViz/Data/Grapher.pm", + "version" : "2.10" + }, + "GraphViz::No" : { + "file" : "lib/GraphViz/No.pm", + "version" : "2.10" + }, + "GraphViz::Parse::RecDescent" : { + "file" : "lib/GraphViz/Parse/RecDescent.pm", + "version" : "2.10" + }, + "GraphViz::Parse::Yacc" : { + "file" : "lib/GraphViz/Parse/Yacc.pm", + "version" : "2.10" + }, + "GraphViz::Parse::Yapp" : { + "file" : "lib/GraphViz/Parse/Yapp.pm", + "version" : "2.10" + }, + "GraphViz::Regex" : { + "file" : "lib/GraphViz/Regex.pm", + "version" : "2.10" + }, + "GraphViz::Small" : { + "file" : "lib/GraphViz/Small.pm", + "version" : "2.10" + }, + "GraphViz::XML" : { + "file" : "lib/GraphViz/XML.pm", + "version" : "2.10" + } + }, + "release_status" : "stable", + "resources" : { + "license" : [ + "http://dev.perl.org/licenses/" + ] + }, + "version" : "2.10" +} diff --git a/META.yml b/META.yml index 0e826fd..c833db5 100644 --- a/META.yml +++ b/META.yml @@ -1,15 +1,67 @@ ---- #YAML:1.0 -name: GraphViz -version: 2.04 -abstract: Interface to the GraphViz graphing tool -license: perl -author: - - Leon Brocard <[email protected]> -generated_by: ExtUtils::MakeMaker version 6.44 -distribution_type: module -requires: - IPC::Run: 0.6 - Test::More: 0 +--- +abstract: "Interface to AT&T's GraphViz. Deprecated. See GraphViz2" +author: + - 'Leon Brocard <[email protected]>' +build_requires: + Test::More: 0.47 + Test::Pod: 1.44 +configure_requires: + Module::Build: 0.38 +dynamic_config: 1 +generated_by: 'Module::Build version 0.4, CPAN::Meta::Converter version 2.120630' +license: perl meta-spec: - url: http://module-build.sourceforge.net/META-spec-v1.3.html - version: 1.3 + url: http://module-build.sourceforge.net/META-spec-v1.4.html + version: 1.4 +name: GraphViz +provides: + Devel::GraphVizProf: + file: lib/Devel/GraphVizProf.pm + version: 2.10 + GraphViz: + file: lib/GraphViz.pm + version: 2.10 + GraphViz::Data::Grapher: + file: lib/GraphViz/Data/Grapher.pm + version: 2.10 + GraphViz::No: + file: lib/GraphViz/No.pm + version: 2.10 + GraphViz::Parse::RecDescent: + file: lib/GraphViz/Parse/RecDescent.pm + version: 2.10 + GraphViz::Parse::Yacc: + file: lib/GraphViz/Parse/Yacc.pm + version: 2.10 + GraphViz::Parse::Yapp: + file: lib/GraphViz/Parse/Yapp.pm + version: 2.10 + GraphViz::Regex: + file: lib/GraphViz/Regex.pm + version: 2.10 + GraphViz::Small: + file: lib/GraphViz/Small.pm + version: 2.10 + GraphViz::XML: + file: lib/GraphViz/XML.pm + version: 2.10 +requires: + Carp: 1.01 + Config: 0 + File::Which: 1.09 + Getopt::Long: 2.34 + IO::Dir: 1.04 + IO::File: 1.1 + IPC::Run: 0.6 + LWP::Simple: 6 + Parse::RecDescent: 1.965001 + Pod::Usage: 1.16 + Time::HiRes: 1.51 + XML::Twig: 3.38 + XML::XPath: 1.13 + strict: 1.03 + vars: 1.01 + warnings: 1.03 +resources: + license: http://dev.perl.org/licenses/ +version: 2.10 diff --git a/Makefile.PL b/Makefile.PL index b4615cc..7b82446 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,45 +1,47 @@ -#!perl -use strict; -use warnings; use Config; -use ExtUtils::MakeMaker; -use File::Spec::Functions; -print "Looking for dot... "; -my $found = find("dot"); +use ExtUtils::MakeMaker; -if ($found) { - print "found it at $found\n"; -} else { - print "didn't find it\n"; - die "**************************************************************** -GraphViz.pm has not been able to find the graphviz program 'dot' -GraphViz.pm needs graphviz to function -Please install graphviz first: http://www.graphviz.org/ -****************************************************************\n"; +if (open my $fh, '|dot', ) +{ + close $fh; +} +else +{ + die "Please install Graphviz from http://www.graphviz.org/.\n"; } -WriteMakefile( - 'NAME' => 'GraphViz', - 'VERSION_FROM' => 'lib/GraphViz.pm', - 'LICENSE' => 'perl', - 'AUTHOR' => 'Leon Brocard <[email protected]>', - 'ABSTRACT' => 'Interface to the GraphViz graphing tool', - 'PREREQ_PM' => { - 'IPC::Run' => 0.6, - 'Test::More' => 0, - }, - 'dist' => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, +WriteMakefile +( + NAME => 'GraphViz', + VERSION_FROM => 'lib/GraphViz.pm', + LICENSE => 'perl', + AUTHOR => 'Leon Brocard <[email protected]>', + ABSTRACT => "Interface to AT&T's GraphViz. Deprecated. See GraphViz2", + PREREQ_PM => + { + Carp => 1.01, + Config => 0, + File::Which => 1.09, + Getopt::Long => 2.34, + IO::Dir => 1.04, + IO::File => 1.10, + IPC::Run => 0.6, + LWP::Simple => 6.00, + Parse::RecDescent => 1.965001, + Pod::Usage => 1.16, + strict => 1.03, + Test::More => 0.47, + Test::Pod => 1.44, + Time::HiRes => 1.51, + vars => 1.01, + warnings => 1.03, + XML::Twig => 3.38, + XML::XPath => 1.13, + }, + dist => + { + COMPRESS => 'gzip -9f', + SUFFIX => 'gz', + }, ); - -sub find { - my $binary = shift; - my $path = join ', ', @ENV{PATH}; - my $path_sep = $Config{path_sep}; - my $exe_ext = $Config{exe_ext}; - foreach my $dir ( split $path_sep, @ENV{PATH} ) { - my $filename = catfile( $dir, $binary ); - return $filename if -x "$filename$exe_ext"; - } - return 0; -} diff --git a/README b/README index ba2314d..a04b479 100644 --- a/README +++ b/README @@ -95,7 +95,7 @@ METHODS my $g = GraphViz->new(); my $g = GraphViz->new(directed => 0); my $g = GraphViz->new(layout => 'neato', ratio => 'compress'); - my $g = GraphViz->new(rankdir => 1); + my $g = GraphViz->new(rankdir => 'BT'); my $g = GraphViz->new(width => 8.5, height => 11); my $g = GraphViz->new(width => 30, height => 20, pagewidth => 8.5, pageheight => 11); @@ -125,9 +125,9 @@ METHODS undirected graphs (edges do not have arrows). rankdir - Another attribute 'rankdir' controls the direction the nodes are - linked together. If true it will do left->right linking rather than - the default up-down linking. + Another attribute 'rankdir' controls the direction in which the nodes are linked + together. The default is 'TB' (arrows from top to bottom). Other legal values + are 'BT' (bottom->top), 'LR' (left->right) and 'RL' (right->left). width, height The 'width' and 'height' attributes control the size of the bounding diff --git a/examples/clusters2.pl b/examples/clusters2.pl index 7ca90e6..4a8af15 100644 --- a/examples/clusters2.pl +++ b/examples/clusters2.pl @@ -1,6 +1,7 @@ -# perl -w +#!perl -w -use strict; use lib '.'; +use strict; +use lib '.'; use GraphViz; my $g = GraphViz->new(); diff --git a/examples/remote.pl b/examples/remote.pl deleted file mode 100755 index 2b21cb5..0000000 --- a/examples/remote.pl +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/perl -w -# -# A dead simple example - -use strict; -use lib '../lib'; -use GraphViz::Remote; - -my $g = GraphViz::Remote->new(); - -$g->add_node('London'); -$g->add_node('Paris', label => 'City of\nlurve'); -$g->add_node('New York'); - -$g->add_edge('London' => 'Paris'); -$g->add_edge('London' => 'New York', label => 'Far'); -$g->add_edge('Paris' => 'London'); - -$g->as_png("remote.png"); - -print $g->as_png(); diff --git a/lib/Devel/GraphVizProf.pm b/lib/Devel/GraphVizProf.pm index dd6e489..41b9a91 100644 --- a/lib/Devel/GraphVizProf.pm +++ b/lib/Devel/GraphVizProf.pm @@ -1,11 +1,9 @@ package Devel::GraphVizProf; # To help the CPAN indexer to identify us -$Devel::GraphVizProf::VERSION = '0.8'; +our $VERSION = '2.10'; package DB; -require 5.000; - use Time::HiRes 'time'; use strict; diff --git a/lib/GraphViz.pm b/lib/GraphViz.pm index 549c1fd..1d70d5c 100644 --- a/lib/GraphViz.pm +++ b/lib/GraphViz.pm @@ -8,12 +8,11 @@ use Carp; use Config; use IPC::Run qw(run binary); -# This is incremented every time there is a change to the API -$VERSION = '2.04'; +our $VERSION = '2.10'; =head1 NAME -GraphViz - Interface to the GraphViz graphing tool +GraphViz - Interface to AT&T's GraphViz. Deprecated. See GraphViz2 =head1 SYNOPSIS @@ -39,6 +38,32 @@ and undirected graphs in a variety of formats (PostScript, PNG, etc.) using the "dot", "neato", "twopi", "circo" and "fdp" programs from the GraphViz project (http://www.graphviz.org/ or http://www.research.att.com/sw/tools/graphviz/). +GraphViz is deprecated in favour of L<GraphViz2>. + +=head2 Modules in this distro + +=over 4 + +=item o GraphViz + +=item o GraphViz::No + +=item o GraphViz::Small + +=item o GraphViz::Regex + +=item o GraphViz::XML + +=item o GraphViz::Data::Grapher + +=item o GraphViz::Parse::RecDescent + +=item o GraphViz::Parse::Yacc + +=item o GraphViz::Parse::Yapp + +=back + =head2 What is a graph? A (undirected) graph is a collection of nodes linked together with @@ -122,7 +147,7 @@ This is the constructor. It accepts several attributes. my $g = GraphViz->new(); my $g = GraphViz->new(directed => 0); my $g = GraphViz->new(layout => 'neato', ratio => 'compress'); - my $g = GraphViz->new(rankdir => 1); + my $g = GraphViz->new(rankdir => 'BT'); my $g = GraphViz->new(width => 8.5, height => 11); my $g = GraphViz->new(width => 30, height => 20, pagewidth => 8.5, pageheight => 11); @@ -134,7 +159,7 @@ The most two important attributes are 'layout' and 'directed'. =item layout The 'layout' attribute determines which layout algorithm GraphViz.pm will -use. Possible values are: +use. Possible values are: =over @@ -168,9 +193,9 @@ undirected graphs (edges do not have arrows). =item rankdir -Another attribute 'rankdir' controls the direction the nodes are linked -together. If true it will do left->right linking rather than the -default up-down linking. +Another attribute 'rankdir' controls the direction in which the nodes are linked +together. The default is 'TB' (arrows from top to bottom). Other legal values +are 'BT' (bottom->top), 'LR' (left->right) and 'RL' (right->left). =item width, height @@ -187,13 +212,16 @@ page then the resulting PostScript image is a sequence of pages that can be tiled or assembled into a mosaic of the full image. (This only works for PostScript output). - =item concentrate The 'concentrate' attribute controls enables an edge merging technique to reduce clutter in dense layouts of directed graphs. The default is not to merge edges. +=item orientation + +This option controls the angle, in degrees, used to rotate polygon node shapes. + =item random_start For undirected graphs, the 'random_start' attribute requests an @@ -220,13 +248,13 @@ Determines if and how node overlaps should be removed. =item true -(the default) overlaps are retained. +(the default) overlaps are retained. =item scale -overlaps are removed by uniformly scaling in x and y. +overlaps are removed by uniformly scaling in x and y. -=item false +=item false If the value converts to "false", node overlaps are removed by a Voronoi-based technique. @@ -241,7 +269,7 @@ constraint problems, one for the x axis and one for the y. The suffix indicates which axis is processed first. B<NOTE>: The methods related to "orthoxy" and "orthoyx" are still evolving. The -semantics of these may change, or these methods may disappear altogether. +semantics of these may change, or these methods may disappear altogether. =item compress @@ -303,7 +331,7 @@ If ratio = C<auto> the page attribute is set and the graph cannot be drawn on a single page, then size is set to an ``ideal'' value. In particular, the size in a given dimension will be the smallest integral multiple of the page size in that dimension which is at least half the current size. The two dimensions are -then scaled independently to the new size. This feature only works in dot. +then scaled independently to the new size. This feature only works in dot. =back @@ -386,6 +414,9 @@ sub new { $self->{CONCENTRATE} = $config->{concentrate} if ( exists $config->{concentrate} ); + $self->{ORIENTATION} = $config->{orientation} + if ( exists $config->{orientation} ); + $self->{RANDOM_START} = $config->{random_start} if ( exists $config->{random_start} ); @@ -1016,7 +1047,12 @@ sub _as_debug { $dot .= $graph_type . " " . $self->{NAME} . " {\n"; # the direction of the graph - $dot .= "\trankdir=LR;\n" if $self->{RANK_DIR}; + if ($self->{RANK_DIR}) { + $self->{RANK_DIR} = uc $self->{RANK_DIR}; + my(%valid) = (BT => 1, LR => 1, RL => 1, TB => 1); + $self->{RANK_DIR} = 'LR' if (! $valid{$self->{RANK_DIR} }); + $dot .= "\trankdir=" . $self->{RANK_DIR} . ";\n"; + } # the size of the graph $dot .= "\tsize=\"" . $self->{WIDTH} . "," . $self->{HEIGHT} . "\";\n" @@ -1033,6 +1069,9 @@ sub _as_debug { # edge merging $dot .= "\tconcentrate=true;\n" if $self->{CONCENTRATE}; + # Orientation + $dot .= "\torientation=$self->{ORIENTATION};\n" if $self->{ORIENTATION}; + # epsilon $dot .= "\tepsilon=" . $self->{EPSILON} . ";\n" if $self->{EPSILON}; @@ -1264,11 +1303,17 @@ syntax, please. =head1 SEE ALSO -GraphViz::XML, GraphViz::Regex +GraphViz is deprecated in favour of L<GraphViz2>. + +=head1 Machine-Readable Change Log + +The file CHANGES was converted into Changelog.ini by L<Module::Metadata::Changes>. =head1 AUTHOR -Leon Brocard E<lt>F<[email protected]>E<gt> +Leon Brocard: E<lt>F<[email protected]>E<gt>. + +Current maintainer: Ron Savage I<E<lt>[email protected]<gt>>. =head1 COPYRIGHT diff --git a/lib/GraphViz/Data/Grapher.pm b/lib/GraphViz/Data/Grapher.pm index 01724f6..1acf2bc 100755 --- a/lib/GraphViz/Data/Grapher.pm +++ b/lib/GraphViz/Data/Grapher.pm @@ -8,8 +8,7 @@ use lib '../..'; use lib '..'; use GraphViz; -# This is incremented every time there is a change to the API -$VERSION = '0.01'; +our $VERSION = '2.10'; =head1 NAME diff --git a/lib/GraphViz/No.pm b/lib/GraphViz/No.pm index a0f026c..26f57fe 100644 --- a/lib/GraphViz/No.pm +++ b/lib/GraphViz/No.pm @@ -5,11 +5,10 @@ use warnings; use GraphViz; use vars qw($VERSION @ISA); -# This is incremented every time there is a change to the API -$VERSION = '0.01'; - @ISA = qw(GraphViz); +our $VERSION = '2.10'; + =head1 NAME GraphViz::No - subclass of GraphViz with no nodes diff --git a/lib/GraphViz/Parse/RecDescent.pm b/lib/GraphViz/Parse/RecDescent.pm index b38119f..3a2d237 100755 --- a/lib/GraphViz/Parse/RecDescent.pm +++ b/lib/GraphViz/Parse/RecDescent.pm @@ -9,8 +9,7 @@ use lib '..'; use GraphViz; use Parse::RecDescent; -# This is incremented every time there is a change to the API -$VERSION = '0.01'; +our $VERSION = '2.10'; =head1 NAME diff --git a/lib/GraphViz/Parse/Yacc.pm b/lib/GraphViz/Parse/Yacc.pm index 3917dd1..5485563 100755 --- a/lib/GraphViz/Parse/Yacc.pm +++ b/lib/GraphViz/Parse/Yacc.pm @@ -8,8 +8,7 @@ use lib '../..'; use lib '..'; use GraphViz; -# This is incremented every time there is a change to the API -$VERSION = '0.01'; +our $VERSION = '2.10'; =head1 NAME diff --git a/lib/GraphViz/Parse/Yapp.pm b/lib/GraphViz/Parse/Yapp.pm index ad626cf..465e853 100755 --- a/lib/GraphViz/Parse/Yapp.pm +++ b/lib/GraphViz/Parse/Yapp.pm @@ -8,8 +8,7 @@ use lib '../..'; use lib '..'; use GraphViz; -# This is incremented every time there is a change to the API -$VERSION = '0.01'; +our $VERSION = '2.10'; =head1 NAME diff --git a/lib/GraphViz/Regex.pm b/lib/GraphViz/Regex.pm index ed0fecf..3c26271 100644 --- a/lib/GraphViz/Regex.pm +++ b/lib/GraphViz/Regex.pm @@ -12,8 +12,7 @@ use IPC::Run qw(run); # See perldebguts -# This is incremented every time there is a change to the API -$VERSION = '0.02'; +our $VERSION = '2.10'; my $DEBUG = 0; # whether debugging statements are shown @@ -102,7 +101,7 @@ sub _init { # die "Crap" unless $compiled; - my $g = GraphViz->new( rankdir => 1 ); + my $g = GraphViz->new( rankdir => 'LR' ); my %states; my %following; diff --git a/lib/GraphViz/Small.pm b/lib/GraphViz/Small.pm index f09cd95..71fff51 100644 --- a/lib/GraphViz/Small.pm +++ b/lib/GraphViz/Small.pm @@ -5,11 +5,10 @@ use warnings; use GraphViz; use vars qw($VERSION @ISA); -# This is incremented every time there is a change to the API -$VERSION = '0.01'; - @ISA = qw(GraphViz); +our $VERSION = '2.10'; + =head1 NAME GraphViz::Small - subclass of GraphViz with small nodes diff --git a/lib/GraphViz/XML.pm b/lib/GraphViz/XML.pm index ad6feea..a190d6a 100644 --- a/lib/GraphViz/XML.pm +++ b/lib/GraphViz/XML.pm @@ -8,8 +8,7 @@ use lib '..'; use GraphViz; use XML::Twig; -# This is incremented every time there is a change to the API -$VERSION = '0.01'; +our $VERSION = '2.10'; =head1 NAME diff --git a/t/simple.t b/t/simple.t index 302943e..d6ed7fd 100755 --- a/t/simple.t +++ b/t/simple.t @@ -51,7 +51,7 @@ graph test { } -- test -- -$g = GraphViz->new(rankdir => 1) +$g = GraphViz->new(rankdir => 'LR') -- expect -- digraph test { rankdir=LR; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libgraphviz-perl.git _______________________________________________ Pkg-perl-cvs-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
