Re: adding META.yml "provides" with ExtUtils::MakeMaker

[email protected] (Karen Etheridge)
Newsgroups perl.cpan.testers.discuss
Message-ID <CAPJsHfBpSWMo5HaaLHqqZMcturVqqWz2NzCvj-HfkR_w_6y8Gw@mail.gmail.com>
Two notes:

- yes, things used by Makefile.PL itself go into CONFIGURE_REQUIRES,
but everyone has Module::Metadata, as it is in core (it was split off
from Module::Build a long time ago, and has remained in core even
after MB left).
- Dist::Zilla is capable of generating distributions for any perl
version -- quite a number of toolchainy modules are built with
Dist::Zilla and maintain compatibility with 5.6 (and occasionally even
lower, but it's so hard to test these days that 5.6 has become the
defacto minimum for even the most die-hard gerontophiles).
Dist::Zilla::Plugin::MetaProvides::Package is the plugin you want.

On Wed, Mar 20, 2019 at 3:27 PM Alceu R. de Freitas Jr. via
cpan-testers-discuss <[email protected]> wrote:
>
> Hello there Slaven,
>
> It looks like doable.. I'll give it a try and see what happens.
>
> Regarding marking it as required during the "make dist", wouldn't that fall into CONFIGURE_REQUIRES section?
>
> Em quarta-feira, 20 de março de 2019 18:29:35 BRT, Slaven Rezic <[email protected]> escreveu:
>
>
> Hi Alceu,
>
> why not use Module::Metadata, but just optionally, so your users are not forced to install it? E.g. like this (untested):
>
>     if ( $ExtUtils::MakeMaker::VERSION >= 6.46 && eval { require Module::Metadata; 1 }) {
>         $WriteMakefileArgs{META_MERGE} = {
>             provides => Module::Metadata->provides(dir=>"lib",version=>2),
>         };
>     }
>
> It would be better if this optional 'require' could be made into a mandatory one during "make dist", but I don't have an idea how to do this.
>
> Regards,
>     Slaven
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.