[rt.cpan.org #119737] Problems with detecting DateTime::Format::Natural dependencies

"Roderich Schupp via RT" <[email protected]>
Newsgroups gmane.comp.lang.perl.par
Message-ID <[email protected]>
Sat Jan 07 09:30:26 2017: Request 119737 was acted upon.
Transaction: Correspondence added by RSCHUPP
       Queue: Module-ScanDeps
     Subject: Problems with detecting DateTime::Format::Natural dependencies
   Broken in: (no value)
    Severity: (no value)
       Owner: RSCHUPP
  Requestors: [email protected]
      Status: new
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=119737 >


On 2017-01-06 09:58:19, [email protected] wrote:
> The problem is, that 
> DateTime::Format::Natural.pm (~line 13) uses a whole host of packages 
> with 'use base':
> 
> use base qw(
>      DateTime::Format::Natural::Calc
>      DateTime::Format::Natural::Duration

PAR::Packer uses Module::ScanDeps to scan your program for modules that
it uses (recursively). And this is where Module::ScanDeps falls short
(quoted from its POD):

       Chunks that span multiple lines are not handled correctly.  For
       example, this one works:

           use base 'Foo::Bar';

       But this one does not:

           use base
               'Foo::Bar';

Have you tried packing with "pp -x ..." or "pp -c ..."?

Anyway, I'm adding an explicit rule for DateTime::Format::Natural to Module::ScanDeps
that should make it work "out of the box".

> I also had to add '-M DateTime/Format/Natural/Lang/EN.pm'
> 
> Interestingly, in this case the double colon notation did not work.

What exactly didn't work? I tried the following:

pp -o natural.exe -u -M DateTime::Format::Natural:: \
   -E 'use DateTime::Format::Natural; 
       my $dt = DateTime::Format::Natural->new->parse_datetime("tomorrow"); 
       say "tomorrow is $dt";'

This works, esp. it adds all DateTime/Format/Natural/... modules to natural.exe
(use "unzip -l natural.exe" to verify). Note the "-u" option as something
requires Unicode support (which can't be auto-detected); without "-u", running
natural.exe fails with "Can't locate utf8_heavy.pl ...".

Cheers, Roderich
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.