<html>
<body>
At 10:40 AM 2/6/2005 +0100, konrad.hinsen@laposte.net wrote:<br>
<blockquote type=cite class=cite cite>On 05.02.2005, at 17:28, RJ
wrote:<br><br>
How does CPAN handle external dependencies? For example, what does CPAN
do with a GTK interface for Perl when it finds that GTK is not available
on the machine? Or when the package requires a Fortran compiler and none
is installed?</blockquote><br>
It can fail for truly external requirements; module/bundle authors are
largely responsible for declaring dependencies, and of course, they must
be via CPAN, such as<br>
<a href="http://cpan.org/authors/id/M/ML/MLEHMANN/Gtk-Perl-0.7009.tar.gz" eudora="autourl">http://cpan.org/authors/id/M/ML/MLEHMANN/Gtk-Perl-0.7009.tar.gz</a><br>
among 7,582 others.<br><br>
I mainly used ActivePerl's Perl Package Manager but apparently there is
now a CPANPLUS.<br><br>
<a href="http://aspn.activestate.com/ASPN/docs/ActivePerl/lib/CPAN.html" eudora="autourl">http://aspn.activestate.com/ASPN/docs/ActivePerl/lib/CPAN.html</a><br>
is the best resource for the guts of it.<br>
In the above link, see:<br>
<a name="the_four_cpan____classes__author__bundle__module__distribution"></a>The
four CPAN::* Classes: Author, Bundle, Module, Distribution<br>
and<br>
<a name="populate_an_installation_with_lots_of_modules"></a>POPULATE AN
INSTALLATION WITH LOTS OF MODULES<br><br>
A page search for "depend" points out what I think you're
interested in, such as<br>
" Please note, CPAN.pm does not know the dependency tree in advance
and cannot sort the queue of things to install in a topologically correct
order. It resolves perfectly well IFF all modules declare the
prerequisites correctly with the PREREQ_PM attribute to MakeMaker. For
bundles which fail and you need to install often, it is recommended sort
the Bundle definition file manually. It is planned to improve the
metadata situation for dependencies on CPAN in general, but this will
still take some time."<br><br>
At least here I didn't have to read any ($q*=2)+=$f=!fork;<br>
As a second-place "winner" described:<br>
"the winning program was not nearly as confusing as mine---it was
actually very simple. If you fixed the indentation, it was quite
straightforward. My program is difficult to understand even if you fix it
up with good formatting and reasonable variable names. In the solution
file I provided, I expanded it in this way, and it <i>still</i> took me
about 2500 words to explain what was going on."<br><br>
Ray Schumacher</body>
</html>