Ken Williams wrote:

[...]

Regarding the concept-formerly-known-as "virtual packages", I think I'd like them to tie into the "features" concept more. I think perhaps it's time to write that boolean requirement specification stuff, and then we can use that both in the "normal" requirement specs and the requirement specs for a declared feature.

To me, features are something that the module being installed offers, rather than the thing the module requires in order to achieve its job.


With that in mind, if you take the following, and s/features/needs/ I think it becomes eminently self-describing.

The idea would look something like this:

-------- in the Build.PL ------------------
features => {
# Old-style requirement spec
'yaml_support' => {
description => "Can read & write YAML files",
requires => { 'YAML' => 0.13 },
recommends => { 'YAML' => 0.49 },
},
# New-style requirement mini-language spec
'dbi_support' => {
description => "Can read & write databases",
requires => q{
DBI >= 1.0 ,
(DBD::mysql >= 1.5 || DBD::Postgres)
},
},


[...]

David

Reply via email to