Small LoC reductions, and maybe to benefit from some eventual future where Perl standard libraries can be sped up by avoiding strict.pm entirely... Eric Wong (2): Makefile.PL: various updates for new versions lei: move to v5.12 to avoid "use strict" Makefile.PL | 11 ++++++++--- lib/PublicInbox/CmdIPC4.pm | 3 +-- lib/PublicInbox/LEI.pm | 3 +-- lib/PublicInbox/Spawn.pm | 2 +- lib/PublicInbox/Syscall.pm | 3 +-- script/lei | 3 +-- 6 files changed, 13 insertions(+), 12 deletions(-)
We'll still stick to v5.10.1, mainly, but use v5.12 in a few places... --- Makefile.PL | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Makefile.PL b/Makefile.PL index 059e23be..848eb702 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -131,11 +131,16 @@ WriteMakefile( NAME => 'PublicInbox', # n.b. camel-case is not our choice # XXX drop "PENDING" in .pod before updating this! - VERSION => '1.8.0', + VERSION => '1.9.0.PENDING', - AUTHOR => 'Eric Wong <e@80x24.org>', - ABSTRACT => 'public-inbox server infrastructure', + AUTHOR => 'public-inbox hackers <meta@public-inbox.org>', + ABSTRACT => 'an "archives first" approach to mailing lists', EXE_FILES => \@EXE_FILES, + + # DO NOT blindly put "use v5.12" in *.pm files, unicode_strings + # causes known breakages. "use v5.10.1" is safe, though + MIN_PERL_VERSION => '5.12.0', + LICENSE => 'agpl_3', # AGPL-3.0+, CPAN::Meta::Spec doesn't have '+' PREREQ_PM => { # note: we use spamc(1), NOT the Perl modules # We also depend on git.
Socket.pm still loads strict.pm, unfortunately, which hurts startup time; but we'll save some LoC this way. --- lib/PublicInbox/CmdIPC4.pm | 3 +-- lib/PublicInbox/LEI.pm | 3 +-- lib/PublicInbox/Spawn.pm | 2 +- lib/PublicInbox/Syscall.pm | 3 +-- script/lei | 3 +-- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/PublicInbox/CmdIPC4.pm b/lib/PublicInbox/CmdIPC4.pm index 76938b6d..e368d032 100644 --- a/lib/PublicInbox/CmdIPC4.pm +++ b/lib/PublicInbox/CmdIPC4.pm @@ -5,8 +5,7 @@ # first choice for script/lei front-end and 2nd choice for lei backend # libsocket-msghdr-perl is in Debian but not many other distros as of 2021. package PublicInbox::CmdIPC4; -use strict; -use v5.10.1; +use v5.12; use Socket qw(SOL_SOCKET SCM_RIGHTS); BEGIN { eval { require Socket::MsgHdr; # XS diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm index 93b4ea03..89aa4119 100644 --- a/lib/PublicInbox/LEI.pm +++ b/lib/PublicInbox/LEI.pm @@ -6,8 +6,7 @@ # local clients with read/write access to the FS and use as many # system resources as the local user has access to. package PublicInbox::LEI; -use strict; -use v5.10.1; +use v5.12; use parent qw(PublicInbox::DS PublicInbox::LeiExternal PublicInbox::LeiQuery); use Getopt::Long (); diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index 137b8087..3f69108a 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -15,7 +15,7 @@ # We don't want too many DSOs: https://udrepper.livejournal.com/8790.html package PublicInbox::Spawn; -use strict; +use v5.12; use parent qw(Exporter); use Symbol qw(gensym); use Fcntl qw(LOCK_EX SEEK_SET); diff --git a/lib/PublicInbox/Syscall.pm b/lib/PublicInbox/Syscall.pm index 22b779ad..777c44d0 100644 --- a/lib/PublicInbox/Syscall.pm +++ b/lib/PublicInbox/Syscall.pm @@ -16,8 +16,7 @@ # You may distribute under the terms of either the GNU General Public # License or the Artistic License, as specified in the Perl README file. package PublicInbox::Syscall; -use strict; -use v5.10.1; +use v5.12; use parent qw(Exporter); use POSIX qw(ENOENT ENOSYS EINVAL O_NONBLOCK); use Socket qw(SOL_SOCKET SCM_RIGHTS); diff --git a/script/lei b/script/lei index adef9944..5feb7751 100755 --- a/script/lei +++ b/script/lei @@ -1,8 +1,7 @@ #!perl -w # Copyright (C) all contributors <meta@public-inbox.org> # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> -use strict; -use v5.10.1; +use v5.12; use Socket qw(AF_UNIX SOCK_SEQPACKET MSG_EOR pack_sockaddr_un); use PublicInbox::CmdIPC4; my $narg = 5;