Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package perl-FFI-CheckLib for openSUSE:Factory checked in at 2021-05-20 19:24:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-FFI-CheckLib (Old) and /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2988 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-FFI-CheckLib" Thu May 20 19:24:38 2021 rev:4 rq:893995 version:0.28 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-FFI-CheckLib/perl-FFI-CheckLib.changes 2020-05-14 23:25:17.477046030 +0200 +++ /work/SRC/openSUSE:Factory/.perl-FFI-CheckLib.new.2988/perl-FFI-CheckLib.changes 2021-05-20 19:24:54.341980551 +0200 @@ -1,0 +2,14 @@ +Mon May 17 03:06:58 UTC 2021 - Tina M??ller <timueller+p...@suse.de> + +- updated to 0.28 + see /usr/share/doc/packages/perl-FFI-CheckLib/Changes + + 0.28 2021-05-16 15:10:34 -0600 + - Avoid undef warning from File::Spec->catpath (gh#30, gh#33) + - The alien option now works in fallback mode; if one or more of the + Aliens are not installed then they will be ignored, previously this + module would throw whatever exception was produced by require (gh#23, gh#34) + - Move to PerlFFI org on GitHub (previously this dist lived in Perl5-FFI) + (gh#24) + +------------------------------------------------------------------- Old: ---- FFI-CheckLib-0.27.tar.gz New: ---- FFI-CheckLib-0.28.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-FFI-CheckLib.spec ++++++ --- /var/tmp/diff_new_pack.uSIiVy/_old 2021-05-20 19:24:54.741978911 +0200 +++ /var/tmp/diff_new_pack.uSIiVy/_new 2021-05-20 19:24:54.745978893 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-FFI-CheckLib # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,24 +16,24 @@ # +%define cpan_name FFI-CheckLib Name: perl-FFI-CheckLib -Version: 0.27 +Version: 0.28 Release: 0 -%define cpan_name FFI-CheckLib Summary: Check that a library is available for FFI License: Artistic-1.0 OR GPL-1.0-or-later -Group: Development/Libraries/Perl URL: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(List::Util) >= 1.33 BuildRequires: perl(Test2::API) >= 1.302015 BuildRequires: perl(Test2::Require::EnvVar) >= 0.000060 BuildRequires: perl(Test2::Require::Module) >= 0.000060 BuildRequires: perl(Test2::V0) >= 0.000060 +Requires: perl(List::Util) >= 1.33 %{perl_requires} %description @@ -45,12 +45,12 @@ FFI system. %prep -%setup -q -n %{cpan_name}-%{version} +%autosetup -n %{cpan_name}-%{version} find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644 %build perl Makefile.PL INSTALLDIRS=vendor -make %{?_smp_mflags} +%make_build %check make test @@ -61,7 +61,6 @@ %perl_gen_filelist %files -f %{name}.files -%defattr(-,root,root,755) %doc author.yml Changes example README %license LICENSE ++++++ FFI-CheckLib-0.27.tar.gz -> FFI-CheckLib-0.28.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/Changes new/FFI-CheckLib-0.28/Changes --- old/FFI-CheckLib-0.27/Changes 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/Changes 2021-05-16 23:10:36.000000000 +0200 @@ -1,5 +1,13 @@ Revision history for FFI-CheckLib +0.28 2021-05-16 15:10:34 -0600 + - Avoid undef warning from File::Spec->catpath (gh#30, gh#33) + - The alien option now works in fallback mode; if one or more of the + Aliens are not installed then they will be ignored, previously this + module would throw whatever exception was produced by require (gh#23, gh#34) + - Move to PerlFFI org on GitHub (previously this dist lived in Perl5-FFI) + (gh#24) + 0.27 2020-05-11 14:24:08 -0400 - Added a FAQ section to the documentation (gh#22) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/MANIFEST new/FFI-CheckLib-0.28/MANIFEST --- old/FFI-CheckLib-0.27/MANIFEST 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/MANIFEST 2021-05-16 23:10:36.000000000 +0200 @@ -1,4 +1,4 @@ -# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.014. +# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.017. Changes INSTALL LICENSE @@ -65,6 +65,7 @@ example/whichdll.pl lib/FFI/CheckLib.pm maint/cip-before-install +perlcriticrc t/00_diag.t t/ci.t t/ffi_checklib.t @@ -77,6 +78,7 @@ t/lib/Test2/Plugin/FauxOS.pm t/lib/Test2/Tools/FauxDynaLoader.pm t/lib/Test2/Tools/NoteStderr.pm +xt/author/critic.t xt/author/eol.t xt/author/no_tabs.t xt/author/pod.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/META.json new/FFI-CheckLib-0.28/META.json --- old/FFI-CheckLib-0.27/META.json 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/META.json 2021-05-16 23:10:36.000000000 +0200 @@ -4,13 +4,13 @@ "Graham Ollis <plice...@cpan.org>" ], "dynamic_config" : 0, - "generated_by" : "Dist::Zilla version 6.014, CPAN::Meta::Converter version 2.150010", + "generated_by" : "Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "FFI-CheckLib", "no_index" : { @@ -28,6 +28,10 @@ "develop" : { "requires" : { "FindBin" : "0", + "Perl::Critic" : "0", + "Test2::Require::Module" : "0.000060", + "Test2::Tools::PerlCritic" : "0", + "Test2::V0" : "0.000060", "Test::CPAN::Changes" : "0", "Test::EOL" : "0", "Test::Fixme" : "0.07", @@ -43,6 +47,7 @@ }, "runtime" : { "requires" : { + "List::Util" : "1.33", "perl" : "5.006" } }, @@ -59,17 +64,17 @@ "release_status" : "stable", "resources" : { "bugtracker" : { - "web" : "https://github.com/Perl5-FFI/FFI-CheckLib/issues" + "web" : "https://github.com/PerlFFI/FFI-CheckLib/issues" }, "homepage" : "https://metacpan.org/pod/FFI::CheckLib", "repository" : { "type" : "git", - "url" : "git://github.com/Perl5-FFI/FFI-CheckLib.git", - "web" : "https://github.com/Perl5-FFI/FFI-CheckLib" + "url" : "git://github.com/PerlFFI/FFI-CheckLib.git", + "web" : "https://github.com/PerlFFI/FFI-CheckLib" }, "x_IRC" : "irc://irc.perl.org/#native" }, - "version" : "0.27", + "version" : "0.28", "x_contributors" : [ "Graham Ollis <plice...@cpan.org>", "Bakkiaraj Murugesan (bakkiaraj)", @@ -78,8 +83,8 @@ "Shawn Laffan (SLAFFAN)", "Petr Pisar (ppisar)" ], - "x_generated_by_perl" : "v5.30.0", - "x_serialization_backend" : "JSON::XS version 4.02", + "x_generated_by_perl" : "v5.33.9", + "x_serialization_backend" : "Cpanel::JSON::XS version 4.26", "x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later", "x_use_unsafe_inc" : 0 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/META.yml new/FFI-CheckLib-0.28/META.yml --- old/FFI-CheckLib-0.27/META.yml 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/META.yml 2021-05-16 23:10:36.000000000 +0200 @@ -12,7 +12,7 @@ ExtUtils::MakeMaker: '0' perl: '5.006' dynamic_config: 0 -generated_by: 'Dist::Zilla version 6.014, CPAN::Meta::Converter version 2.150010' +generated_by: 'Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -22,13 +22,14 @@ directory: - corpus requires: + List::Util: '1.33' perl: '5.006' resources: IRC: irc://irc.perl.org/#native - bugtracker: https://github.com/Perl5-FFI/FFI-CheckLib/issues + bugtracker: https://github.com/PerlFFI/FFI-CheckLib/issues homepage: https://metacpan.org/pod/FFI::CheckLib - repository: git://github.com/Perl5-FFI/FFI-CheckLib.git -version: '0.27' + repository: git://github.com/PerlFFI/FFI-CheckLib.git +version: '0.28' x_contributors: - 'Graham Ollis <plice...@cpan.org>' - 'Bakkiaraj Murugesan (bakkiaraj)' @@ -36,7 +37,7 @@ - 'Ilya Pavlov (Ilya, ILUX)' - 'Shawn Laffan (SLAFFAN)' - 'Petr Pisar (ppisar)' -x_generated_by_perl: v5.30.0 +x_generated_by_perl: v5.33.9 x_serialization_backend: 'YAML::Tiny version 1.73' x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later' x_use_unsafe_inc: 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/Makefile.PL new/FFI-CheckLib-0.28/Makefile.PL --- old/FFI-CheckLib-0.27/Makefile.PL 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/Makefile.PL 2021-05-16 23:10:36.000000000 +0200 @@ -5,7 +5,7 @@ exit; } } -# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.47. +# This file was automatically generated by Dist::Zilla::Plugin::Author::Plicease::MakeMaker v2.63. use strict; use warnings; use 5.006; @@ -24,20 +24,23 @@ "PM" => { "lib/FFI/CheckLib.pm" => "\$(INST_LIB)/FFI/CheckLib.pm" }, - "PREREQ_PM" => {}, + "PREREQ_PM" => { + "List::Util" => "1.33" + }, "TEST_REQUIRES" => { "Test2::API" => "1.302015", "Test2::Require::EnvVar" => "0.000060", "Test2::Require::Module" => "0.000060", "Test2::V0" => "0.000060" }, - "VERSION" => "0.27", + "VERSION" => "0.28", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( + "List::Util" => "1.33", "Test2::API" => "1.302015", "Test2::Require::EnvVar" => "0.000060", "Test2::Require::Module" => "0.000060", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/README new/FFI-CheckLib-0.28/README --- old/FFI-CheckLib-0.27/README 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/README 2021-05-16 23:10:36.000000000 +0200 @@ -4,7 +4,7 @@ VERSION - version 0.27 + version 0.28 SYNOPSIS @@ -133,6 +133,15 @@ libraries, which is to say they should provide a method called dynamic_libs that returns a list of dynamic libraries. + [version 0.28] + + In 0.28 and later, if the Alien is not installed then it will be + ignored and this module will search in system or specified + directories only. This module will still throw an exception, if the + Alien doesn't look like a module name or if it does not provide a + dynamic_libs method (which is implemented by all Alien::Base + subclasses). + assert_lib assert_lib(%args); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/dist.ini new/FFI-CheckLib-0.28/dist.ini --- old/FFI-CheckLib-0.27/dist.ini 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/dist.ini 2021-05-16 23:10:36.000000000 +0200 @@ -3,20 +3,22 @@ license = Perl_5 copyright_holder = Graham Ollis copyright_year = 2014-2018 -version = 0.27 +version = 0.28 [@Author::Plicease] :version = 2.47 -travis_status = 1 release_tests = 1 irc = irc://irc.perl.org/#native test2_v0 = 1 -diag = +Test::Exit +diag = +Test2::Tools::Process diag = +DynaLoader diag = +FFI::Platypus -github_user = Perl5-FFI +github_user = PerlFFI github_repo = FFI-CheckLib -workflow = macos + +workflow = linux +workflow = macos +workflow = cygwin [RemovePrereqs] remove = strict @@ -32,7 +34,7 @@ remove = DynaLoader remove = FFI::Platypus -remove = Test::Exit +remove = Test2::Tools::Process [Author::Plicease::Upload] cpan = 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/lib/FFI/CheckLib.pm new/FFI-CheckLib-0.28/lib/FFI/CheckLib.pm --- old/FFI-CheckLib-0.27/lib/FFI/CheckLib.pm 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/lib/FFI/CheckLib.pm 2021-05-16 23:10:36.000000000 +0200 @@ -3,6 +3,7 @@ use strict; use warnings; use File::Spec; +use List::Util 1.33 qw( any ); use Carp qw( croak carp ); use base qw( Exporter ); @@ -22,7 +23,7 @@ ); # ABSTRACT: Check that a library is available for FFI -our $VERSION = '0.27'; # VERSION +our $VERSION = '0.28'; # VERSION our $system_path = []; @@ -154,24 +155,28 @@ ? @{ $args{systempath} } : @$system_path; - my $any = 1 if grep { $_ eq '*' } @{ $args{lib} }; + my $any = any { $_ eq '*' } @{ $args{lib} }; my %missing = map { $_ => 1 } @{ $args{lib} }; my %symbols = map { $_ => 1 } @{ $args{symbol} }; my @found; delete $missing{'*'}; - foreach my $alien (@{ $args{alien} }) + alien: foreach my $alien (@{ $args{alien} }) { unless($alien =~ /^([A-Za-z_][A-Za-z_0-9]*)(::[A-Za-z_][A-Za-z_0-9]*)*$/) { - croak "Doesn't appear to be a valid Alien name $alien"; + croak "Doesn't appear to be a valid Alien name $alien"; } unless(eval { $alien->can('dynamic_libs') }) { - my $pm = "$alien.pm"; - $pm =~ s/::/\//g; - require $pm; + { + my $pm = "$alien.pm"; + $pm =~ s/::/\//g; + local $@ = ''; + eval { require $pm }; + next alien if $@; + } unless(eval { $alien->can('dynamic_libs') }) { croak "Alien $alien doesn't provide a dynamic_libs method"; @@ -194,7 +199,7 @@ ? do { map { my($v, $d, $f) = File::Spec->splitpath($_); - _matches($f, File::Spec->catpath($v,$d)); + _matches($f, File::Spec->catpath($v,$d,'')); } @$path; } : do { @@ -401,7 +406,7 @@ =head1 VERSION -version 0.27 +version 0.28 =head1 SYNOPSIS @@ -531,6 +536,14 @@ libraries, which is to say they should provide a method called C<dynamic_libs> that returns a list of dynamic libraries. +[version 0.28] + +In 0.28 and later, if the L<Alien> is not installed then it will be +ignored and this module will search in system or specified directories +only. This module I<will> still throw an exception, if the L<Alien> +doesn't look like a module name or if it does not provide a C<dynamic_libs> +method (which is implemented by all L<Alien::Base> subclasses). + =back =head2 assert_lib diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/maint/cip-before-install new/FFI-CheckLib-0.28/maint/cip-before-install --- old/FFI-CheckLib-0.27/maint/cip-before-install 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/maint/cip-before-install 2021-05-16 23:10:36.000000000 +0200 @@ -2,26 +2,24 @@ set -ex -if echo $CIP_ENV | grep -q -- EXTRA_CI=1; then - - if echo $CIP_TAG | grep -q -- -alpine ; then - echo alpine - cip sudo apk add cmake - cip sudo apk add libffi-dev - cip sudo apk add yaml-dev - elif echo $CIP_TAG | grep -q -- -centos ; then - echo CentOS - cip sudo yum install libffi-devel libyaml-devel -y - elif echo $CIP_TAG | grep -q -- -fedora ; then - echo Fedora - cip sudo yum install cmake libffi-devel libyaml-devel -y - else - cip sudo apt-get update - cip sudo apt-get -y install libffi-dev libyaml-dev - fi +if echo $CIP_TAG | grep -q -- -alpine ; then + echo alpine + cip sudo apk add cmake + cip sudo apk add libffi-dev + cip sudo apk add yaml-dev +elif echo $CIP_TAG | grep -q -- -centos ; then + echo CentOS + cip sudo yum install libffi-devel libyaml-devel -y +elif echo $CIP_TAG | grep -q -- -fedora ; then + echo Fedora + cip sudo yum install cmake libffi-devel libyaml-devel -y +else + cip sudo apt-get update + cip sudo apt-get -y install libffi-dev libyaml-dev +fi - cip exec cpanm -n FFI::Platypus +cip exec cpanm -n FFI::Platypus +if [ $CIP_TAG != "5.8" ]; then + cip exec cpanm -n Test2::Tools::Process fi - -cip exec cpanm -n Test::Exit diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/perlcriticrc new/FFI-CheckLib-0.28/perlcriticrc --- old/FFI-CheckLib-0.27/perlcriticrc 1970-01-01 01:00:00.000000000 +0100 +++ new/FFI-CheckLib-0.28/perlcriticrc 2021-05-16 23:10:36.000000000 +0200 @@ -0,0 +1,58 @@ +severity = 1 +only = 1 + +[Freenode::ArrayAssignAref] +[Freenode::BarewordFilehandles] +[Freenode::ConditionalDeclarations] +[Freenode::ConditionalImplicitReturn] +[Freenode::DeprecatedFeatures] +[Freenode::DiscouragedModules] +[Freenode::DollarAB] +[Freenode::Each] +[Freenode::IndirectObjectNotation] +[Freenode::LexicalForeachIterator] +[Freenode::LoopOnHash] +[Freenode::ModPerl] +[Freenode::OpenArgs] +[Freenode::OverloadOptions] +[Freenode::POSIXImports] +[Freenode::PackageMatchesFilename] +[Freenode::PreferredAlternatives] +[Freenode::StrictWarnings] +extra_importers = Test2::V0 +[Freenode::Threads] +;[Freenode::Wantarray] +[Freenode::WarningsSwitch] +[Freenode::WhileDiamondDefaultAssignment] + +[BuiltinFunctions::ProhibitBooleanGrep] +;[BuiltinFunctions::ProhibitStringyEval] +[BuiltinFunctions::ProhibitStringySplit] +[BuiltinFunctions::ProhibitVoidGrep] +[BuiltinFunctions::ProhibitVoidMap] +[ClassHierarchies::ProhibitExplicitISA] +[ClassHierarchies::ProhibitOneArgBless] +[CodeLayout::ProhibitHardTabs] +allow_leading_tabs = 0 +[CodeLayout::ProhibitTrailingWhitespace] +[CodeLayout::RequireConsistentNewlines] +[ControlStructures::ProhibitLabelsWithSpecialBlockNames] +[ControlStructures::ProhibitMutatingListFunctions] +[ControlStructures::ProhibitUnreachableCode] +[InputOutput::ProhibitBarewordFileHandles] +[InputOutput::ProhibitJoinedReadline] +[InputOutput::ProhibitTwoArgOpen] +[Miscellanea::ProhibitFormats] +[Miscellanea::ProhibitUselessNoCritic] +[Modules::ProhibitConditionalUseStatements] +;[Modules::RequireEndWithOne] +[Modules::RequireNoMatchVarsWithUseEnglish] +[Objects::ProhibitIndirectSyntax] +[RegularExpressions::ProhibitUselessTopic] +[Subroutines::ProhibitNestedSubs] +[ValuesAndExpressions::ProhibitLeadingZeros] +[ValuesAndExpressions::ProhibitMixedBooleanOperators] +[ValuesAndExpressions::ProhibitSpecialLiteralHeredocTerminator] +[ValuesAndExpressions::RequireUpperCaseHeredocTerminator] +[Variables::ProhibitPerl4PackageNames] +[Variables::ProhibitUnusedVariables] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/00_diag.t new/FFI-CheckLib-0.28/t/00_diag.t --- old/FFI-CheckLib-0.27/t/00_diag.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/00_diag.t 2021-05-16 23:10:36.000000000 +0200 @@ -13,11 +13,12 @@ DynaLoader ExtUtils::MakeMaker FFI::Platypus + List::Util Test2::API Test2::Require::EnvVar Test2::Require::Module + Test2::Tools::Process Test2::V0 - Test::Exit ); @@ -62,7 +63,7 @@ spacer; } -diag sprintf $format, 'perl ', $]; +diag sprintf $format, 'perl', "$] $^O $Config{archname}"; foreach my $module (sort @modules) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ci.t new/FFI-CheckLib-0.28/t/ci.t --- old/FFI-CheckLib-0.27/t/ci.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ci.t 2021-05-16 23:10:36.000000000 +0200 @@ -1,4 +1,4 @@ -use Test2::Require::EnvVar 'EXTRA_CI'; +use Test2::Require::EnvVar 'CIPSOMETHING'; use Test2::V0 -no_srand => 1; use FFI::CheckLib qw( find_lib ); use FFI::Platypus; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib.t new/FFI-CheckLib-0.28/t/ffi_checklib.t --- old/FFI-CheckLib-0.27/t/ffi_checklib.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib.t 2021-05-16 23:10:36.000000000 +0200 @@ -191,9 +191,25 @@ subtest 'invalid name' => sub { - local $@ = ''; - eval { FFI::CheckLib::find_lib( lib => 'bar', alien => ['x..y']) }; - like "$@", qr/Doesn't appear to be a valid Alien name x\.\.y/; + is dies { FFI::CheckLib::find_lib( lib => 'bar', alien => ['x..y']) }, match qr/Doesn't appear to be a valid Alien name x\.\.y/; + + }; + + subtest 'no dynamic_libs method' => sub { + + { + package Alien::libbaz; + $INC{'Alien/libbaz.pm'} = __PACKAGE__; + } + + is dies { FFI::CheckLib::find_lib( lib => 'baz', alien => ['Alien::libbaz']) }, match qr/Alien Alien::libbaz doesn't provide a dynamic_libs method/; + }; + + subtest 'not installed' => sub { + + try_ok { + FFI::CheckLib::find_lib( lib => 'baz', alien => ['Alien::libnotinstalled']); + }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__exit.t new/FFI-CheckLib-0.28/t/ffi_checklib__exit.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__exit.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__exit.t 2021-05-16 23:10:36.000000000 +0200 @@ -1,9 +1,9 @@ use lib 't/lib'; -use Test2::Require::Module 'Test::Exit'; +use Test2::Require::Module 'Test2::Tools::Process'; use Test2::V0 -no_srand => 1; use Test2::Plugin::FauxOS 'linux'; use Test2::Tools::NoteStderr qw( note_stderr ); -use Test::Exit; +use Test2::Tools::Process; use FFI::CheckLib; @$FFI::CheckLib::system_path = ( @@ -14,11 +14,13 @@ subtest 'check_lib_or_exit' => sub { subtest 'found' => sub { - never_exits_ok { check_lib_or_exit( lib => 'foo' ) }; + process { check_lib_or_exit( lib => 'foo' ) } []; }; subtest 'not found' => sub { - exits_zero { note_stderr { check_lib_or_exit( lib => 'foobar') } }; + process { note_stderr { check_lib_or_exit( lib => 'foobar') } } [ + proc_event( exit => 0 ), + ]; }; }; @@ -26,16 +28,13 @@ subtest 'find_lib_or_exit' => sub { subtest 'found' => sub { - my $path; - never_exits_ok { $path = find_lib_or_exit( lib => 'foo' ) }; - is $@, '', 'no exit'; - ok $path, "path = $path"; - my $path2 = eval { find_lib_or_exit( lib => 'foo' ) }; - is $path, $path2, 'scalar context'; + process { my $path = find_lib_or_exit( lib => 'foo' ) } []; }; subtest 'not found' => sub { - exits_zero { note_stderr { find_lib_or_exit( lib => 'foobar') } }; + process { note_stderr { my $path = find_lib_or_exit( lib => 'foobar') } } [ + proc_event( exit => 0 ), + ]; }; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__os_cygwin.t new/FFI-CheckLib-0.28/t/ffi_checklib__os_cygwin.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__os_cygwin.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__os_cygwin.t 2021-05-16 23:10:36.000000000 +0200 @@ -164,7 +164,7 @@ }; -sub p ($) +sub p { my($path) = @_; $path =~ s{/}{\\}g if $^O eq 'MSWin32'; @@ -184,9 +184,9 @@ is( $process->(qw( cygfoo-1.dll cygbar-2.dll cygbaz-0.dll )), [ - [ 'bar', p '/bin/cygbar-2.dll', 2 ], - [ 'baz', p '/bin/cygbaz-0.dll', 0 ], - [ 'foo', p '/bin/cygfoo-1.dll', 1 ], + [ 'bar', p('/bin/cygbar-2.dll'), 2 ], + [ 'baz', p('/bin/cygbaz-0.dll'), 0 ], + [ 'foo', p('/bin/cygfoo-1.dll'), 1 ], ], 'name first 1', ); @@ -194,9 +194,9 @@ is( $process->(qw( cygbaz-0.dll cygfoo-1.dll cygbar-2.dll )), [ - [ 'bar', p '/bin/cygbar-2.dll', 2 ], - [ 'baz', p '/bin/cygbaz-0.dll', 0 ], - [ 'foo', p '/bin/cygfoo-1.dll', 1 ], + [ 'bar', p('/bin/cygbar-2.dll'), 2 ], + [ 'baz', p('/bin/cygbaz-0.dll'), 0 ], + [ 'foo', p('/bin/cygfoo-1.dll'), 1 ], ], 'name first 1', ); @@ -204,9 +204,9 @@ is( $process->(qw( cygbar-2.dll cygfoo-1.dll cygbaz-0.dll )), [ - [ 'bar', p '/bin/cygbar-2.dll', 2 ], - [ 'baz', p '/bin/cygbaz-0.dll', 0 ], - [ 'foo', p '/bin/cygfoo-1.dll', 1 ], + [ 'bar', p('/bin/cygbar-2.dll'), 2 ], + [ 'baz', p('/bin/cygbaz-0.dll'), 0 ], + [ 'foo', p('/bin/cygfoo-1.dll'), 1 ], ], 'name first 1', ); @@ -214,9 +214,9 @@ is( $process->(qw( cygfoo-2.dll cygfoo-0.dll cygfoo-1.dll )), [ - [ 'foo', p '/bin/cygfoo-2.dll', 2, ], - [ 'foo', p '/bin/cygfoo-1.dll', 1, ], - [ 'foo', p '/bin/cygfoo-0.dll', 0, ], + [ 'foo', p('/bin/cygfoo-2.dll'), 2, ], + [ 'foo', p('/bin/cygfoo-1.dll'), 1, ], + [ 'foo', p('/bin/cygfoo-0.dll'), 0, ], ], 'newer version first', ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__os_darwin.t new/FFI-CheckLib-0.28/t/ffi_checklib__os_darwin.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__os_darwin.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__os_darwin.t 2021-05-16 23:10:36.000000000 +0200 @@ -147,7 +147,7 @@ }; -sub p ($) +sub p { my($path) = @_; $path =~ s{/}{\\}g if $^O eq 'MSWin32'; @@ -167,9 +167,9 @@ is( $process->(qw( libfoo.1.2.3.dylib libbar.3.4.5.dylib libbaz.0.0.0.dylib )), [ - [ 'bar', p '/lib/libbar.3.4.5.dylib', 3,4,5 ], - [ 'baz', p '/lib/libbaz.0.0.0.dylib', 0,0,0 ], - [ 'foo', p '/lib/libfoo.1.2.3.dylib', 1,2,3 ], + [ 'bar', p('/lib/libbar.3.4.5.dylib'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.0.0.0.dylib'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.1.2.3.dylib'), 1,2,3 ], ], 'name first 1', ); @@ -177,9 +177,9 @@ is( $process->(qw( libbaz.0.0.0.dylib libfoo.1.2.3.dylib libbar.3.4.5.dylib )), [ - [ 'bar', p '/lib/libbar.3.4.5.dylib', 3,4,5 ], - [ 'baz', p '/lib/libbaz.0.0.0.dylib', 0,0,0 ], - [ 'foo', p '/lib/libfoo.1.2.3.dylib', 1,2,3 ], + [ 'bar', p('/lib/libbar.3.4.5.dylib'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.0.0.0.dylib'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.1.2.3.dylib'), 1,2,3 ], ], 'name first 2', ); @@ -187,9 +187,9 @@ is( $process->(qw( libbar.3.4.5.dylib libbaz.0.0.0.dylib libfoo.1.2.3.dylib )), [ - [ 'bar', p '/lib/libbar.3.4.5.dylib', 3,4,5 ], - [ 'baz', p '/lib/libbaz.0.0.0.dylib', 0,0,0 ], - [ 'foo', p '/lib/libfoo.1.2.3.dylib', 1,2,3 ], + [ 'bar', p('/lib/libbar.3.4.5.dylib'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.0.0.0.dylib'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.1.2.3.dylib'), 1,2,3 ], ], 'name first 3', ); @@ -197,10 +197,10 @@ is( $process->(qw( libfoo.1.2.3.dylib libfoo.dylib libfoo.1.2.dylib libfoo.1.dylib )), [ - [ 'foo', p '/lib/libfoo.dylib', ], - [ 'foo', p '/lib/libfoo.1.dylib', 1 ], - [ 'foo', p '/lib/libfoo.1.2.dylib', 1,2 ], - [ 'foo', p '/lib/libfoo.1.2.3.dylib', 1,2,3 ], + [ 'foo', p('/lib/libfoo.dylib'), ], + [ 'foo', p('/lib/libfoo.1.dylib'), 1 ], + [ 'foo', p('/lib/libfoo.1.2.dylib'), 1,2 ], + [ 'foo', p('/lib/libfoo.1.2.3.dylib'), 1,2,3 ], ], 'no version before version', ); @@ -208,9 +208,9 @@ is( $process->(qw( libfoo.2.3.4.dylib libfoo.1.2.3.dylib libfoo.3.4.5.dylib )), [ - [ 'foo', p '/lib/libfoo.3.4.5.dylib', 3,4,5 ], - [ 'foo', p '/lib/libfoo.2.3.4.dylib', 2,3,4 ], - [ 'foo', p '/lib/libfoo.1.2.3.dylib', 1,2,3 ], + [ 'foo', p('/lib/libfoo.3.4.5.dylib'), 3,4,5 ], + [ 'foo', p('/lib/libfoo.2.3.4.dylib'), 2,3,4 ], + [ 'foo', p('/lib/libfoo.1.2.3.dylib'), 1,2,3 ], ], 'newer version first', ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__os_mswin32.t new/FFI-CheckLib-0.28/t/ffi_checklib__os_mswin32.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__os_mswin32.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__os_mswin32.t 2021-05-16 23:10:36.000000000 +0200 @@ -70,7 +70,7 @@ }; -sub p ($) +sub p { my($path) = @_; $path =~ s{/}{\\}g if $^O eq 'MSWin32'; @@ -90,9 +90,9 @@ is( $process->(qw( foo-1.dll bar-2.dll baz-0.dll )), [ - [ 'bar', p 'C:/bin/bar-2.dll', 2 ], - [ 'baz', p 'C:/bin/baz-0.dll', 0 ], - [ 'foo', p 'C:/bin/foo-1.dll', 1 ], + [ 'bar', p('C:/bin/bar-2.dll'), 2 ], + [ 'baz', p('C:/bin/baz-0.dll'), 0 ], + [ 'foo', p('C:/bin/foo-1.dll'), 1 ], ], 'name first 1', ); @@ -100,9 +100,9 @@ is( $process->(qw( baz-0.dll foo-1.dll bar-2.dll )), [ - [ 'bar', p 'C:/bin/bar-2.dll', 2 ], - [ 'baz', p 'C:/bin/baz-0.dll', 0 ], - [ 'foo', p 'C:/bin/foo-1.dll', 1 ], + [ 'bar', p('C:/bin/bar-2.dll'), 2 ], + [ 'baz', p('C:/bin/baz-0.dll'), 0 ], + [ 'foo', p('C:/bin/foo-1.dll'), 1 ], ], 'name first 1', ); @@ -110,9 +110,9 @@ is( $process->(qw( bar-2.dll foo-1.dll baz-0.dll )), [ - [ 'bar', p 'C:/bin/bar-2.dll', 2 ], - [ 'baz', p 'C:/bin/baz-0.dll', 0 ], - [ 'foo', p 'C:/bin/foo-1.dll', 1 ], + [ 'bar', p('C:/bin/bar-2.dll'), 2 ], + [ 'baz', p('C:/bin/baz-0.dll'), 0 ], + [ 'foo', p('C:/bin/foo-1.dll'), 1 ], ], 'name first 1', ); @@ -120,9 +120,9 @@ is( $process->(qw( foo-2.dll foo-0.dll foo-1.dll )), [ - [ 'foo', p 'C:/bin/foo-2.dll', 2, ], - [ 'foo', p 'C:/bin/foo-1.dll', 1, ], - [ 'foo', p 'C:/bin/foo-0.dll', 0, ], + [ 'foo', p('C:/bin/foo-2.dll'), 2, ], + [ 'foo', p('C:/bin/foo-1.dll'), 1, ], + [ 'foo', p('C:/bin/foo-0.dll'), 0, ], ], 'newer version first', ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__os_msys.t new/FFI-CheckLib-0.28/t/ffi_checklib__os_msys.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__os_msys.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__os_msys.t 2021-05-16 23:10:36.000000000 +0200 @@ -3,7 +3,7 @@ use Test2::Plugin::FauxOS 'msys'; use FFI::CheckLib; -sub p ($) +sub p { my($path) = @_; $path =~ s{/}{\\}g if $^O eq 'MSWin32'; @@ -23,9 +23,9 @@ is( $process->(qw( msys-foo-1.dll msys-bar-2.dll msys-baz-0.dll )), [ - [ 'bar', p '/bin/msys-bar-2.dll', 2 ], - [ 'baz', p '/bin/msys-baz-0.dll', 0 ], - [ 'foo', p '/bin/msys-foo-1.dll', 1 ], + [ 'bar', p('/bin/msys-bar-2.dll'), 2 ], + [ 'baz', p('/bin/msys-baz-0.dll'), 0 ], + [ 'foo', p('/bin/msys-foo-1.dll'), 1 ], ], 'name first 1', ); @@ -33,9 +33,9 @@ is( $process->(qw( msys-baz-0.dll msys-foo-1.dll msys-bar-2.dll )), [ - [ 'bar', p '/bin/msys-bar-2.dll', 2 ], - [ 'baz', p '/bin/msys-baz-0.dll', 0 ], - [ 'foo', p '/bin/msys-foo-1.dll', 1 ], + [ 'bar', p('/bin/msys-bar-2.dll'), 2 ], + [ 'baz', p('/bin/msys-baz-0.dll'), 0 ], + [ 'foo', p('/bin/msys-foo-1.dll'), 1 ], ], 'name first 1', ); @@ -43,9 +43,9 @@ is( $process->(qw( msys-bar-2.dll msys-foo-1.dll msys-baz-0.dll )), [ - [ 'bar', p '/bin/msys-bar-2.dll', 2 ], - [ 'baz', p '/bin/msys-baz-0.dll', 0 ], - [ 'foo', p '/bin/msys-foo-1.dll', 1 ], + [ 'bar', p('/bin/msys-bar-2.dll'), 2 ], + [ 'baz', p('/bin/msys-baz-0.dll'), 0 ], + [ 'foo', p('/bin/msys-foo-1.dll'), 1 ], ], 'name first 1', ); @@ -53,9 +53,9 @@ is( $process->(qw( msys-foo-2.dll msys-foo-0.dll msys-foo-1.dll )), [ - [ 'foo', p '/bin/msys-foo-2.dll', 2, ], - [ 'foo', p '/bin/msys-foo-1.dll', 1, ], - [ 'foo', p '/bin/msys-foo-0.dll', 0, ], + [ 'foo', p('/bin/msys-foo-2.dll'), 2, ], + [ 'foo', p('/bin/msys-foo-1.dll'), 1, ], + [ 'foo', p('/bin/msys-foo-0.dll'), 0, ], ], 'newer version first', ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/t/ffi_checklib__os_unix.t new/FFI-CheckLib-0.28/t/ffi_checklib__os_unix.t --- old/FFI-CheckLib-0.27/t/ffi_checklib__os_unix.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/t/ffi_checklib__os_unix.t 2021-05-16 23:10:36.000000000 +0200 @@ -201,7 +201,7 @@ }; -sub p ($) +sub p { my($path) = @_; $path =~ s{/}{\\}g if $^O eq 'MSWin32'; @@ -221,9 +221,9 @@ is( $process->(qw( libfoo.so.1.2.3 libbar.so.3.4.5 libbaz.so.0.0.0 )), [ - [ 'bar', p '/lib/libbar.so.3.4.5', 3,4,5 ], - [ 'baz', p '/lib/libbaz.so.0.0.0', 0,0,0 ], - [ 'foo', p '/lib/libfoo.so.1.2.3', 1,2,3 ], + [ 'bar', p('/lib/libbar.so.3.4.5'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.so.0.0.0'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.so.1.2.3'), 1,2,3 ], ], 'name first 1', ); @@ -231,9 +231,9 @@ is( $process->(qw( libbaz.so.0.0.0 libfoo.so.1.2.3 libbar.so.3.4.5 )), [ - [ 'bar', p '/lib/libbar.so.3.4.5', 3,4,5 ], - [ 'baz', p '/lib/libbaz.so.0.0.0', 0,0,0 ], - [ 'foo', p '/lib/libfoo.so.1.2.3', 1,2,3 ], + [ 'bar', p('/lib/libbar.so.3.4.5'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.so.0.0.0'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.so.1.2.3'), 1,2,3 ], ], 'name first 2', ); @@ -241,9 +241,9 @@ is( $process->(qw( libbar.so.3.4.5 libbaz.so.0.0.0 libfoo.so.1.2.3 )), [ - [ 'bar', p '/lib/libbar.so.3.4.5', 3,4,5 ], - [ 'baz', p '/lib/libbaz.so.0.0.0', 0,0,0 ], - [ 'foo', p '/lib/libfoo.so.1.2.3', 1,2,3 ], + [ 'bar', p('/lib/libbar.so.3.4.5'), 3,4,5 ], + [ 'baz', p('/lib/libbaz.so.0.0.0'), 0,0,0 ], + [ 'foo', p('/lib/libfoo.so.1.2.3'), 1,2,3 ], ], 'name first 3', ); @@ -251,10 +251,10 @@ is( $process->(qw( libfoo.so.1.2.3 libfoo.so libfoo.so.1.2 libfoo.so.1 )), [ - [ 'foo', p '/lib/libfoo.so', ], - [ 'foo', p '/lib/libfoo.so.1', 1 ], - [ 'foo', p '/lib/libfoo.so.1.2', 1,2 ], - [ 'foo', p '/lib/libfoo.so.1.2.3', 1,2,3 ], + [ 'foo', p('/lib/libfoo.so'), ], + [ 'foo', p('/lib/libfoo.so.1'), 1 ], + [ 'foo', p('/lib/libfoo.so.1.2'), 1,2 ], + [ 'foo', p('/lib/libfoo.so.1.2.3'), 1,2,3 ], ], 'no version before version', ); @@ -262,9 +262,9 @@ is( $process->(qw( libfoo.so.2.3.4 libfoo.so.1.2.3 libfoo.so.3.4.5 )), [ - [ 'foo', p '/lib/libfoo.so.3.4.5', 3,4,5 ], - [ 'foo', p '/lib/libfoo.so.2.3.4', 2,3,4 ], - [ 'foo', p '/lib/libfoo.so.1.2.3', 1,2,3 ], + [ 'foo', p('/lib/libfoo.so.3.4.5'), 3,4,5 ], + [ 'foo', p('/lib/libfoo.so.2.3.4'), 2,3,4 ], + [ 'foo', p('/lib/libfoo.so.1.2.3'), 1,2,3 ], ], 'newer version first', ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/xt/author/critic.t new/FFI-CheckLib-0.28/xt/author/critic.t --- old/FFI-CheckLib-0.27/xt/author/critic.t 1970-01-01 01:00:00.000000000 +0100 +++ new/FFI-CheckLib-0.28/xt/author/critic.t 2021-05-16 23:10:36.000000000 +0200 @@ -0,0 +1,14 @@ +use Test2::Require::Module 'Test2::Tools::PerlCritic'; +use Test2::Require::Module 'Perl::Critic'; +use Test2::Require::Module 'Perl::Critic::Freenode'; +use Test2::V0; +use Perl::Critic; +use Test2::Tools::PerlCritic; + +my $critic = Perl::Critic->new( + -profile => 'perlcriticrc', +); + +perl_critic_ok ['lib','t'], $critic; + +done_testing; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/xt/author/pod_coverage.t new/FFI-CheckLib-0.28/xt/author/pod_coverage.t --- old/FFI-CheckLib-0.27/xt/author/pod_coverage.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/xt/author/pod_coverage.t 2021-05-16 23:10:36.000000000 +0200 @@ -31,10 +31,10 @@ my @private_classes; my %private_methods; -push @{ $config->{pod_coverage}->{private} }, +push $config->{pod_coverage}->{private}->@*, 'Alien::.*::Install::Files#Inline'; -foreach my $private (@{ $config->{pod_coverage}->{private} }) +foreach my $private ($config->{pod_coverage}->{private}->@*) { my($class,$method) = split /#/, $private; if(defined $class && $class ne '') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/FFI-CheckLib-0.27/xt/author/pod_spelling_system.t new/FFI-CheckLib-0.28/xt/author/pod_spelling_system.t --- old/FFI-CheckLib-0.27/xt/author/pod_spelling_system.t 2020-05-11 20:24:10.000000000 +0200 +++ new/FFI-CheckLib-0.28/xt/author/pod_spelling_system.t 2021-05-16 23:10:36.000000000 +0200 @@ -24,7 +24,7 @@ chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir)); -add_stopwords(@{ $config->{pod_spelling_system}->{stopwords} }); +add_stopwords($config->{pod_spelling_system}->{stopwords}->@*); add_stopwords(qw( Plicease stdout