commit:     5ea36aa664b25713e46e1c23ab10ed38b3535bb9
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 14 06:52:22 2018 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Wed Mar 14 06:52:40 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5ea36aa6

dev-perl/Term-ReadLine-Perl: EAPI6 + tests

- EAPI6ify
- Restore and fix tests re bug #492212
- Fix packaging to install packlist correctly

Bug: https://bugs.gentoo.org/492212
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 .../Term-ReadLine-Perl-1.30.300-r2.ebuild          | 25 +++++++
 .../Term-ReadLine-Perl-1.0303-nointeractive.patch  | 78 ++++++++++++++++++++++
 ...rm-ReadLine-Perl-1.0303-packlistcollision.patch | 56 ++++++++++++++++
 3 files changed, 159 insertions(+)

diff --git a/dev-perl/Term-ReadLine-Perl/Term-ReadLine-Perl-1.30.300-r2.ebuild 
b/dev-perl/Term-ReadLine-Perl/Term-ReadLine-Perl-1.30.300-r2.ebuild
new file mode 100644
index 00000000000..7d5b9646aa7
--- /dev/null
+++ b/dev-perl/Term-ReadLine-Perl/Term-ReadLine-Perl-1.30.300-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=ILYAZ
+DIST_SECTION=modules
+DIST_VERSION=1.0303
+
+inherit perl-module
+
+DESCRIPTION="Quick implementation of readline utilities"
+
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc 
~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
+IUSE=""
+
+PATCHES=(
+       "${FILESDIR}/${PN}-1.0303-nointeractive.patch"
+       "${FILESDIR}/${PN}-1.0303-packlistcollision.patch"
+)
+RDEPEND="dev-perl/TermReadKey"
+DEPEND="${RDEPEND}
+       virtual/perl-ExtUtils-MakeMaker
+"

diff --git 
a/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-nointeractive.patch
 
b/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-nointeractive.patch
new file mode 100644
index 00000000000..d5e7a889466
--- /dev/null
+++ 
b/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-nointeractive.patch
@@ -0,0 +1,78 @@
+From 93b819a6723f096a2157325f437e1ae0c72a0a2c Mon Sep 17 00:00:00 2001
+From: Kent Fredric <ken...@gentoo.org>
+Date: Wed, 14 Mar 2018 19:38:19 +1300
+Subject: Use file for input data instead of STDIN ( non-interactive testing )
+
+test.pl as-is is useless because it executes no readline code when in
+automated testing conditions.
+
+Additionally, attempting to use the built-in file redirection
+mechanisms is useless, as there's no way to set those parts from
+
+    make test
+
+And 'preput' support causes readline to barf when the input stream
+is not a real TTY.
+
+Subsequently, the pre-inserted "exit" also has to be removed.
+
+Bug: https://bugs.gentoo.org/492212
+---
+ t/input.txt |  2 ++
+ test.pl     | 23 +++--------------------
+ 2 files changed, 5 insertions(+), 20 deletions(-)
+ create mode 100644 t/input.txt
+
+diff --git a/t/input.txt b/t/input.txt
+new file mode 100644
+index 0000000..6077553
+--- /dev/null
++++ b/t/input.txt
+@@ -0,0 +1,2 @@
++printf "input ok: sqrt(42)^2 == %20.20f", sqrt(42) * sqrt(42);
++exit 0
+diff --git a/test.pl b/test.pl
+index 7fcda2a..b2f7847 100755
+--- a/test.pl
++++ b/test.pl
+@@ -9,26 +9,9 @@ use Term::ReadLine;
+ use Carp;
+ $SIG{__WARN__} = sub { warn Carp::longmess(@_) };
+ 
+-my $ev;
+-if ($ENV{$ev = 'AUTOMATED_TESTING'} or $ENV{$ev = 'PERL_MM_NONINTERACTIVE'}) {
+-  print "1..0 # skip: \$ENV{$ev} is TRUE\n";
+-  exit;
+-}
++open (IN, '<','./t/input.txt') or die "Can't open input.txt, $@, $!";
++$term = Term::ReadLine->new('Simple Perl calc', \*IN, \*STDOUT);
+ 
+-if (!@ARGV) {
+-  $term = new Term::ReadLine 'Simple Perl calc';
+-} elsif (@ARGV == 2) {
+-  open(IN,"<$ARGV[0]");
+-  open(OUT,">$ARGV[1]");
+-  $term = new Term::ReadLine 'Simple Perl calc', \*IN, \*OUT;
+-} elsif ($ARGV[0] =~ m|^/dev|) {
+-  open(IN,"<$ARGV[0]");
+-  open(OUT,">$ARGV[0]");
+-  $term = new Term::ReadLine 'Simple Perl calc', \*IN, \*OUT;
+-} else {
+-  $term = new Term::ReadLine 'Simple Perl calc', \*STDIN, \*STDOUT;
+-  $no_print = $ARGV[0] eq '--no-print';
+-}
+ $prompt = "Enter arithmetic or Perl expression: ";
+ if ((my $l = $ENV{PERL_RL_TEST_PROMPT_MINLEN} | 0) > length $prompt) {
+   $prompt =~ s/(?=:)/ ' ' x ($l - length $prompt)/e;
+@@ -51,7 +34,7 @@ print $OUT <<EOP;
+       this word should be already entered.)
+ 
+ EOP
+-while ( defined ($_ = $term->readline($prompt, "exit")) ) {
++while ( defined ($_ = $term->readline($prompt)) ) {
+   $res = eval($_);
+   warn $@ if $@;
+   print $OUT $res, "\n" unless $@ or $no_print;
+-- 
+2.16.2
+

diff --git 
a/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-packlistcollision.patch
 
b/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-packlistcollision.patch
new file mode 100644
index 00000000000..b6fced55970
--- /dev/null
+++ 
b/dev-perl/Term-ReadLine-Perl/files/Term-ReadLine-Perl-1.0303-packlistcollision.patch
@@ -0,0 +1,56 @@
+From 635bf84ee3916ec578a56bdfaed39a4759dd6579 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <ken...@gentoo.org>
+Date: Wed, 14 Mar 2018 19:40:00 +1300
+Subject: Fix NAME to reflect MAIN MODULE NAME
+
+Otherwise generated packlist is called "Term/ReadLine/.packlist"
+which collides with Term::ReadLine's
+---
+ MANIFEST                                    | 4 ++--
+ Makefile.PL                                 | 4 ++--
+ {ReadLine => lib/Term/ReadLine}/Perl.pm     | 0
+ {ReadLine => lib/Term/ReadLine}/readline.pm | 0
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+ rename {ReadLine => lib/Term/ReadLine}/Perl.pm (100%)
+ rename {ReadLine => lib/Term/ReadLine}/readline.pm (100%)
+
+diff --git a/MANIFEST b/MANIFEST
+index 633f90c..9a6d460 100755
+--- a/MANIFEST
++++ b/MANIFEST
+@@ -1,7 +1,7 @@
+ CHANGES
+ MANIFEST
+ Makefile.PL
+-ReadLine/Perl.pm
+-ReadLine/readline.pm
++lib/Term/ReadLine/Perl.pm
++lib/Term/ReadLine/readline.pm
+ README
+ test.pl
+diff --git a/Makefile.PL b/Makefile.PL
+index e9fb967..15b1dce 100755
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -3,8 +3,8 @@ use ExtUtils::MakeMaker;
+ # the contents of the Makefile that is written.
+ WriteMakefile(
+             DISTNAME  => 'Term-ReadLine-Perl',
+-            NAME      => 'Term::ReadLine',
+-            VERSION_FROM => 'ReadLine/readline.pm',
++            NAME      => 'Term::ReadLine::Perl',
++            VERSION_FROM => 'lib/Term/ReadLine/readline.pm',
+             linkext => {LINKTYPE => '' },
+             # dist => {COMPRESS=>'gzip -9f', SUFFIX=>'gz', 
+             #              DIST_DEFAULT => 'all uutardist'},
+diff --git a/ReadLine/Perl.pm b/lib/Term/ReadLine/Perl.pm
+similarity index 100%
+rename from ReadLine/Perl.pm
+rename to lib/Term/ReadLine/Perl.pm
+diff --git a/ReadLine/readline.pm b/lib/Term/ReadLine/readline.pm
+similarity index 100%
+rename from ReadLine/readline.pm
+rename to lib/Term/ReadLine/readline.pm
+-- 
+2.16.2
+

Reply via email to