Re: [Module-build-general] A better passthrough Makefile.PL
Status: Beta
Brought to you by:
kwilliams
From: Dave R. <au...@ur...> - 2002-11-01 07:22:54
|
On Thu, 31 Oct 2002, Ken Williams wrote: > I've been ruminating on this, and I think what I want to do is put hooks > into M::B that will use EU::AI if it's installed (and if the user wants > auto-installation), but that EU::AI should remain the way to > automatically install modules. M::B should use EU::AI, not Borg its > code. Obviously this is better from a separation-of-labor & modularity > point of view, and I think it feels better from a policy point of view > too. > > EU::AI can be a recommended dependency for M::B then. But some of what EU::AI just makes sense for M::B. M::B already breaks up dependencies in a more fine-grained way the EU::MM, so why not go a step further and do what EU::AI does, and offer a break not only by build/test/run but also by feature. This is just generically useful. I also like the idea of being able to specify that _specific tests_ have a dependency, so M::B can just skip them if that dependency is not satisfied. In other words, I think have a very full-featured dependency handling feature is an important goal for M::B. Auto-installing of modules is not what I was aiming at. M::B should cooperate with CPAN and CPANPLUS in this regard (or use EU::AI, etc.) > A very related problem is the idea of alternative dependencies - for > instance, Crypt::SKey needs either Digest::MD4 or Digest::MD5, but > there's no great way to indicate that with M::B's dependency > specification right now. Good thing to add. I wonder if the current way of doing this as a hash of "module name => version spec" is too inflexible? I almost wonder if supporting a mini-language might be best. We already have the beginning with the version spec, so maybe something like: 'Foo::Bar >= 2, <= 3.5 | Foo::Baz == 2.1' ?? -dave /*================== www.urth.org we await the New Sun ==================*/ |