develooper Front page | perl.perl5.porters | Postings from October 2016

Re: perlnewmod: module-starter and ExtUtils::MakeMaker?

Thread Previous | Thread Next
Joseph Brenner
October 23, 2016 04:01
Re: perlnewmod: module-starter and ExtUtils::MakeMaker?
Message ID:
>See for one set of opinions on the current field.

Thanks, that more-or-less agrees with my impression.  I'm gravitating
toward Dist::Milla + MBT myself, but I remain mildly, let's say
annoyed, that the situation is still a bit up-in-the-air.    The
history of this stuff from my point of view:  I used EU::MM until it's
maintainer said that it sucked, and pointed us at MB, I used MB until
*it's* maintainer said that it sucked and pointed us... no where in
particular, but back to EU::MM by default.

I was just reviewing what David Golden was saying about all this back
in 2013, and I have to say it still seems peculiar to me... MB was
great because it led to stuff like MBT  (so we should use MBT?  No:
he won't quite go there).  His big gripe about working on MB was the
need to be backwards compatible to EU:MM in some ways... and so the
solution is we all go back to using EU::MM?

On Sat, Oct 22, 2016 at 2:58 PM, Dan Book <> wrote:
> On Thu, Oct 20, 2016 at 11:39 PM, Joseph Brenner <> wrote:
>> If you look at perlnewmod (and perlmodstyle) you get pointed to
>> module-starter, with an example run line that doesn't use the
>> "--builder" option.  If you follow that example, it generates a
>> build tree based on ExtUtils::MakeMaker.  So that must be the
>> current Best Practices, right?
>> Alternately, I could assume that Miyagawa knows what he's doing,
>> and use Dist::Milla, and I see that defaults to
>> Module::Build::Tiny.  If that's the actual Best Practices, then
>> perhaps perlnewmod needs revision?
>> Just to be clear, I understand that lots of things would work,
>> including h2xs and ExtUtils::MakeMaker, I just think there
>> should be a single, clear story you can tell to new CPAN
>> authors.
> See for one set of opinions
> on the current field. IMO, Dist::Milla and Minilla (depending whether you
> want to depend on Dist::Zilla or not) are by far the simplest and most
> complete places for new module authors to start currently. They both default
> to Module::Build::Tiny, because they generally assume the simple cases where
> its limitations are ok, but they both also can be configured to use EUMM as
> the installer, and since Dist::Milla is just a Dist::Zilla bundle, you can
> extend it to do whatever you need.
> Module::Build::Tiny is more a proof-of-concept that a new, modern builder
> can be built around the Build.PL spec without using Module::Build (which has
> fallen into unmaintenance). The benefit of Module::Build::Tiny specifically
> is that the installer file does not need any code beyond the one line to run
> it; it's very simple. The drawback (other than unsupported features like
> module sharedirs) is that perls before 5.12 ship with a that doesn't
> understand configure dependencies, so will fail to install it automatically.
> So if supporting older perls natively is important, sticking to EUMM is the
> simplest way to do that, and if you're using Dist::Zilla/Dist::Milla/Minilla
> on the author side anyway, it's trivial to do so.

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About