Re: Makefile.PL updates for DBI

Jens Rehsack <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.