Eric Wilhelm wrote:
> # from Michael G Schwern
> # on Monday 23 July 2007 12:22 am:
> 
>> That part of the spec is currently written in a contradictory and
>> implicit manner, the definition of "requires", as written, is very
>> clear that the keys are Perl modules, but that's a simple thing to
>> fix in the spec.  I don't like the idea of the "requires" keys having
>> special cases because I don't like special cases.  
> 
> Well, isn't the issue simply that `perl -Mperl -e 'warn perl->VERSION'` 
> doesn't work?  There is already a perl-X.X.X.tar.gz on CPAN.  There is 
> also a `perldoc -l perl`.

It would be very clever to release perl.pm and have it assign itself a
$VERSION to match the perl version, but now this is a hack to support a hack.


>> I'm not going to 
>> block "perl" as a special one, but META.yml is missing a way to
>> specify general external dependencies.  Compilers, web servers, mail
>> servers, C libraries, etc...  its a thorny problem and one that's
>> been bandied about in the past.
> 
> I think the conclusion usually comes out at leaving that to the 
> turing-complete configuration code.  Basically, 'perl5' is a 
> configure_requires item (of sorts) but beyond that, the particulars are 
> checked by the Makefile.PL or Build.PL code.

There's a pragmatic subset which can be dealt with.  Once again, look to
Debian.  They've defined a number of virtual "provides" tags.  For example,
exim provides a "mail-transport-agent".  mutt can then depend on a
"mail-transport-agent".  Its up to the toolchain to figure out if that
dependency has been resolved.


Reply via email to