From: Graham Knop Date: Sat, 2 Nov 2013 19:17:01 +0000 (-0400) Subject: convert to Distar X-Git-Tag: v2.000_000~65 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=72a295edfeaab7c84e52c0375d2ea67eb5cbdbb2;p=p5sagit%2Flocal-lib.git convert to Distar --- diff --git a/.gitignore b/.gitignore index 0794ba9..7f624d4 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ /Makefile.old /MANIFEST /MANIFEST.bak +/MANIFEST.SKIP /MANIFEST.SKIP.bak /blib/ /pm_to_blib @@ -22,3 +23,4 @@ /todo/ /inc/ /t/temp/ +/Distar diff --git a/MANIFEST.SKIP b/MANIFEST.SKIP deleted file mode 100644 index 721853b..0000000 --- a/MANIFEST.SKIP +++ /dev/null @@ -1,6 +0,0 @@ -#!include_default -^local-lib- -^\. -^MANIFEST.SKIP$ -MYMETA\. -^t/test_local_lib- diff --git a/Makefile.PL b/Makefile.PL index fae4a20..4dc9ce0 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -176,19 +176,56 @@ DEATH } } -use inc::Module::Install; +require ExtUtils::MakeMaker; +ExtUtils::MakeMaker->import; +(do 'maint/Makefile.PL.include' or die $@) unless -f 'META.yml'; -name 'local-lib'; -all_from 'lib/local/lib.pm'; +my %CONFIGURE_DEPS = (); +my %BUILD_DEPS = (); +my %TEST_DEPS = ( + 'Test::More' => 0, +); +my %RUN_DEPS = ( + 'ExtUtils::MakeMaker' => '6.74', # version PERL_MM_OPT is shell parsed + 'ExtUtils::Install' => '1.43', # version INSTALL_BASE was added + 'Module::Build' => '0.36', # PERL_MB_OPT +); + +my %extra_info = ( + 'meta-spec' => { version => 2 }, + resources => { + repository => { + # r/w: p5sagit@git.shadowcat.co.uk:local-lib.git + url => 'git://git.shadowcat.co.uk/p5sagit/local-lib.git', + web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/local-lib.git', + type => 'git', + }, + x_IRC => 'irc://irc.perl.org/#local-lib', + bugtracker => { + web => 'https://rt.cpan.org/Public/Dist/Display.html?Name=local-lib', + mailto => 'bug-local-lib@rt.cpan.org', + }, + license => [ 'http://dev.perl.org/licenses/' ], + }, + prereqs => { + runtime => { requires => { %RUN_DEPS, perl => '5.8.1' } }, + }, +); -requires 'ExtUtils::MakeMaker' => '6.74'; # version PERL_MM_OPT is shell parsed -requires 'ExtUtils::Install' => '1.43'; # version INSTALL_BASE was added -requires 'Module::Build' => '0.36'; # PERL_MB_OPT +if ($bootstrapping) { + no warnings 'once'; +*MY::postamble = sub { + <<"END"; +PERL += $bootstrapping_args +FULLPERL += $bootstrapping_args +END + } +} # don't bother fixing CPAN.pm if bootstrapped from cpanminus unless ($ENV{PERL5_CPANM_IS_RUNNING}) { my $required_CPAN = '1.82'; - requires 'CPAN' => $required_CPAN; # sudo support + CPAN::HandleConfig + $RUN_DEPS{'CPAN'} = $required_CPAN; # sudo support + CPAN::HandleConfig # No, really. See # https://rt.cpan.org/Public/Bug/Display.html?id=23735 @@ -240,27 +277,42 @@ DEATH die($error) if $CPAN::VERSION >= $required_CPAN; } } +chdir($cwd); -if ($bootstrapping) { - auto_install_now; - postamble <<"END"; -PERL += $bootstrapping_args -FULLPERL += $bootstrapping_args -END -} else { - auto_install; +# have to do this since old EUMM dev releases miss the eval $VERSION line +my $mymeta_works = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_07 }; +my $mymeta = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_02 }; + +my $has_test_requires = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.63_03 }; + +my $has_meta_v2 = do { no warnings; $ExtUtils::MakeMaker::VERSION >= 6.57_10 }; +if (! $has_meta_v2) { + %extra_info = (); +} +if (not $has_test_requires) { + %BUILD_DEPS = (%BUILD_DEPS, %TEST_DEPS); + %TEST_DEPS = (); +} +if (not $mymeta_works) { + %RUN_DEPS = (%RUN_DEPS, %BUILD_DEPS); + %BUILD_DEPS = (); } -chdir($cwd); -resources( - # r/w: p5sagit@git.shadowcat.co.uk:local-lib.git - repository => 'git://git.shadowcat.co.uk/p5sagit/local-lib.git', - homepage => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/local-lib.git', - bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=local-lib', -); -makemaker_args( - clean => { FILES => 't/dist/*/MYMETA* t/dist/*/blib t/dist/EUMM/Makefile t/dist/EUMM/pm_to_blib t/dist/MB/Build t/dist/MB/_build' }, - realclean => { FILES => 'MANIFEST MANIFEST.SKIP.bak' }, +WriteMakefile( + NAME => 'local::lib', + VERSION_FROM => 'lib/local/lib.pm', + CONFIGURE_REQUIRES => \%CONFIGURE_DEPS, + PREREQ_PM => { + %RUN_DEPS, + }, + keys %BUILD_DEPS ? ( BUILD_REQUIRES => \%BUILD_DEPS ) : (), + keys %TEST_DEPS ? ( TEST_REQUIRES => \%TEST_DEPS ) : (), + META_ADD => \%extra_info, + META_MERGE => { + no_index => { + directory => [ 'xt' ] + }, + }, + ($mymeta && !$mymeta_works ? (NO_MYMETA => 1) : ()), + LICENSE => 'perl', ); - -WriteAll; diff --git a/README b/README deleted file mode 100644 index 832d816..0000000 --- a/README +++ /dev/null @@ -1,13 +0,0 @@ - - -This archive contains the local-lib distribution: - - create and use a local lib/ for perl modules with PERL5LIB - -This software is copyright (c) 2007 by Matt S Trout, - http://www.shadowcat.co.uk/ - -This is free software; you can redistribute it and/or modify it under -the same terms as the Perl 5 programming language system itself. - - diff --git a/maint/Makefile.PL.include b/maint/Makefile.PL.include new file mode 100644 index 0000000..e0f7c17 --- /dev/null +++ b/maint/Makefile.PL.include @@ -0,0 +1,13 @@ +BEGIN { -e 'Distar' or system("git clone git://git.shadowcat.co.uk/p5sagit/Distar.git") } +use lib 'Distar/lib'; +use Distar 0.001; + +use ExtUtils::MakeMaker 6.57_10 (); + +author 'mst - Matt S. Trout (cpan:MSTROUT) '; + +manifest_include eg => 'scripted_install.pl'; + +manifest_include lib => '.pod'; + +1;