* David Golden <xda...@gmail.com> [2010-05-11 15:40]: > On Tue, May 11, 2010 at 9:04 AM, Aristotle Pagaltzis <pagalt...@gmx.de> wrote: > > * Daniel Pittman <dan...@rimspace.net> [2010-05-11 05:00]: > >> Also, the approach Dist::Zilla takes with the > >> 'configure_requires' and 'build_requires' keys is to remove > >> them when running on an older version of EU:MM. > >> > >> Is a better approach to add them to 'requires', but only on > >> older versions of EU::MM, so that the generated code has > >> those extra details on platforms that don't support the > >> newer fields? > > > > By the time Makefile.PL runs, it is already too late to > > satisfy an unmet `configure_requires` dependency. There is > > simply nothing you can do on such old installations. > > That's correct but misleading. Newer EU::MM supports > BUILD_REQUIRES and CONFIGURE_REQUIRES as arguments. Dist::Zilla > generates a Makefile.PL that deletes those on older EU::MM to > keep EU::MM from complaining about unknown arguments.
That is still incomplete if you really want to be explicit about the conditions to which the deletion of these keys is relevant, owing to the fact that Makefile.PL was designed to do double duty for both end users and distribution authors. Dist::Zilla splits the distribution author parts from the end user parts of the toolchain, and confines Makefile.PL to the latter role. And to end users, only the `configure_requires` key in the dzil-generated META file is relevant, which cannot be emulated from within Makefile.PL. > Dist::Zilla does correctly add configure_requires to META and > the generated Makefile.PL has: > > use ExtUtils::MakeMaker 6.31; Yes, Dist::Zilla takes over the distribution author part of the toolchain responsibilities, and ticks all the boxes there. > None of that is really relevant to the situation at hand, which > is about a build requirement for Test::More not being met. Naturally, since it was a tangential inquiry that Daniel included in his post and Apocalypse didn’t address. Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>