Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^3: Do Pure Perl CPAN packages really need to use ExtUtils::Command::MM?

by Anonymous Monk
on Feb 18, 2011 at 05:05 UTC ( #888847=note: print w/replies, xml ) Need Help??

in reply to Re^2: Do Pure Perl CPAN packages really need to use ExtUtils::Command::MM?
in thread Do Pure Perl CPAN packages really need to use ExtUtils::Command::MM?

If I am going to use ExtUtils::Command::MM to back my makefile, I either need: A compelling argument for why a makefile backed by Module::Build is not good enough.

Hmm, so you're writing your own Makefile (no .PL)? That is the worst of all solutions :) --Module::Build::Compat (see Module::Build users -- please use the "traditional" create_makefile_pl option) ++Module::Install

A solution that does not require me to hardcode Find::Bin + use lib in file after file. Eliya has proposed one solution but there are still some outstanding portability questions

Why is that a painful/unpleasant/unavoidable solution? You only have to do it once. You don't even have to do it manually :) You can make it part of your template or automate it

There is even use inc 'Plagger'; which you can use outside of Module::Install

  • Comment on Re^3: Do Pure Perl CPAN packages really need to use ExtUtils::Command::MM?

Replies are listed 'Best First'.
Re^4: Do Pure Perl CPAN packages really need to use ExtUtils::Command::MM?
by ELISHEVA (Prior) on Feb 18, 2011 at 05:26 UTC

    No I am decidedly NOT writing my own makefile. I want to use the 'small' option of Module::Build::Compat - that generates a makefile that is backed by Module::Build. There is no need to go splattering FindBin/use lib all over if you use Module::Build. That was option B. Give me a little credit here :-)

      Give me a little credit here :-)

      Yup, you've sure picked the worst possible option -- passthrough is crap; Having no Makefile.PL is a million times better than passthrough

        Technically, all MakeMaker is doing is a pass through too. Each just makes a shell call to its own implementation of test, install, etc. Since we are talking pure Perl modules here (check thread title) those are the only targets that are relevant. Whether pssthrough is a suitable way to deal with C/C++ builds is another discussion entirely.

        If anything Module::Build's shell commands are safer. MakeMaker's target implementation requires quoted parameters and long lists of files passes on the command line. Both are known to cause portability problems because of differences in shell quoting rules and limits on command line length. Module::Build's perl calls have none of those issues because there are no quoted parameters or file lists - instead it relies on its stored project metadata.

        Given that both MM and MB command lines are only making Perl calls to their own libraries, "passthrough is crap" is little more than a bald statement that you believe Module::Build is crap.

        I didn't post this question to take sides in the "I hate Module::Build" debate. I posted this question because I wanted to understand what the cost benefits were. How big of a community refuses at any price to use Module::Build or anything tainted by it (e.g. a Makefile whose targets are implemented by Module::Build)? How big of a community can't download Module::Build but can download CPAN modules (jetthro argues such a community is likely to be very small indeed). What are the costs of supporting their needs? (how much time in this case, no one is getting paid here). Does it occur to you that my time is valuable and you are asking me to spend it to support your hatred of Module::Build? If so, I need a good reason.

        "It's crap" is way too vague to count as a reason. I personally would have preferred you had posted a thoughful and well written essay on _why_ you trust MakeMaker so much more than Module::Build. Even if you said nothing more than "its the new kid on the block and I just don't trust it" that would have mattered more to me. Your feelings as a member of the "I hate Module::Build" club do count.

        Looking at the tenor of the responses on this thread and who has participated and who has not, I'm inclined to believe that the answer to my question is something like this: aside from some very vocal (if anonymous) individuals like yourself, most people simply don't care. They just want the install to work. Period. Whatever I do that makes that happen will make them happy. If that's the case, I would have to say that one is more likely to get a reliable install using a Module::Build backed makefile than not. Do you have concrete counter arguments and examples?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://888847]
and the monastery is silent...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (4)
As of 2018-05-20 16:45 GMT
Find Nodes?
    Voting Booth?