Pod-Perldoc: add Makefile.PL from distro
authorDavid Mitchell <davem@iabyn.com>
Tue, 7 Jan 2014 13:55:36 +0000 (13:55 +0000)
committerDavid Mitchell <davem@iabyn.com>
Tue, 7 Jan 2014 14:55:45 +0000 (14:55 +0000)
Since 3.21, the Makefile includes special code for copying perldoc.pod to
the right location, so use that rather than an auto-generated one. See

    [perl #120280] 5.19.5 intermittent failure t/search50.t

With this change, cpan/Pod-Perldoc/perldoc.pod is now copied to

    lib/perldoc.pod
rather than

    lib/Pod/perldoc.pod

(Its install location of lib/$version/pod/perldoc.pod is unaffected)

.gitignore
MANIFEST
Porting/Maintainers.pl
cpan/Pod-Perldoc/Makefile.PL [new file with mode: 0644]

index 05cd9d7..c20b8e8 100644 (file)
@@ -105,6 +105,7 @@ lib/Cross.pm
 lib/ExtUtils/MANIFEST.SKIP
 lib/ExtUtils/xsubpp
 lib/auto/
+lib/perldoc.pod
 lib/buildcustomize.pl
 lib/unicore/CombiningClass.pl
 lib/unicore/Decomposition.pl
index 9acf168..ab62ee6 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1801,6 +1801,7 @@ cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm        convert POD to terminal output
 cpan/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm     convert POD to plain text
 cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm       convert POD via Tk::Pod
 cpan/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm      convert POD to XML
+cpan/Pod-Perldoc/Makefile.PL
 cpan/Pod-Perldoc/perldoc.pod
 cpan/Pod-Perldoc/t/load.t                      test file for Pod-Perldoc
 cpan/Pod-Perldoc/t/man/_get_columns.t          test file for Pod-Perldoc
index 49419f0..84f2680 100755 (executable)
@@ -927,7 +927,10 @@ use File::Glob qw(:case);
         'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.21.tar.gz',
         'FILES'        => q[cpan/Pod-Perldoc],
 
-        # in blead, the perldoc executable is generated by perldoc.PL
+        # Note that we use the CPAN-provided Makefile.PL, since it
+        # contains special handling of the installation of perldoc.pod
+
+        # In blead, the perldoc executable is generated by perldoc.PL
         # instead
         # XXX We can and should fix this, but clean up the DRY-failure in utils
         # first
diff --git a/cpan/Pod-Perldoc/Makefile.PL b/cpan/Pod-Perldoc/Makefile.PL
new file mode 100644 (file)
index 0000000..6d108f2
--- /dev/null
@@ -0,0 +1,76 @@
+use 5.006;
+use strict;
+use warnings;
+
+use ExtUtils::MakeMaker;
+
+my $EUMM_VERSION = $ExtUtils::MakeMaker::VERSION;
+
+WriteMakefile(
+    'NAME'           => 'Pod::Perldoc',
+    'VERSION_FROM'   => 'lib/Pod/Perldoc.pm',
+
+    'AUTHOR'         => 'Mark Allen <mallen@cpan.org>', # maintainer
+    'ABSTRACT_FROM'  => 'lib/Pod/Perldoc.pm',
+
+    'PREREQ_PM' => {
+            # Are there any hard dependencies not covered here?
+            'Config'                    => '0',
+            'Encode'                    => '0',
+            'Fcntl'                     => '0',
+            'File::Spec::Functions'     => '0',
+            'File::Temp'                => '0.22',
+            'IO::Select'                => '0',
+            'parent'                    => '0',
+            'Pod::Man'                  => '2.18',
+            'Pod::Simple::RTF'          => '3.16',
+            'Pod::Simple::XMLOutStream' => '3.16',
+            'Pod::Text'                 => '0',
+            'strict'                    => '0',
+            'Symbol'                    => '0',
+            'Test::More'                => '0',
+            'Text::ParseWords'          => '0',
+            'warnings'                  => '0',
+           },
+
+    ($ENV{PERL_CORE} ? () : ('EXE_FILES' => [qw( perldoc )])),
+
+       'META_MERGE' => {
+               no_index => {
+                       directory => 'corpus',
+                       },
+        resources => {
+            repository => 'https://github.com/mrallen1/Pod-Perldoc.git',
+            },
+               },
+
+    'MAN1PODS' => { 'perldoc.pod' => 'blib/man1/perldoc.1' },
+
+    ($^V >= 5.008001 ? ( 'INSTALLDIRS'  => 'perl' ) : ()),
+
+    ( $EUMM_VERSION > 6.31 ? (
+        'LICENSE' => 'perl',
+    ) : () ),
+
+       test => {TESTS => 't/*.t t/*/*.t'}
+);
+
+package MY;
+
+sub libscan
+{ # Determine things that should *not* be installed
+    my($self, $path) = @_;
+    return '' if $path =~ m/~/;
+    $path;
+}
+
+sub init_dirscan
+{
+    my($self) = shift;
+    $self->SUPER::init_dirscan;
+    # Need to force perldoc.pod to install at the top level of the lib dir:
+    $self->{PM}{'perldoc.pod'} = $self->catfile($self->{INST_LIB}, 'perldoc.pod');
+    return;
+}
+
+__END__