Dist::...llback(3pm)

πŸ“¦
version 0.033 Β· 3 versions
, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

Dist::Zilla::Plugin::MakeMaker::Fallback β€” okay bestie, this one generates a Makefile.PL that comes with a whole warning baked in for the legacy girlies still running ancient toolchains ✨


🌸 VERSION 🌸

version 0.033


πŸŽ€ SYNOPSIS πŸŽ€

So in your dist.ini, when you wanna ship a Build.PL and also a fallback Makefile.PL β€” just in case the user's cpan client is SO old it literally doesn't recognize configure_requires β€” you do this:

[ModuleBuildTiny]
[MakeMaker::Fallback]

slay πŸ’…


✨ DESCRIPTION ✨

This plugin is a glow-up of [MakeMaker], fr fr. It generates a Makefile.PL in your distribution, but with an extra preamble that gets printed when it runs. And that preamble? It's a whole mood:

*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***

If you're seeing this warning, your toolchain is really, really old* and
you'll almost certainly have problems installing CPAN modules from this
century. But never fear, dear user, for we have the technology to fix this!

If you're using CPAN.pm to install things, then you can upgrade it using:

cpan CPAN

If you're using CPANPLUS to install things, then you can upgrade it using:

cpanp CPANPLUS

If you're using cpanminus, you shouldn't be seeing this message in the first
place, so please file an issue on github.

If you're using a packaging tool through a unix distribution, this issue
should be reported to the package manager. Remember: build tools should always
favour Build.PL over Makefile.PL, and (MY)?META.json over (MY)?META.yml.

If you're installing manually, please retrain your fingers to run Build.PL
when present instead of Makefile.PL.

This public service announcement was brought to you by the Perl Toolchain
Gang, the irc.perl.org #toolchain IRC channel, and the number 42.

----

* Alternatively, you are doing something overly clever, in which case you
should consider setting the 'prefer_installer' config option in CPAN.pm, or
'prefer_makefile' in CPANPLUS, to 'mb" and '0' respectively.

You can also silence this warning for future installations by setting the
PERL_MM_FALLBACK_SILENCE_WARNING environment variable.

ngl that's iconic πŸ‘‘

Also β€” and this is lowkey important β€” any errors that come from loading configure-require prerequisites get captured and printed. Which basically tells you that either the user or the tools fumbled the bag on reading and understanding META.yml or META.json 😭

🚨 FATAL ERROR ALERT 🚨 Using this plugin when there is not also another plugin enabled that generates a Build.PL (like [ModuleBuildTiny]) is a fatal error. No Build.PL bestie, no vibes. Periodt.

On top of the regular testing that comes from the Build.PL-producing plugin, dzil test --release or dzil release will run tests with extra testing variables unset β€” specifically AUTHOR_TESTING and RELEASE_TESTING. Why? To weed out those test issues that ONLY show up under these conditions (examples: bad test count, conditional module loading). You can block this extra testing from happening by setting skip_release_testing = 1 in your configuration or dist.ini πŸ¦‹


πŸ’œ ACKNOWLEDGEMENTS πŸ’œ

Peter Rabbitson (ribasushi) β€” his concerns that low-level utility modules were shipping with install tools that did not work out of the box with perls 5.6 and 5.8 were literally the inspiration for creating this module. King behavior, honestly 🫢

Matt Trout (mst) β€” for realizing a simple warning would be sufficient rather than a complicated detection heuristic, and for the text of the warning. (But it turns out we still need a simple detection heuristic, so... -0.5 for that one πŸ™ˆπŸ’€)


🌈 SEE ALSO 🌈

  • Dist::Zilla::Plugin::MakeMaker
  • Dist::Zilla::Plugin::ModuleBuildTiny
  • Dist::Zilla::Plugin::ModuleBuildTiny::Fallback

🧚 SUPPORT 🧚

Bugs may be submitted through the RT bug tracker <https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-MakeMaker-Fallback> (or bug-Dist-Zilla-Plugin-MakeMaker-Fallback@rt.cpan.org <mailto:bug-Dist-Zilla-Plugin-MakeMaker-Fallback@rt.cpan.org>).

There's also a mailing list available for users of this distribution, at <http://dzil.org/#mailing-list>.

There's also an irc channel available for users of this distribution, at #distzilla on irc.perl.org <irc://irc.perl.org/#distzilla>.

I am also usually active on irc, as 'ether' at irc.perl.org and irc.libera.chat β€” come say hi bestie πŸ’¬


πŸ“ AUTHOR πŸ“

Karen Etheridge <ether@cpan.org>


This software is copyright (c) 2013 by Karen Etheridge.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


and that's the whole page, bestie β€” this was Dist::...llback(3pm) from the User Contributed Perl Documentation, perl v5.40.0, dated 2024-12-07 πŸ’– stay slaying, and remember: Build.PL over Makefile.PL, always πŸŽ€

πŸ“¦ where this page comes from