convert to Distar
Graham Knop [Sat, 2 Nov 2013 19:17:01 +0000 (15:17 -0400)]
.gitignore
MANIFEST.SKIP [deleted file]
Makefile.PL
README [deleted file]
maint/Makefile.PL.include [new file with mode: 0644]

index 0794ba9..7f624d4 100644 (file)
@@ -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 (file)
index 721853b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-#!include_default
-^local-lib-
-^\.
-^MANIFEST.SKIP$
-MYMETA\.
-^t/test_local_lib-
index fae4a20..4dc9ce0 100644 (file)
@@ -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 (file)
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,
-<mst@shadowcat.co.uk> 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 (file)
index 0000000..e0f7c17
--- /dev/null
@@ -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) <mst@shadowcat.co.uk>';
+
+manifest_include eg => 'scripted_install.pl';
+
+manifest_include lib => '.pod';
+
+1;