2010/5/21 H.Merijn Brand <h.m.br...@xs4all.nl>: > On Fri, 21 May 2010 13:31:17 +0000, Jens Rehsack > <rehs...@googlemail.com> 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