Skip to content

Commit 9647a2a

Browse files
rrajkeenan
authored andcommitted
cpan/podlators - Update to version v6.0.2 (with v6.0.1 and v6.0.0)
v6.0.0 - 2024-07-10 - Drop support for Perl 5.10. podlators now requires Perl 5.12 or later. - podlators now uses semantic versioning for the package and module versions, with a v prefix to work with Perl's packaging system. - Pod::Man now translates all "-" characters in the input into *roff "\-" escapes (normally rendered as an ASCII hyphen-minus, U+002D) rather than using fragile heuristics to decide which characters represent true hyphens and which represent ASCII hyphen-minus. The previous heuristics misrendered command names such as apt-get, causing search and cut-and-paste issues. This change may cause line-break issues with long hyphenated phrases. In cases where the intent is a true hyphen, consider using UTF-8 as the POD character set (declared with =encoding) and using true Unicode hyphens instead of the ASCII "-" character. - Pod::Man now disables the special *roff interpretation of "`" and "'" characters as paired quotes everywhere, not just in verbatim text, thus forcing them to be interpreted as the regular ASCII characters. This also disables the use of "``" and "''" for paired double-quotes. The rationale is similar to that for hyphens: there is no way to tell from the POD source that the special interpretation as quotes is intended. To produce paired typographic quotes in the output, use UTF-8 and Unicode paired quote characters. - Man page references in L<> that are detected as such by Pod::Simple are now always formatted as man page references even if our normal heuristic would not detect them. This fixes the formatting of constructions such as @@RXVT_NAME@@Perl(3), which are used by packages that format a man page with POD and then substitute variables into it at build time. Thanks to Marco Sirabella for the analysis and an initial patch. (GitHub #21) - Add a workaround to Pod::Man to force persistent ragged-right justification under nroff with groff 1.23.0. Thanks to Guillem Jover for the report and G. Branden Robinson for the analysis. (GitHub #23) - Fix wrapping of text with S<> markup in all subclasses of Pod::Text. Thanks to Jim Avera for the report. (GitHub #24) - Pod::Man now forces a blank line after a nested list contains only =item tags without bodies. In previous versions, the blank line before the next item in the surrounding =over block was not included. Thanks to Julien ÉLIE for the report. (GitHub #26) - Import PerlIO before checking for layers so that PerlIO::F_UTF8 is available, which fixes double-encoding of output when a :utf8 layer is in place and PerlIO is not imported. Thanks to youpong for the bug report, James Keenan for the elaboration, and Graham Knop for the fix. (GitHub #25) - pod2text --help now exits with status 0, not 1, matching normal UNIX command behavior and the behavior of pod2man. (GitHub #19) - Fix tests when NO_COLOR is set in the environment. (GitHub #20) v6.0.1 - 2024-07-12 - Remove autodie from the module build process. When built as part of Perl core, podlators is built before autodie is available. Thanks to James E Keenan for the report and a draft patch. (GitHub #33) v6.0.2 - 2024-07-14 - Fix removal of scripts/pod2man and scripts/pod2text by make realclean, broken in the v6.0.0 release. Thanks to James E Keenan for the report.
1 parent 1cb17ed commit 9647a2a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+928
-766
lines changed

MANIFEST

+132-127
Large diffs are not rendered by default.

Porting/Maintainers.pl

+2-1
Original file line numberDiff line numberDiff line change
@@ -981,7 +981,8 @@ package Maintainers;
981981
},
982982

983983
'podlators' => {
984-
'DISTRIBUTION' => 'RRA/podlators-5.01.tar.gz',
984+
'DISTRIBUTION' => 'RRA/podlators-v6.0.2.tar.gz',
985+
'SYNCINFO' => 'jkeenan on Sun Jul 14 20:06:07 2024',
985986
'MAIN_MODULE' => 'Pod::Man',
986987
'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
987988
'EXCLUDED' => [

cpan/podlators/Makefile.PL

+31-39
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,38 @@
44
# which only supports that build method, and because it is a dependency of
55
# other build systems like Module::Build.
66
#
7-
# Copyright 1999-2001, 2008, 2010, 2012, 2014-2016, 2018-2019, 2022
7+
# Copyright 1999-2001, 2008, 2010, 2012, 2014-2016, 2018-2019, 2022, 2024
88
# Russ Allbery <rra@cpan.org>
99
#
1010
# This program is free software; you may redistribute it and/or modify it
1111
# under the same terms as Perl itself.
1212
#
1313
# SPDX-License-Identifier: GPL-1.0-or-later OR Artistic-1.0-Perl
1414

15-
use 5.008;
16-
use strict;
15+
# Do not use autodie here. When podlators is built as part of Perl core, it
16+
# is built before autodie is available.
17+
use 5.012;
1718
use warnings;
1819

1920
use Config;
2021
use ExtUtils::MakeMaker;
2122
use File::Spec;
2223

23-
# Determine the version of the distribution so that we can construct the
24-
# provides metadata that unfortunately ExtUtils::MakeMaker does not build.
25-
# This is a very simple $VERSION parser, since it only has to handle the
26-
# syntax Pod::Man uses.
24+
# Determine the version of the distribution, since we need it outside of
25+
# ExtUtils::MakeMaker to add some additional metadata. This is a very simple
26+
# parser since it only has to handle the syntax my modules use.
2727
#
2828
# Returns: Distribution version as a string
2929
sub dist_version {
30-
open(my $fh, '<', File::Spec->catfile('lib', 'Pod', 'Man.pm'))
31-
or die "$0: cannot open lib/Pod/Man.pm: $!\n";
30+
my ($path) = @_;
31+
open(my $fh, '<', $path) or die "$0: cannot open $path: $!\n";
3232
while (defined(my $line = <$fh>)) {
33-
if ($line =~ m{ \A (?:our \s+)? \$VERSION \s+ = \s+ '([^\']+)' }xms) {
34-
close($fh) or die "$0: cannot close lib/Pod/Man.pm\n";
33+
if ($line =~ m{ \A package \s+ \S+ \s+ (v[\d.]+) }xms) {
34+
close($fh) or die "$0: cannot close $path: $!\n";
3535
return $1;
3636
}
3737
}
38-
close($fh) or die "$0: cannot close lib/Pod/Man.pm\n";
38+
close($fh) or die "$0: cannot close $path: $!\n";
3939
die "$0: cannot find version in lib/Pod/Man.pm\n";
4040
}
4141

@@ -45,15 +45,14 @@ sub dist_version {
4545
#
4646
# @scripts - List of script names
4747
#
48-
# Returns: (Array) List of relative paths from top of distribution
49-
# (Scalar) Space-separated relative paths from top of distribution
48+
# Returns: List of relative paths from top of distribution
5049
sub scripts {
5150
my (@scripts) = @_;
5251
my @paths = map { File::Spec->catfile('scripts', $_) } @scripts;
5352
if ($^O eq 'VMS') {
5453
@paths = map { m{ [.] PL \z }xms ? $_ : $_ . '.com' } @paths;
5554
}
56-
return wantarray ? @paths : join(q{ }, @paths);
55+
return @paths;
5756
}
5857

5958
# Generate an association between a source file and a destination man page for
@@ -80,18 +79,16 @@ sub man1pod {
8079

8180
# The hash of all the metadata. This will be modified before WriteMakefile to
8281
# remove keys not supported by the local version of ExtUtils::MakeMaker.
83-
my $dist_version = dist_version();
82+
my $dist_version = dist_version(File::Spec->catfile(qw(lib Pod Man.pm)));
8483
my %metadata = (
85-
#<<<
8684
NAME => 'Pod',
8785
DISTNAME => 'podlators',
8886
ABSTRACT => 'Convert POD data to various other formats',
8987
AUTHOR => 'Russ Allbery <rra@cpan.org>',
9088
LICENSE => 'perl_5',
9189
EXE_FILES => [scripts('pod2text', 'pod2man')],
92-
VERSION_FROM => 'lib/Pod/Man.pm',
93-
MIN_PERL_VERSION => '5.010',
94-
#>>>
90+
VERSION => $dist_version,
91+
MIN_PERL_VERSION => '5.012',
9592

9693
# Use *.PL files to generate the driver scripts so that we get the correct
9794
# invocation of Perl on non-UNIX platforms.
@@ -109,8 +106,8 @@ my %metadata = (
109106
},
110107

111108
# Clean some additional files.
112-
clean => { FILES => File::Spec->catdir('t', 'tmp') },
113-
realclean => { FILES => scalar(scripts('pod2text', 'pod2man')) },
109+
clean => { FILES => File::Spec->catdir('t', 'tmp') },
110+
realclean => { FILES => join(q{ }, scripts('pod2text', 'pod2man')) },
114111

115112
# Dependencies on other modules.
116113
PREREQ_PM => { 'Pod::Simple' => 3.26 },
@@ -119,48 +116,43 @@ my %metadata = (
119116
# directories by default.
120117
test => { TESTS => 't/*/*.t' },
121118

122-
# For older versions of Perl, we have to force installation into the Perl
123-
# module directories since site modules did not take precedence over core
124-
# modules.
125-
INSTALLDIRS => $] lt '5.011' ? 'perl' : 'site',
126-
127119
# Additional metadata.
128120
META_ADD => {
129121
'meta-spec' => { version => 2 },
130-
provides => {
122+
provides => {
131123
'Pod::Man' => {
132-
file => 'lib/Pod/Man.pm',
124+
file => 'lib/Pod/Man.pm',
133125
version => $dist_version,
134126
},
135127
'Pod::ParseLink' => {
136-
file => 'lib/Pod/ParseLink.pm',
128+
file => 'lib/Pod/ParseLink.pm',
137129
version => $dist_version,
138130
},
139131
'Pod::Text' => {
140-
file => 'lib/Pod/Text.pm',
132+
file => 'lib/Pod/Text.pm',
141133
version => $dist_version,
142134
},
143135
'Pod::Text::Color' => {
144-
file => 'lib/Pod/Text/Color.pm',
136+
file => 'lib/Pod/Text/Color.pm',
145137
version => $dist_version,
146138
},
147139
'Pod::Text::Overstrike' => {
148-
file => 'lib/Pod/Text/Overstrike.pm',
140+
file => 'lib/Pod/Text/Overstrike.pm',
149141
version => $dist_version,
150142
},
151143
'Pod::Text::Termcap' => {
152-
file => 'lib/Pod/Text/Termcap.pm',
144+
file => 'lib/Pod/Text/Termcap.pm',
153145
version => $dist_version,
154146
},
155147
},
156148
resources => {
157149
bugtracker => {
158150
web => 'https://github.com/rra/podlators/issues',
159151
},
160-
homepage => 'https://www.eyrie.org/~eagle/software/podlators/',
152+
homepage => 'https://www.eyrie.org/~eagle/software/podlators/',
161153
repository => {
162-
url => 'https://github.com/rra/podlators.git',
163-
web => 'https://github.com/rra/podlators',
154+
url => 'https://github.com/rra/podlators.git',
155+
web => 'https://github.com/rra/podlators',
164156
type => 'git',
165157
},
166158
},
@@ -170,8 +162,8 @@ my %metadata = (
170162
# Remove keys that aren't supported by this version of ExtUtils::MakeMaker.
171163
# This hash maps keys to the minimum supported version.
172164
my %supported = (
173-
LICENSE => 6.31,
174-
META_ADD => 6.46,
165+
LICENSE => 6.31,
166+
META_ADD => 6.46,
175167
MIN_PERL_VERSION => 6.48,
176168
);
177169
for my $key (keys(%supported)) {

cpan/podlators/docs/docknot.yaml

+10-3
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ format: v1
1515

1616
name: podlators
1717
maintainer: Russ Allbery <rra@cpan.org>
18-
version: '5.01'
18+
version: v6.0.2
1919
synopsis: format POD source into various output formats
2020

2121
license:
2222
name: Perl
2323
copyrights:
2424
- holder: Russ Allbery <rra@cpan.org>
25-
years: 1999-2010, 2012-2022
25+
years: 1999-2024
2626

2727
build:
2828
type: ExtUtils::MakeMaker
@@ -31,10 +31,15 @@ distribution:
3131
section: perl
3232
tarname: podlators
3333
version: podlators
34+
ignore:
35+
- .github/dependabot.yml
36+
- .github/workflows/build.yaml
3437
support:
3538
email: rra@cpan.org
3639
github: rra/podlators
3740
web: https://www.eyrie.org/~eagle/software/podlators/
41+
listname: pod-people
42+
listurl: https://lists.perl.org/list/pod-people.html
3843
vcs:
3944
browse: https://git.eyrie.org/?p=perl/podlators.git
4045
github: rra/podlators
@@ -119,7 +124,7 @@ description: |
119124
example).
120125
121126
requirements: |
122-
This module requires Perl 5.10 or later and Pod::Simple 3.26 or later.
127+
This module requires Perl 5.12 or later and Pod::Simple 3.26 or later.
123128
(Pod::Simple 3.26 was included in Perl 5.17.10.)
124129
125130
The troff/nroff generated by Pod::Man should be compatible with any troff or
@@ -135,7 +140,9 @@ test:
135140
present:
136141
137142
* Test::CPAN::Changes (part of CPAN-Changes)
143+
* Test::Kwalitee
138144
* Test::MinimumVersion
145+
* Test::Perl::Critic
139146
* Test::Pod
140147
* Test::Spelling
141148
* Test::Strict

0 commit comments

Comments
 (0)