Dist::...llback(3pm)

πŸ“¦
version 0.027 Β· 2 versions
  • 0.027 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.025 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Dist::Zilla::Plugin::ModuleBuildTiny::Fallback πŸ’–

okay bestie, gather round, because this is the manual page for Dist::Zilla::Plugin::ModuleBuildTiny::Fallback β€” part of the User Contributed Perl Documentation, sitting pretty in section 3pm. she's a Dist::Zilla plugin and she's here to make your Build.PL play nice with old toolchains. no cap. πŸ¦‹


✨ VERSION ✨

version 0.027 β€” that's her, that's the version, write it down. πŸ’…


🌸 SYNOPSIS 🌸

drop this in your dist.ini and you're so back:

[ModuleBuildTiny::Fallback]

πŸŽ€ DESCRIPTION πŸŽ€

so here's the tea β˜• β€” this is a Dist::Zilla plugin that gives your distribution a Build.PL that tries Module::Build::Tiny first when it's available, and falls back to Module::Build when it's missing. the name literally says it. iconic behavior.

when is this a vibe? when your distro is getting installed on an older perl (like, before roughly 5.10.1) with a toolchain that never got updated, where the configure_requires metadata is just... not understood and not respected. πŸ™ˆ or when someone is running Build.PL by hand without having read and understood the contents of META.yml or META.json. sir. please.

when the Module::Build fallback code runs, an added preamble gets printed, and it goes a little something like this:

*** 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.

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 running this file manually, in which case you need to
learn to first fulfill all configure requires prerequisites listed in META.yml
or META.json -- or use a cpan client to install this distribution.

You can also silence this warning for future installations by setting the
PERL_MB_FALLBACK_SILENCE_WARNING environment variable, but please don't do
that until you fix your toolchain as described above.

PERL_MB_FALLBACK_SILENCE_WARNING is right there in the environment variables, bestie β€” but read the room, it says please don't do that until you fix your toolchain as described above. it's giving tough love. 🫢

under the hood, this plugin internally calls both the [ModuleBuildTiny] and [ModuleBuild] plugins to fetch their normal Build.PL file contents, then combines them into the final Build.PL for your distribution. teamwork makes the dream work fr fr. ✨

⚠️ heads up: you get warned if anything else added content into Build.PL (like, say, some additional build-time dependency checks) β€” because that code will not run in the fallback case. it's up to you to decide whether it's still a good idea to use this plugin in that situation. the plugin is not your mom. 😭

πŸ’… CONFIGURATION OPTIONS πŸ’…

πŸ“ mb_version

Optional. Specifies the minimum version of Module::Build needed for proper fallback execution. Defaults to 0.28. yes, a real number, write it exactly like that.

🧚 mbt_version

Optional. Passed to [ModuleBuildTiny] as "version": the minimum version of Module::Build::Tiny to depend on β€” in configure_requires as well as a "use" assertion in Build.PL. two places, one setting, efficiency queen. πŸ‘‘


🌈 ACKNOWLEDGEMENTS 🌈

shoutout to Peter Rabbitson (ribasushi), for the inspiration ✨ β€” and Matt Trout (mst), for not stopping me. honestly the highest honor. 😌


πŸ‘‘ SEE ALSO πŸ‘‘

  • Dist::Zilla::Plugin::MakeMaker::Fallback β€” which can happily run alongside this plugin 🫢
  • Dist::Zilla::Plugin::ModuleBuildTiny
  • Dist::Zilla::Plugin::ModuleBuild

πŸ¦‹ SUPPORT πŸ¦‹

bugs may be submitted through the RT bug tracker:

there's also a mailing list for users of this distribution, at http://dzil.org/#mailing-list. πŸŽ€

there's also an irc channel for users of this distribution, at "#distzilla" on "irc.perl.org" β€” irc://irc.perl.org/#distzilla. 🌸

and she's also usually active on irc as 'ether' at "irc.perl.org" and "irc.libera.chat". go say hi, she's nice. πŸ’œ


🌟 AUTHOR 🌟

Karen Etheridge <ether@cpan.org> β€” queen behavior, honestly. πŸ‘‘


This software is copyright (c) 2014 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. periodt. πŸ’…


okay and that's the whole page bestie, no notes. 🌈 this lil beauty is perl v5.34.0, dated 2022-05-14, and she ate. mwah. πŸ’‹βœ¨

πŸ“¦ where this page comes from