Skip to content

Update podlators to CPAN version 5.00 #20590

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 33 additions & 4 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -1838,6 +1838,7 @@ cpan/Pod-Usage/t/pod/testcmp.pl
cpan/Pod-Usage/t/pod/testp2pt.pl
cpan/Pod-Usage/t/pod/usage.pod
cpan/Pod-Usage/t/pod/usage2.pod
cpan/podlators/docs/docknot.yaml
cpan/podlators/lib/Pod/Man.pm Convert POD data to *roff
cpan/podlators/lib/Pod/ParseLink.pm Perl an L<> formatting code in POD text
cpan/podlators/lib/Pod/Text.pm Pod-Parser - convert POD data to formatted ASCII text
Expand All @@ -1853,7 +1854,12 @@ cpan/podlators/t/data/basic.man podlators test
cpan/podlators/t/data/basic.ovr podlators test
cpan/podlators/t/data/basic.pod podlators test
cpan/podlators/t/data/basic.txt podlators test
cpan/podlators/t/data/man/encoding.groff
cpan/podlators/t/data/man/encoding.pod
cpan/podlators/t/data/man/encoding.roff
cpan/podlators/t/data/man/encoding.utf8
cpan/podlators/t/data/perl.conf podlators test
cpan/podlators/t/data/regenerate-data
cpan/podlators/t/data/snippets/color/escape-wrapping
cpan/podlators/t/data/snippets/color/tag-width
cpan/podlators/t/data/snippets/color/tag-wrapping
Expand All @@ -1877,39 +1883,52 @@ cpan/podlators/t/data/snippets/man/eth
cpan/podlators/t/data/snippets/man/fixed-font
cpan/podlators/t/data/snippets/man/fixed-font-in-item
cpan/podlators/t/data/snippets/man/for-blocks
cpan/podlators/t/data/snippets/man/guesswork
cpan/podlators/t/data/snippets/man/guesswork-all
cpan/podlators/t/data/snippets/man/guesswork-no-quoting
cpan/podlators/t/data/snippets/man/guesswork-none
cpan/podlators/t/data/snippets/man/guesswork-partial
cpan/podlators/t/data/snippets/man/guesswork-quoting
cpan/podlators/t/data/snippets/man/hyphen-in-s
cpan/podlators/t/data/snippets/man/iso-8859-1
cpan/podlators/t/data/snippets/man/iso-8859-1-error-die
cpan/podlators/t/data/snippets/man/iso-8859-1-error-pod
cpan/podlators/t/data/snippets/man/iso-8859-1-roff
cpan/podlators/t/data/snippets/man/item-fonts
cpan/podlators/t/data/snippets/man/language
cpan/podlators/t/data/snippets/man/link-quoting
cpan/podlators/t/data/snippets/man/link-to-url
cpan/podlators/t/data/snippets/man/long-quote
cpan/podlators/t/data/snippets/man/lquote-and-quote
cpan/podlators/t/data/snippets/man/lquote-rquote
cpan/podlators/t/data/snippets/man/markup-in-name
cpan/podlators/t/data/snippets/man/multiline-x
cpan/podlators/t/data/snippets/man/naive
cpan/podlators/t/data/snippets/man/naive-groff
cpan/podlators/t/data/snippets/man/name-guesswork
cpan/podlators/t/data/snippets/man/name-quotes
cpan/podlators/t/data/snippets/man/name-quotes-none
cpan/podlators/t/data/snippets/man/nested-lists
cpan/podlators/t/data/snippets/man/newlines-in-c
cpan/podlators/t/data/snippets/man/non-ascii
cpan/podlators/t/data/snippets/man/nonbreaking-space-l
cpan/podlators/t/data/snippets/man/not-bullet
cpan/podlators/t/data/snippets/man/not-numbers
cpan/podlators/t/data/snippets/man/nourls
cpan/podlators/t/data/snippets/man/paired-quotes
cpan/podlators/t/data/snippets/man/periods
cpan/podlators/t/data/snippets/man/quote-escaping
cpan/podlators/t/data/snippets/man/rquote-none
cpan/podlators/t/data/snippets/man/small-caps-magic
cpan/podlators/t/data/snippets/man/soft-hyphens
cpan/podlators/t/data/snippets/man/trailing-space
cpan/podlators/t/data/snippets/man/true-false
cpan/podlators/t/data/snippets/man/uppercase-license
cpan/podlators/t/data/snippets/man/utf8-nonbreaking
cpan/podlators/t/data/snippets/man/utf8-verbatim
cpan/podlators/t/data/snippets/man/x-whitespace
cpan/podlators/t/data/snippets/man/x-whitespace-entry
cpan/podlators/t/data/snippets/man/zero-width-space
cpan/podlators/t/data/snippets/overstrike/tag-width
cpan/podlators/t/data/snippets/overstrike/wrapping
cpan/podlators/t/data/snippets/README podlators test
cpan/podlators/t/data/snippets/README.md
cpan/podlators/t/data/snippets/termcap/escape-wrapping
cpan/podlators/t/data/snippets/termcap/tag-width
cpan/podlators/t/data/snippets/termcap/tag-wrapping
Expand All @@ -1929,11 +1948,19 @@ cpan/podlators/t/data/snippets/text/error-stderr
cpan/podlators/t/data/snippets/text/error-stderr-opt
cpan/podlators/t/data/snippets/text/for
cpan/podlators/t/data/snippets/text/iso-8859-1
cpan/podlators/t/data/snippets/text/iso-8859-1-error-die
cpan/podlators/t/data/snippets/text/iso-8859-1-error-pod
cpan/podlators/t/data/snippets/text/iso-8859-1-utf8
cpan/podlators/t/data/snippets/text/late-encoding
cpan/podlators/t/data/snippets/text/link-rt
cpan/podlators/t/data/snippets/text/link-url
cpan/podlators/t/data/snippets/text/margin
cpan/podlators/t/data/snippets/text/naive
cpan/podlators/t/data/snippets/text/name-quotes
cpan/podlators/t/data/snippets/text/name-quotes-none
cpan/podlators/t/data/snippets/text/non-latin
cpan/podlators/t/data/snippets/text/nonbreaking-space
cpan/podlators/t/data/snippets/text/nonbreaking-space-l
cpan/podlators/t/data/snippets/text/nourls
cpan/podlators/t/data/snippets/text/periods
cpan/podlators/t/data/snippets/text/quotes-opt
Expand All @@ -1943,6 +1970,7 @@ cpan/podlators/t/data/snippets/text/utf8
cpan/podlators/t/data/snippets/text/utf8-iso
cpan/podlators/t/data/snippets/text/verbatim
cpan/podlators/t/data/termcap podlators test
cpan/podlators/t/docs/changes.t
cpan/podlators/t/docs/pod.t podlators test
cpan/podlators/t/docs/pod-spelling.t podlators test
cpan/podlators/t/docs/spdx-license.t podlators test
Expand All @@ -1957,6 +1985,7 @@ cpan/podlators/t/lib/Test/RRA/ModuleVersion.pm podlators test
cpan/podlators/t/man/devise-date.t podlators test
cpan/podlators/t/man/devise-title.t podlators test
cpan/podlators/t/man/empty.t podlators test
cpan/podlators/t/man/encoding.t
cpan/podlators/t/man/heading.t podlators test
cpan/podlators/t/man/iso-8859-1.t podlators test
cpan/podlators/t/man/no-encode.t podlators test
Expand Down
12 changes: 2 additions & 10 deletions Porting/Maintainers.pl
Original file line number Diff line number Diff line change
Expand Up @@ -983,19 +983,11 @@ package Maintainers;
},

'podlators' => {
'DISTRIBUTION' => 'RRA/podlators-4.14.tar.gz',
'DISTRIBUTION' => 'RRA/podlators-5.00.tar.gz',
'MAIN_MODULE' => 'Pod::Man',
'FILES' => q[cpan/podlators pod/perlpodstyle.pod],
'EXCLUDED' => [
qr{^docs/metadata/},
],

# https://github.com/rra/podlators/pull/15
'CUSTOMIZED' => [
't/general/basic.t',
't/man/empty.t',
't/man/no-encode.t',
't/text/invalid.t',
qr{^\.github/workflows/build\.yaml},
],

'MAP' => {
Expand Down
2 changes: 1 addition & 1 deletion Porting/sync-with-cpan
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ my $package_url = "http://www.cpan.org/modules/$package";
my $package_file = "$tmpdir/$package"; # this is a cache

my @problematic = (
'podlators', # weird CUSTOMIZED section due to .PL files
# no current entries as of perl-5.37.7 (Dec 2022)
);


Expand Down
6 changes: 3 additions & 3 deletions cpan/podlators/Makefile.PL
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# which only supports that build method, and because it is a dependency of
# other build systems like Module::Build.
#
# Copyright 1999-2001, 2008, 2010, 2012, 2014-2016, 2018-2019
# Copyright 1999-2001, 2008, 2010, 2012, 2014-2016, 2018-2019, 2022
# Russ Allbery <[email protected]>
#
# This program is free software; you may redistribute it and/or modify it
Expand All @@ -30,7 +30,7 @@ sub dist_version {
open(my $fh, '<', File::Spec->catfile('lib', 'Pod', 'Man.pm'))
or die "$0: cannot open lib/Pod/Man.pm: $!\n";
while (defined(my $line = <$fh>)) {
if ($line =~ m{ \A \$VERSION \s+ = \s+ '([^\']+)' }xms) {
if ($line =~ m{ \A (?:our \s+)? \$VERSION \s+ = \s+ '([^\']+)' }xms) {
close($fh) or die "$0: cannot close lib/Pod/Man.pm\n";
return $1;
}
Expand Down Expand Up @@ -89,7 +89,7 @@ my %metadata = (
LICENSE => 'perl_5',
EXE_FILES => [scripts('pod2text', 'pod2man')],
VERSION_FROM => 'lib/Pod/Man.pm',
MIN_PERL_VERSION => '5.008',
MIN_PERL_VERSION => '5.010',

# Use *.PL files to generate the driver scripts so that we get the correct
# invocation of Perl on non-UNIX platforms.
Expand Down
144 changes: 144 additions & 0 deletions cpan/podlators/docs/docknot.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# Package metadata for podlators.
#
# This file contains configuration for DocKnot used to generate
# documentation files (like README.md) and web pages. Other documentation
# in this package is generated automatically from these files as part of
# the release process. For more information, see DocKnot's documentation.
#
# DocKnot is available from <https://www.eyrie.org/~eagle/software/docknot/>.
#
# Copyright 1999-2010, 2012-2022 Russ Allbery <[email protected]>
#
# SPDX-License-Identifier: MIT

format: v1

name: podlators
maintainer: Russ Allbery <[email protected]>
version: '5.00'
synopsis: format POD source into various output formats

license:
name: Perl
copyrights:
- holder: Russ Allbery <[email protected]>
years: 1999-2010, 2012-2022

build:
type: ExtUtils::MakeMaker
distribution:
cpan: podlators
section: perl
tarname: podlators
version: podlators
support:
email: [email protected]
github: rra/podlators
web: https://www.eyrie.org/~eagle/software/podlators/
vcs:
browse: https://git.eyrie.org/?p=perl/podlators.git
github: rra/podlators
openhub: https://www.openhub.net/p/podlators
status:
workflow: build
type: Git
url: https://git.eyrie.org/git/perl/podlators.git

quote:
author: Robert Fripp
text: |
We move from making unnecessary efforts, the exertions of force, to making
necessary efforts: the direction of effortlessness. In this the prime
maxim is: honor necessity, honor sufficiency.
work: '"The Road to Graceland"'
docs:
api:
- name: pod-man
title: Pod::Man
- name: pod-text
title: Pod::Text
- name: pod-text-color
title: Pod::Text::Color
- name: pod-text-overstrike
title: Pod::Text::Overstrike
- name: pod-text-termcap
title: Pod::Text::Termcap
developer:
- name: todo
title: To-do list
user:
- name: perlpodstyle
title: POD style guide
- name: pod2man
title: pod2man documentation
- name: pod2text
title: pod2text documentation
- name: thanks
title: Thanks and credits

blurb: |
podlators contains Pod::Man and Pod::Text modules which convert POD input to
*roff source output, suitable for man pages, or plain text. It also
includes several subclasses of Pod::Text for formatted output to terminals
with various capabilities. It is the source package for the Pod::Man and
Pod::Text modules included with Perl.

description: |
POD is the Plain Old Documentation format, the documentation language used
for all of Perl's documentation. I learned it to document Perl modules,
started using it for Perl scripts as well, and discovered it was the most
convenient way I've found to write program documentation. It's extremely
simple, well-designed for writing Unix manual pages (and I'm a
traditionalist who thinks that any program should have a regular manual
page), and easily readable in the raw format by humans.

The translators into text and nroff (for manual pages) included in the Perl
distribution had various bugs, however, and used their own ad hoc parsers,
so when I started running into those bugs and when a new generic parser
(Pod::Parser) was written, I decided to rewrite the two translators that I
use the most and fix the bugs that were bothering me. This package is the
result.

podlators contains two main modules, Pod::Man and Pod::Text. The former
converts POD into nroff/troff source and the latter into plain text (with
various options controlling some of the formatting). There are also several
subclasses of Pod::Text for generating slightly formatted text using color
or other terminal control escapes, and a general utility module,
Pod::ParseLink, for parsing the POD `L<>` formatting sequences. Also
included in this package are the `pod2text` and `pod2man` driver scripts.

Both Pod::Text and Pod::Man provide a variety of options for fine-tuning
their output. Pod::Man also tries to massage input text where appropriate
to produce better output when run through nroff or troff, such as
distinguishing between different types of hyphens.

As of Perl 5.6.0, my implementation was included in Perl core, and each
release of Perl will have the at-the-time most current version of podlators
included. You therefore only need to install this package yourself if you
need a newer version than came with Perl (to get some bug fixes, for
example).

requirements: |
This module requires Perl 5.10 or later.

The troff/nroff generated by Pod::Man should be compatible with any troff or
nroff implementation with the `-man` macro set, including mandoc. It is
primarily tested by me under GNU groff, but Perl users send bug reports for
a wide variety of implementations and Pod::Man is used to generate all of
Perl's own manual pages, so hopefully most of the bugs have been weeded out.

test:
lancaster: true
suffix: |
The following additional Perl modules will be used by the test suite if
present:

* Test::CPAN::Changes (part of CPAN-Changes)
* Test::MinimumVersion
* Test::Pod
* Test::Spelling
* Test::Strict
* Test::Synopsis

All are available on CPAN. Those tests will be skipped if the modules are
not available.
Loading