2010/5/21 H.Merijn Brand <[email protected]>:
> On Fri, 21 May 2010 13:31:17 +0000, Jens Rehsack
> <[email protected]> wrote:
>
>> Hi,
>>
>> I'd like to update Makefile.PL of DBI like I did for SQL::Statement in
>> revisions 13845 and 13970 (see repository at
>> https://svn.perl.org/modules/SQL-Statement/trunk):
>>
>> - Add a WriteMakefile1 function, which checks features of available
>> EU::MM, and disable some unavailable features
>> In opposite to SQL::Statement I would prefer drop recommended
>> dependencies, instead of merge them into required.
>
> I /think/ I know what you're trying to say, but could you try to be a
> little bit more explicit?
I prefer let code speak (as could seen alive in SQL::Statement
releases of this year):
sub WriteMakefile1
{ #Written by Alexandr Ciornii, version 0.21. Added by eumm-upgrade.
my %params = @_;
my $eumm_version = $ExtUtils::MakeMaker::VERSION;
$eumm_version = eval $eumm_version;
die "EXTRA_META is deprecated" if ( exists( $params{EXTRA_META} ) );
die "License not specified" if ( !exists( $params{LICENSE} ) );
if ( $params{BUILD_REQUIRES} and ( $eumm_version < 6.5503 ) )
{
#EUMM 6.5502 has problems with BUILD_REQUIRES
$params{PREREQ_PM} = { %{ $params{PREREQ_PM} || {} }, %{
$params{BUILD_REQUIRES} } };
delete $params{BUILD_REQUIRES};
}
delete $params{CONFIGURE_REQUIRES} if ( $eumm_version < 6.52 );
delete $params{MIN_PERL_VERSION} if ( $eumm_version < 6.48 );
delete $params{META_MERGE} if ( $eumm_version < 6.46 );
delete $params{META_ADD} if ( $eumm_version < 6.46 );
delete $params{LICENSE} if ( $eumm_version < 6.31 );
delete $params{AUTHOR} if ( $] < 5.005 );
delete $params{ABSTRACT_FROM} if ( $] < 5.005 );
delete $params{BINARY_LOCATION} if ( $] < 5.005 );
WriteMakefile(%params);
}
And with META_MERGE we can add recommended modules (whatever we mean -
e.g. RPC::PlServer for DBD::Proxy, Win32::pwent for DBD::File "schema
support" on Windows, SQL::Statement ...)
I know your genMETA.pl script and I can live with it, too - but I
imagine that newer toolchains rely on MYMETA.yml - what means
genMETA.pl needs some improvements :)
Jens