In a fit of wild yak shaving, I finally adapted Adriano Ferreira's patch to allow customization of the META.yml file in MakeMaker so I can add "resources" to Test::More. Now you can pass in data structures via META_ADD or META_MERGE to, respectively, add/override or merge META.yml values.
For example, MakeMaker itself does this.
META_MERGE => {
no_index => {
package => ['DynaLoader'],
},
resources => {
license => 'http://dev.perl.org/licenses/',
homepage => 'http://makemaker.org',
bugtracker => 'http://rt.cpan.org/NoAuthBugs.html?Dist=ExtUtils-MakeMaker',
repository => 'http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker',
'MailingList' => 'makemaker@perl.org',
},
},
I also brought the default META.yml up to the 1.4 spec, added in a default no_index for t/ and inc/ and a configure_requires on MakeMaker itself filling in long unspoken assumptions.
Here's what MakeMaker's META.yml looks like now:
--- #YAML:1.0
name: ExtUtils-MakeMaker
version: 6.44
abstract: Create a module Makefile
author:
- Michael G Schwern <schwern@pobox.com>
license: perl
distribution_type: module
configure_requires:
ExtUtils::MakeMaker: 0
requires:
DirHandle: 0
File::Basename: 0
File::Spec: 0.8
Pod::Man: 0
resources:
bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker
homepage: http://makemaker.org
license: http://dev.perl.org/licenses/
MailingList: makemaker@perl.org
repository: http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker
no_index:
directory:
- t
- inc
package:
- DynaLoader
generated_by: ExtUtils::MakeMaker version 6.44
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
+1
Nothing like a short-hair yak.
-- dagolden
Doeas it also support optional_features and other recursive options
requires:                       
  perl:                 5.006
  Exporter:             0
  Carp:                 0
  Data::Dumper:         0
recommends:
  File::Temp:           0.14
  IO::Scalar:           0
build_requires:
  perl:                 5.006
  Test::Harness:        0
  Test::More:           0
optional_features:
- opt_csv:
    description:        Provides parsing of CSV streams
    requires:
      Text::CSV_XS:     0.23
    recommends:
      Text::CSV:        1
      Text::CSV_PP:     1.05
      Text::CSV_XS:     0.54
- opt_excel:
    description:        Provides parsing of Microsoft Excel files
    requires:
      Spreadsheet::ParseExcel: 0.26
      Spreadsheet::ParseExcel::FmtDefault: 0
    recommends:
      Spreadsheet::ParseExcel: 0.34