On Jun 19, 2005, at 10:13 AM, Barbie wrote:
Having thought about this a little more over the last 2 days, I have a
suggestion. Following along the lines of Module::Install, a
Module::External
(or appropriate name), is bundled with the appropriate application,
that can
check for compilers, libraries and any other application. The onus is
then
on the author to specify what external software is required, which the
Module::External functions can check for.
Why the need for such an immensive framework? to be able to probe for
any type
of file/function on any type of OS is not going to be trivial. Also,
you'd need
a volunteer to develop this framework.
It could also perhaps use Alien (if installed) to attempt to install
them,
if the user accepts that.
This is not quite the way alien is intended to work. I again refer to
the manifesto:
http://search.cpan.org/~abergman/Alien-0.91/lib/Alien.pm
But a relevent excerpt is this:
So, what should an Alien module do? It should make sure that the
target is
installed and it should provide the caller with enough information to
use it.
The idea is that you use it to make sure it is there, and you call
class methods
to find out what to use. These class methods will be individually
specified by
the stand alone Alien modules.
In other words, if you require a libfoo to be installed, create an
Alien::LibFoo module
that's sole purpose is to install this dependency, ideally in a
location not conflicting
with a system wide libfoo. Alien::Zlib demonstrates how this can be
achieved:
http://search.cpan.org/~kane/Alien-Zlib-0.00_01/lib/Alien/Zlib.pm
This was close to something that was discussed some time ago, but I
can find the
thread at the moment.
The benefit would be no change to either Module::Build or
ExtUtils::MakeMaker, and only a little change to CPANPLUS.
What change would your suggested require? The alien suggestion (which
has gone through
the scrutiny of quite a few people heavily involved in CPAN and CPAN
development)
seems to necessitate no change whatsoever on any of the installers....
--
Jos Boumans
"You know you are never more indignant in life than when you're
shopping at a store you feel is beneath you and one of the other
customers mistakes you for one of the employees of that store."
- Dennis Miller
CPANPLUS http://cpanplus.sf.net