diff --git a/0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch b/0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch index a44940d..2e28aba 100644 --- a/0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch +++ b/0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch @@ -1,4 +1,4 @@ -From d83901363a9992a0a81b0580e809b30fa5ac3962 Mon Sep 17 00:00:00 2001 +From 2396c458927b78ee5616e322ae5ac2c55dd6503e Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Fri, 21 Jul 2017 11:50:35 +0100 Subject: [PATCH] Change default spell check tool from aspell to hunspell @@ -17,34 +17,72 @@ problems with ASCII apostrophes, thus flagging errors for words like "doesn't", "isn't" etc., which makes 1.2.12 pretty much a minimum version requirement if incorporating this change. --- - .travis.yml | 4 ++-- - .../Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm | 2 +- - lib/Perl/Critic/Policy/Documentation/PodSpelling.pm | 20 ++++++++++---------- - .../RequireCheckingReturnValueOfEval.pm | 2 +- - .../Critic/Policy/Modules/RequireBarewordIncludes.pm | 2 ++ - .../RegularExpressions/ProhibitComplexRegexes.pm | 2 +- - .../Policy/Variables/RequireLexicalLoopIterators.pm | 2 +- - t/20_policy_pod_spelling.t | 4 ++-- - xt/40_perlcriticrc-code | 2 +- - 9 files changed, 21 insertions(+), 19 deletions(-) + .travis.yml | 4 ++-- + bin/perlcritic | 2 +- + .../BuiltinFunctions/ProhibitBooleanGrep.pm | 2 ++ + .../BuiltinFunctions/ProhibitLvalueSubstr.pm | 2 +- + .../BuiltinFunctions/ProhibitShiftRef.pm | 2 +- + .../Policy/Documentation/PodSpelling.pm | 20 +++++++++---------- + .../RequireCheckingReturnValueOfEval.pm | 2 +- + .../Policy/Modules/RequireBarewordIncludes.pm | 2 ++ + .../ProhibitCaptureWithoutTest.pm | 2 ++ + .../ProhibitComplexRegexes.pm | 2 +- + .../ProhibitFixedStringMatches.pm | 2 ++ + .../ProhibitSingleCharAlternation.pm | 2 ++ + .../ProhibitUnusedCapture.pm | 2 +- + .../ProhibitUnusualDelimiters.pm | 2 ++ + .../RequireBracesForMultiline.pm | 2 ++ + .../Variables/ProhibitPunctuationVars.pm | 2 ++ + .../Variables/RequireLexicalLoopIterators.pm | 2 +- + lib/Perl/Critic/Utils.pm | 2 ++ + lib/Perl/Critic/Utils/PPI.pm | 2 +- + t/20_policy_pod_spelling.t | 4 ++-- + xt/40_perlcriticrc-code | 2 +- + 21 files changed, 41 insertions(+), 23 deletions(-) diff --git a/.travis.yml b/.travis.yml -index 6eeb384..c068d44 100644 +index c907085f..9a01a667 100644 --- a/.travis.yml +++ b/.travis.yml -@@ -30,8 +30,8 @@ notifications: +@@ -2,8 +2,8 @@ addons: apt: packages: -- - aspell -- - aspell-en -+ - hunspell -+ - hunspell-en-us +- - aspell +- - aspell-en ++ - hunspell ++ - hunspell-en-us + language: perl + perl: + # blead and dev don't play nicely with Module::Build +diff --git a/bin/perlcritic b/bin/perlcritic +index e9455658..08f8f0ec 100644 +--- a/bin/perlcritic ++++ b/bin/perlcritic +@@ -30,7 +30,7 @@ __END__ + =for stopwords DGR INI-style vim-fu minibuffer -noprofile API + -profileproto -profile-proto ben Jore formatter Peshak pbp Komodo +-screenshots tty emacs gVIM plugin Perlish templating ActivePerl ++screenshots tty emacs grep gVIM plugin Perlish templating ActivePerl + ActiveState Twitter - install: + =head1 NAME +diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm +index 26ee6107..876e5ed6 100644 +--- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm ++++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitBooleanGrep.pm +@@ -86,6 +86,8 @@ __END__ + + =pod + ++=for stopwords grep ++ + =head1 NAME + + Perl::Critic::Policy::BuiltinFunctions::ProhibitBooleanGrep - Use C instead of C in boolean context. diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm -index dccaab0..1270780 100644 +index 53187398..4fa75fe0 100644 --- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm +++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitLvalueSubstr.pm @@ -64,7 +64,7 @@ __END__ @@ -56,8 +94,21 @@ index dccaab0..1270780 100644 =head1 NAME +diff --git a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm +index 6fed7ef9..32d01e92 100644 +--- a/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm ++++ b/lib/Perl/Critic/Policy/BuiltinFunctions/ProhibitShiftRef.pm +@@ -94,7 +94,7 @@ modules. + =head2 Background + + Often, C<\shift> is used to create references that act much like an alias. By +-creating an ‘alias’ that is named, the code becomes more readable. For example, ++creating an 'alias' that is named, the code becomes more readable. For example, + + sub routine { + my $longstring = \shift; diff --git a/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm b/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm -index 8049d89..de609ed 100644 +index 5a18fe8f..9305065d 100644 --- a/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm +++ b/lib/Perl/Critic/Policy/Documentation/PodSpelling.pm @@ -39,7 +39,7 @@ sub supported_parameters { @@ -117,7 +168,7 @@ index 8049d89..de609ed 100644 Pod::Spell->new()->parse_from_file("lib/Your/Module.pm")' >> to see what is actually being checked for spelling. diff --git a/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm b/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm -index 6865003..6845573 100644 +index 591f1d43..9899c0f9 100644 --- a/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm +++ b/lib/Perl/Critic/Policy/ErrorHandling/RequireCheckingReturnValueOfEval.pm @@ -299,7 +299,7 @@ __END__ @@ -130,7 +181,7 @@ index 6865003..6845573 100644 =head1 NAME diff --git a/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm b/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm -index 5ad8768..b084dac 100644 +index bd5132d8..a8197541 100644 --- a/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm +++ b/lib/Perl/Critic/Policy/Modules/RequireBarewordIncludes.pm @@ -46,6 +46,8 @@ __END__ @@ -142,8 +193,21 @@ index 5ad8768..b084dac 100644 =head1 NAME Perl::Critic::Policy::Modules::RequireBarewordIncludes - Write C instead of C. +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm +index e47e4e10..ca9efec9 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitCaptureWithoutTest.pm +@@ -307,6 +307,8 @@ __END__ + + =pod + ++=for stopwords regexp ++ + =head1 NAME + + Perl::Critic::Policy::RegularExpressions::ProhibitCaptureWithoutTest - Capture variable used outside conditional. diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm -index 46aa649..30316e3 100644 +index 963dc53b..0b5a5459 100644 --- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm +++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitComplexRegexes.pm @@ -99,7 +99,7 @@ __END__ @@ -151,12 +215,90 @@ index 46aa649..30316e3 100644 =pod -=for stopwords BNF Tatsuhiko Miyagawa -+=for stopwords BNF RFC822 Tatsuhiko Miyagawa ++=for stopwords BNF regexp RFC822 Tatsuhiko Miyagawa + + =head1 NAME + +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm +index 8821afa3..f2ca75b9 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitFixedStringMatches.pm +@@ -82,6 +82,8 @@ __END__ + + =pod + ++=for stopwords regexp ++ + =head1 NAME + + Perl::Critic::Policy::RegularExpressions::ProhibitFixedStringMatches - Use C or hash instead of fixed-pattern regexps. +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm +index 88c1e95e..eeecd5c8 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitSingleCharAlternation.pm +@@ -83,6 +83,8 @@ __END__ + =pod + ++=for stopwords regexp ++ =head1 NAME + Perl::Critic::Policy::RegularExpressions::ProhibitSingleCharAlternation - Use C<[abc]> instead of C. +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm +index 88760362..98363d54 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusedCapture.pm +@@ -715,7 +715,7 @@ __END__ + + =pod + +-=for stopwords refactored ++=for stopwords refactored regexp + + =head1 NAME + +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm +index ddf703c3..497b5448 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/ProhibitUnusualDelimiters.pm +@@ -77,6 +77,8 @@ __END__ + + =pod + ++=for stopwords regexp ++ + =head1 NAME + + Perl::Critic::Policy::RegularExpressions::ProhibitUnusualDelimiters - Use only C or C<{}> to delimit regexps. +diff --git a/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm b/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm +index ed4ffbef..b6363ef0 100644 +--- a/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm ++++ b/lib/Perl/Critic/Policy/RegularExpressions/RequireBracesForMultiline.pm +@@ -77,6 +77,8 @@ __END__ + + =pod + ++=for stopwords regexp ++ + =head1 NAME + + Perl::Critic::Policy::RegularExpressions::RequireBracesForMultiline - Use C<{> and C<}> to delimit multi-line regexps. +diff --git a/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm b/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm +index 37d80063..ae5da1ec 100644 +--- a/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm ++++ b/lib/Perl/Critic/Policy/Variables/ProhibitPunctuationVars.pm +@@ -326,6 +326,8 @@ __END__ + + =pod + ++=for stopwords regexp ++ + =head1 NAME + + Perl::Critic::Policy::Variables::ProhibitPunctuationVars - Write C<$EVAL_ERROR> instead of C<$@>. diff --git a/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm b/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm -index 4690658..8185dd9 100644 +index 296bbdba..27afcc7c 100644 --- a/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm +++ b/lib/Perl/Critic/Policy/Variables/RequireLexicalLoopIterators.pm @@ -66,7 +66,7 @@ __END__ @@ -168,8 +310,34 @@ index 4690658..8185dd9 100644 =head1 NAME +diff --git a/lib/Perl/Critic/Utils.pm b/lib/Perl/Critic/Utils.pm +index fccc823b..5806aa5b 100644 +--- a/lib/Perl/Critic/Utils.pm ++++ b/lib/Perl/Critic/Utils.pm +@@ -1397,6 +1397,8 @@ __END__ + + =pod + ++=for stopwords foo ++ + =head1 NAME + + Perl::Critic::Utils - General utility subroutines and constants for Perl::Critic and derivative distributions. +diff --git a/lib/Perl/Critic/Utils/PPI.pm b/lib/Perl/Critic/Utils/PPI.pm +index 38d49675..9245e3d5 100644 +--- a/lib/Perl/Critic/Utils/PPI.pm ++++ b/lib/Perl/Critic/Utils/PPI.pm +@@ -235,7 +235,7 @@ __END__ + + =pod + +-=for stopwords ++=for stopwords FOO + + =head1 NAME + diff --git a/t/20_policy_pod_spelling.t b/t/20_policy_pod_spelling.t -index f41a5c6..7b37030 100644 +index 274b73d1..e9c5de4f 100644 --- a/t/20_policy_pod_spelling.t +++ b/t/20_policy_pod_spelling.t @@ -58,10 +58,10 @@ $code = <<'END_PERL'; @@ -186,11 +354,11 @@ index f41a5c6..7b37030 100644 if ( ! eval { ! pcritique($policy, \$code) } ) { skip 'Test environment is not English', $NUMBER_OF_TESTS; diff --git a/xt/40_perlcriticrc-code b/xt/40_perlcriticrc-code -index c37fede..253d15c 100644 +index 25d5a933..b488284e 100644 --- a/xt/40_perlcriticrc-code +++ b/xt/40_perlcriticrc-code -@@ -18,7 +18,7 @@ strict = 1 - [-Documentation::RequirePodLinksIncludeText] +@@ -17,7 +17,7 @@ strict = 1 + [-CodeLayout::RequireTidyCode] [Documentation::PodSpelling] -spell_command = aspell list -l en_US @@ -199,5 +367,5 @@ index c37fede..253d15c 100644 [Documentation::RequirePodSections] -- -2.9.4 +2.21.0 diff --git a/perl-Perl-Critic-1.132-PPI.patch b/perl-Perl-Critic-1.132-PPI.patch deleted file mode 100644 index 64226b2..0000000 --- a/perl-Perl-Critic-1.132-PPI.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- lib/Perl/Critic/Command.pm -+++ lib/Perl/Critic/Command.pm -@@ -187,7 +187,7 @@ sub _get_input { - - # Reading code from STDIN. All the code is slurped into - # a string. PPI will barf if the string is just whitespace. -- my $code_string = do { local $RS = undef; }; -+ my $code_string = do { local $RS = undef; }; ## no critic (InputOutput::ProhibitExplicitStdin) - - # Notice if STDIN was closed (pipe error, etc) - if ( ! defined $code_string ) { ---- t/05_utils.t -+++ t/05_utils.t -@@ -418,7 +418,7 @@ sub test_parse_arg_list { - [ - q/foo( { bar() }, {}, 'blah' )/ - => [ -- ' { bar() }', -+ [ '{ bar() }' ], - [ qw< {} > ], - [ q<'blah'> ], - ], diff --git a/perl-Perl-Critic.spec b/perl-Perl-Critic.spec index 408e634..25a3f82 100644 --- a/perl-Perl-Critic.spec +++ b/perl-Perl-Critic.spec @@ -1,12 +1,11 @@ Name: perl-Perl-Critic -Version: 1.132 -Release: 8%{?dist} +Version: 1.134 +Release: 1%{?dist} Summary: Critique Perl source code for best-practices License: GPL+ or Artistic URL: https://metacpan.org/release/Perl-Critic -Source0: https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/Perl-Critic-%{version}.tar.gz +Source0: https://cpan.metacpan.org/modules/by-module/Perl/Perl-Critic-%{version}.tar.gz Patch0: 0001-Change-default-spell-check-tool-from-aspell-to-hunsp.patch -Patch1: perl-Perl-Critic-1.132-PPI.patch BuildArch: noarch # Build process @@ -29,7 +28,6 @@ BuildRequires: perl(English) BuildRequires: perl(Exception::Class) >= 1.23 BuildRequires: perl(Exporter) >= 5.58 BuildRequires: perl(File::Find) -BuildRequires: perl(File::HomeDir) BuildRequires: perl(File::Path) BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec::Unix) @@ -46,18 +44,20 @@ BuildRequires: perl(Pod::PlainText) BuildRequires: perl(Pod::Select) BuildRequires: perl(Pod::Spell) >= 1 BuildRequires: perl(Pod::Usage) -BuildRequires: perl(PPI) >= 1.250 +BuildRequires: perl(PPI) >= 1.265 BuildRequires: perl(PPIx::QuoteLike) BuildRequires: perl(PPIx::Regexp) >= 0.010 BuildRequires: perl(PPIx::Utilities::Node) BuildRequires: perl(PPIx::Utilities::Statement) >= 1.001 BuildRequires: perl(Readonly) >= 2 BuildRequires: perl(Scalar::Util) +BuildRequires: perl(strict) BuildRequires: perl(String::Format) >= 1.13 BuildRequires: perl(Term::ANSIColor) >= 2.02 BuildRequires: perl(Test::Builder) >= 0.92 BuildRequires: perl(Text::ParseWords) >= 3 BuildRequires: perl(version) >= 0.77 +BuildRequires: perl(warnings) # Main test suite %if 0%{?fedora} > 23 || 0%{?rhel} > 7 @@ -88,11 +88,10 @@ BuildRequires: perl(Test::Without::Module) # Optional/not automatically detected runtime dependencies Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: hunspell >= 1.2.12 -Requires: perl(File::HomeDir) Requires: perl(File::Which) Requires: perl(Module::Pluggable) >= 3.1 Requires: perl(Pod::Parser) -Requires: perl(PPI) >= 1.224 +Requires: perl(PPI) >= 1.265 Requires: perl(Term::ANSIColor) >= 2.02 %description @@ -123,10 +122,6 @@ of Perl code were mixed directly in the test script. That sucked. # Switch spell checker tool from aspell to hunspell %patch0 -p1 -# Workaround for PPI ≥ 1.250 -# https://github.com/Perl-Critic/Perl-Critic/issues/858 -%patch1 - # Drop exec bits from samples/docs to avoid dependency bloat find tools examples -type f -exec chmod -c -x {} ';' @@ -158,6 +153,23 @@ LC_ALL=en_US ./Build %{!?perl_bootstrap:author}test %{_mandir}/man3/Test::Perl::Critic::Policy.3* %changelog +* Thu May 23 2019 Paul Howarth - 1.134-1 +- Update to 1.134 + New Features + - Added new policy BuiltinFunctions::ProhibitShiftRef (GH#837) + - Support indented heredocs (GH#861) + - In Subroutines::ProhibitManyArgs, you can now omit the object variable + (C<$self> or C<$class>) from the argument count (GH#815) + Policy Changes + - The policy Documentation::RequirePodLinksIncludeText is obsolete and has + been removed (GH#494) + Dependencies + - Removed use of File::HomeDir + - Upgrade to PPI 1.265 (GH#860) + - Fix failed tests caused by new PPI (GH#858) + Internals + - Updated the Appveyor config (GH#851) + * Mon Apr 29 2019 Paul Howarth - 1.132-8 - Add workaround for PPI ≥ 1.262 diff --git a/sources b/sources index 9137196..e087ea5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (Perl-Critic-1.132.tar.gz) = 489d551b4913071a9001e8476425079b3aeef44838feff622edfdb64ca09f62b569f5338d2e1982d3ccd3fdb8f30caf077ceac5ec1beebafbde7a01d6deed890 +SHA512 (Perl-Critic-1.134.tar.gz) = 73d3fd891e055aec5dd38680696ae30f6662d0906baeea878f393adb96e34079e561cd4c3dad00f0c84c7d3a72f3119b2f8ef0c0a1601aaccc8456f1c0039b7a