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