Andreas J. Koenig wrote: >>>>>> On Sat, 21 Jul 2007 19:03:03 -0700, Michael G Schwern <[EMAIL >>>>>> PROTECTED]> said: > > > David Golden wrote: > >>> Well, EU::MM *cannot* be patched on the clients without > >>> configure_requires. So, the best it could do would be to warn the > >>> author about it at `make dist` time. > >> > >> I still think it should be patched so that anyone installing > >> Bundle::CPAN gets a version that handles it. > > > Are you suggeting that ExtUtils::MakeMaker go into Bundle::CPAN? That's a > > very good idea. > > It is now. I was *quite* surprised to learn that is was not.
Thanks for adding it. While we're at it, ExtUtils::Install, ExtUtils::Command and ExtUtils::Manifest. Though ExtUtils::MakeMaker ships with a set that works. > > If parsing the error message is a "convention" that should be avoided, > why is > > parsing out the prerequisite warning not? > > Nobody is parsing the prerequisites warning, we are only parsing > specified prerequisites. Sorry, I don't think I follow. Could you explain the difference? > > Until META.yml has a > > proper way to explicitly declare non-module dependencies its pretty much > all > > convention. > > Reread it! Did I miss something, or are you just referring to the mention in the SYNOPSIS? > > The nice part about the "require" failure is it always works, at least in > the > > "stops the build" part. And everything knows how to parse the error > already. > > I think it's fine if parts of the toolchain die when they have > properly declared their metadata. Declaring the perl version we depend > on is essential and there is a spec that tells you how to do it. Don't get me wrong, I admit dying in the Makefile.PL is a hack and specifying it in META.yml is a better idea. That part of the spec is currently written in a contradictory and implicit manner, the definition of "requires", as written, is very clear that the keys are Perl modules, but that's a simple thing to fix in the spec. I don't like the idea of the "requires" keys having special cases because I don't like special cases. I'm not going to block "perl" as a special one, but META.yml is missing a way to specify general external dependencies. Compilers, web servers, mail servers, C libraries, etc... its a thorny problem and one that's been bandied about in the past.