commit:     120dd1264fc3463f6ce7ee647448dbd7276e14eb
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  1 00:59:07 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Sat Jul  1 00:59:32 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=120dd126

dev-perl/Debug-Client: Fix test failures due to '.' in @INC ( bug #615722 )

- Communicates src_prepare hack to patch
- Fixes test logic with patch to not fail as well ( submitted upstream )

Bug: https://bugs.gentoo.org/615722
Package-Manager: Portage-2.3.6, Repoman-2.3.2

 dev-perl/Debug-Client/Debug-Client-0.300.0.ebuild  |   7 +-
 .../files/Debug-Client-0.30-no-dot-inc.patch       | 534 +++++++++++++++++++++
 2 files changed, 535 insertions(+), 6 deletions(-)

diff --git a/dev-perl/Debug-Client/Debug-Client-0.300.0.ebuild 
b/dev-perl/Debug-Client/Debug-Client-0.300.0.ebuild
index 27b9217908b..4aa9d2aeffe 100644
--- a/dev-perl/Debug-Client/Debug-Client-0.300.0.ebuild
+++ b/dev-perl/Debug-Client/Debug-Client-0.300.0.ebuild
@@ -38,9 +38,4 @@ DEPEND="${RDEPEND}
                >=dev-perl/Term-ReadLine-Perl-1.30.300
        )
 "
-
-src_prepare() {
-       sed -i -e 's/use inc::Module::Install/use lib q[.]; use 
inc::Module::Install/' Makefile.PL ||
-               die "Can't patch Makefile.PL for 5.26 dot-in-inc"
-       perl-module_src_prepare
-}
+PATCHES=( "${FILESDIR}/${PN}-0.30-no-dot-inc.patch" )

diff --git a/dev-perl/Debug-Client/files/Debug-Client-0.30-no-dot-inc.patch 
b/dev-perl/Debug-Client/files/Debug-Client-0.30-no-dot-inc.patch
new file mode 100644
index 00000000000..4727a9a7a40
--- /dev/null
+++ b/dev-perl/Debug-Client/files/Debug-Client-0.30-no-dot-inc.patch
@@ -0,0 +1,534 @@
+From b49aa99cbf608072dd6969bd859765dbf4be71f5 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfred...@gmail.com>
+Date: Sat, 1 Jul 2017 12:21:16 +1200
+Subject: [PATCH] Fix broken loading of local modules under Perl 5.26
+
+Perl 5.26 breaks the implication that:
+
+  use inc::Module::Install;
+  use t::lib::Debugger;
+
+Will load:
+
+  ./inc/Module/Install.pm
+  ./t/lib/Debugger.pm
+
+Respectively, due to '.' ceasing to be in @INC
+
+This fixes:
+- Makefile.PL by re-inserting the '.' ( which is the only
+  thing that works, due to Module::Install shenanigans ).
+- Tests by replacing "use" statements with equivalent "require"
+statements.
+
+Some of the existing code ( eg: use_ok ) was already spurious and not
+very smart, because calling ->import while being outside of BEGIN { }
+has limited usefullness.
+
+But this was left with the semantically equivalent code that retains
+the loading of the relative path.
+
+There are strategies that would be "nicer" than what I've done,
+but they all wind up with you wanting to rename "Debugger.pm" to
+something else, because:
+
+  use lib "t/lib";
+  use Debugger;
+
+Is going to give people a much different impression from either
+
+  use t::lib::Debugger
+
+Or
+
+  BEGIN {
+    require "./t/lib/Debugger.pm";
+    t::lib::Debugger->import();
+  }
+
+This closes https://github.com/PadreIDE/Debug-Client/issues/6
+PR: https://github.com/PadreIDE/Debug-Client/pull/7
+---
+ Changes              | 2 ++
+ Makefile.PL          | 1 +
+ t/01-compile.t       | 2 +-
+ t/08-io.t            | 5 ++++-
+ t/10-top_tail.t      | 5 ++++-
+ t/10-top_tail_old.t  | 6 +++++-
+ t/11-add.t           | 5 ++++-
+ t/13-return.t        | 5 ++++-
+ t/14-run.t           | 5 ++++-
+ t/15-run_to_line.t   | 5 ++++-
+ t/16-run_to_sub.t    | 5 ++++-
+ t/17-stepin.t        | 5 ++++-
+ t/18-stepout.t       | 5 ++++-
+ t/19-stepover.t      | 5 ++++-
+ t/20-get_value.t     | 5 ++++-
+ t/21-toggle_trace.t  | 5 ++++-
+ t/22-subnames.t      | 5 ++++-
+ t/23-breakpoints.t   | 5 ++++-
+ t/24-y_zero.t        | 5 ++++-
+ t/25-get_v_vars.t    | 5 ++++-
+ t/26-get_x_vars.t    | 5 ++++-
+ t/27-get_p_exp.t     | 5 ++++-
+ t/28-get_h_var.t     | 5 ++++-
+ t/29-options.t       | 5 ++++-
+ t/40-test_1415-old.t | 5 ++++-
+ t/40-test_1415.t     | 5 ++++-
+ t/99-perldb.t        | 5 ++++-
+ t/lib/Test_1415.pm   | 5 ++++-
+ t/lib/Top_Tail.pm    | 3 ++-
+ 29 files changed, 107 insertions(+), 27 deletions(-)
+
+diff --git a/Changes b/Changes
+index 104d73f..f9b1090 100644
+--- a/Changes
++++ b/Changes
+@@ -1,5 +1,7 @@
+ Changes for Debug::Client
+ 
++ - Fix build and test failures under Perl 5.26 when '.' is not in @INC 
(KENTNL, PR #7)
++
+ 0.30 2017-06-19
+  - Merged PR #5 (Fixed test failure due to perl regression fix in 5.21.3), 
thanks @TBSliver.
+ 
+diff --git a/Makefile.PL b/Makefile.PL
+index 8702771..74201e3 100644
+--- a/Makefile.PL
++++ b/Makefile.PL
+@@ -1,3 +1,4 @@
++use lib '.';
+ use inc::Module::Install 1.08;
+ 
+ name 'Debug-Client';
+diff --git a/t/01-compile.t b/t/01-compile.t
+index 73eb289..a6130a5 100644
+--- a/t/01-compile.t
++++ b/t/01-compile.t
+@@ -8,7 +8,7 @@ use Test::More tests => 18;
+ 
+ BEGIN {
+       use_ok('Debug::Client');
+-      use_ok('t::lib::Debugger');
++      require_ok('./t/lib/Debugger.pm');
+ 
+       use_ok( 'Carp',           '1.20' );
+       use_ok( 'IO::Socket::IP', '0.21' );
+diff --git a/t/08-io.t b/t/08-io.t
+index 41c6914..0f90433 100644
+--- a/t/08-io.t
++++ b/t/08-io.t
+@@ -6,7 +6,10 @@ local $OUTPUT_AUTOFLUSH = 1;
+ 
+ use Test::More tests => 12;
+ use Test::Deep;
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ my ( $dir, $pid ) = start_script('t/eg/05-io.pl');
+ my $path = $dir;
+diff --git a/t/10-top_tail.t b/t/10-top_tail.t
+index 577e7fc..0d11183 100644
+--- a/t/10-top_tail.t
++++ b/t/10-top_tail.t
+@@ -7,7 +7,10 @@ local $OUTPUT_AUTOFLUSH = 1;
+ use FindBin qw($Bin);
+ use lib map "$Bin/$_", 'lib', '../lib';
+ 
+-use t::lib::Top_Tail;
++BEGIN {
++  require "./t/lib/Top_Tail.pm";
++  t::lib::Top_Tail->import;
++};
+ 
+ # run all the test methods
+ Test::Class->runtests;
+diff --git a/t/10-top_tail_old.t b/t/10-top_tail_old.t
+index 93802e3..02ab515 100644
+--- a/t/10-top_tail_old.t
++++ b/t/10-top_tail_old.t
+@@ -10,7 +10,11 @@ local $| = 1;
+ use Test::More tests => 5;
+ use Test::Deep;
+ use PadWalker;
+-use t::lib::Debugger;
++
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ ok( start_script('t/eg/14-y_zero.pl'), 'start script' );
+ 
+diff --git a/t/11-add.t b/t/11-add.t
+index 6000234..86dc166 100644
+--- a/t/11-add.t
++++ b/t/11-add.t
+@@ -9,7 +9,10 @@ local $| = 1;
+ 
+ use Test::More tests => 10;
+ use Test::Deep;
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ # Testing step_in (s) and show_line (.) on a simple script
+ 
+diff --git a/t/13-return.t b/t/13-return.t
+index a096b17..9e901b5 100644
+--- a/t/13-return.t
++++ b/t/13-return.t
+@@ -7,7 +7,10 @@ use warnings FATAL => 'all';
+ # Turn on $OUTPUT_AUTOFLUSH
+ local $| = 1;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ my ( $dir, $pid ) = start_script('t/eg/03-return.pl');
+ 
+diff --git a/t/14-run.t b/t/14-run.t
+index 3c7ed02..9bc9fc0 100644
+--- a/t/14-run.t
++++ b/t/14-run.t
+@@ -7,7 +7,10 @@ use warnings FATAL => 'all';
+ # Turn on $OUTPUT_AUTOFLUSH
+ local $| = 1;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ my ( $dir, $pid ) = start_script('t/eg/02-sub.pl');
+ 
+diff --git a/t/15-run_to_line.t b/t/15-run_to_line.t
+index 95c1f1c..6e38e62 100644
+--- a/t/15-run_to_line.t
++++ b/t/15-run_to_line.t
+@@ -7,7 +7,10 @@ use warnings FATAL => 'all';
+ # Turn on $OUTPUT_AUTOFLUSH
+ local $| = 1;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ my ( $dir, $pid ) = start_script('t/eg/02-sub.pl');
+ 
+diff --git a/t/16-run_to_sub.t b/t/16-run_to_sub.t
+index 0703c03..6629dc1 100644
+--- a/t/16-run_to_sub.t
++++ b/t/16-run_to_sub.t
+@@ -7,7 +7,10 @@ use warnings FATAL => 'all';
+ # Turn on $OUTPUT_AUTOFLUSH
+ local $| = 1;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ my $pid = start_script('t/eg/02-sub.pl');
+ 
+diff --git a/t/17-stepin.t b/t/17-stepin.t
+index 3df15cd..3c272d8 100644
+--- a/t/17-stepin.t
++++ b/t/17-stepin.t
+@@ -13,7 +13,10 @@ plan( tests => 4 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/02-sub.pl');
+ my $debugger;
+diff --git a/t/18-stepout.t b/t/18-stepout.t
+index 262d380..ff45ecc 100644
+--- a/t/18-stepout.t
++++ b/t/18-stepout.t
+@@ -13,7 +13,10 @@ plan( tests => 4 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/02-sub.pl');
+ my $debugger;
+diff --git a/t/19-stepover.t b/t/19-stepover.t
+index 244686d..bf1fcea 100644
+--- a/t/19-stepover.t
++++ b/t/19-stepover.t
+@@ -13,7 +13,10 @@ plan( tests => 3 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/02-sub.pl');
+ my $debugger;
+diff --git a/t/20-get_value.t b/t/20-get_value.t
+index ec6cc60..216de3b 100644
+--- a/t/20-get_value.t
++++ b/t/20-get_value.t
+@@ -13,7 +13,10 @@ plan( tests => 6 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/02-sub.pl');
+ my $debugger;
+diff --git a/t/21-toggle_trace.t b/t/21-toggle_trace.t
+index 2f37031..da154e6 100644
+--- a/t/21-toggle_trace.t
++++ b/t/21-toggle_trace.t
+@@ -13,7 +13,10 @@ plan( tests => 2 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/22-subnames.t b/t/22-subnames.t
+index e77b5ac..89b5dac 100644
+--- a/t/22-subnames.t
++++ b/t/22-subnames.t
+@@ -13,7 +13,10 @@ plan( tests => 2 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/23-breakpoints.t b/t/23-breakpoints.t
+index e63d5d8..611f92e 100644
+--- a/t/23-breakpoints.t
++++ b/t/23-breakpoints.t
+@@ -13,7 +13,10 @@ plan( tests => 7 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/03-return.pl');
+ my $debugger;
+diff --git a/t/24-y_zero.t b/t/24-y_zero.t
+index f561c3e..23b03c9 100644
+--- a/t/24-y_zero.t
++++ b/t/24-y_zero.t
+@@ -13,7 +13,10 @@ plan( tests => 3 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/25-get_v_vars.t b/t/25-get_v_vars.t
+index 1b9338a..ce538af 100644
+--- a/t/25-get_v_vars.t
++++ b/t/25-get_v_vars.t
+@@ -13,7 +13,10 @@ plan( tests => 2 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/26-get_x_vars.t b/t/26-get_x_vars.t
+index 5e66430..f478298 100644
+--- a/t/26-get_x_vars.t
++++ b/t/26-get_x_vars.t
+@@ -13,7 +13,10 @@ plan( tests => 2 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/27-get_p_exp.t b/t/27-get_p_exp.t
+index 7b1649a..9432deb 100644
+--- a/t/27-get_p_exp.t
++++ b/t/27-get_p_exp.t
+@@ -13,7 +13,10 @@ plan( tests => 7 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/28-get_h_var.t b/t/28-get_h_var.t
+index b47a6eb..0138d96 100644
+--- a/t/28-get_h_var.t
++++ b/t/28-get_h_var.t
+@@ -13,7 +13,10 @@ plan( tests => 2 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/29-options.t b/t/29-options.t
+index 3b4b1ba..c41b165 100644
+--- a/t/29-options.t
++++ b/t/29-options.t
+@@ -13,7 +13,10 @@ plan( tests => 4 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/14-y_zero.pl');
+ my $debugger;
+diff --git a/t/40-test_1415-old.t b/t/40-test_1415-old.t
+index 22dd789..ce16241 100644
+--- a/t/40-test_1415-old.t
++++ b/t/40-test_1415-old.t
+@@ -13,7 +13,10 @@ plan( tests => 12 );
+ 
+ 
+ #Top
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ start_script('t/eg/test_1415.pl');
+ my $debugger;
+diff --git a/t/40-test_1415.t b/t/40-test_1415.t
+index b7269a4..3b78280 100644
+--- a/t/40-test_1415.t
++++ b/t/40-test_1415.t
+@@ -7,7 +7,10 @@ local $OUTPUT_AUTOFLUSH = 1;
+ use FindBin qw($Bin);
+ use lib map "$Bin/$_", 'lib', '../lib';
+ 
+-use t::lib::Test_1415;
++BEGIN {
++  require "./t/lib/Test_1415.pm";
++  t::lib::Test_1415->import();
++}
+ 
+ # run all the test methods
+ Test::Class->runtests;
+diff --git a/t/99-perldb.t b/t/99-perldb.t
+index 3cf3d66..2326149 100644
+--- a/t/99-perldb.t
++++ b/t/99-perldb.t
+@@ -9,7 +9,10 @@ local $| = 1;
+ 
+ use Test::More tests => 1;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ if (rc_file) {
+       diag('');
+diff --git a/t/lib/Test_1415.pm b/t/lib/Test_1415.pm
+index 9712d69..5aa23b4 100644
+--- a/t/lib/Test_1415.pm
++++ b/t/lib/Test_1415.pm
+@@ -7,7 +7,10 @@ use parent qw(Test::Class);
+ use Test::More;
+ use Test::Deep;
+ 
+-use t::lib::Debugger;
++BEGIN {
++  require "./t/lib/Debugger.pm";
++  t::lib::Debugger->import;
++}
+ 
+ # setup methods are run before every test method.
+ sub load_debugger : Test(setup) {
+diff --git a/t/lib/Top_Tail.pm b/t/lib/Top_Tail.pm
+index 9fccf24..f5a01b0 100644
+--- a/t/lib/Top_Tail.pm
++++ b/t/lib/Top_Tail.pm
+@@ -11,7 +11,8 @@ use Test::Deep;
+ sub startup : Test(4) {
+       my $self = shift;
+ 
+-      use_ok( 't::lib::Debugger');
++      require_ok('./t/lib/Debugger.pm');
++      t::lib::Debugger->import;
+       ok( start_script('t/eg/14-y_zero.pl'), 'start script' );
+       ok( $self->{debugger} = start_debugger(), 'start debugger' );
+       ok( $self->{debugger}->get, 'get debugger' );
+-- 
+2.13.1
+

Reply via email to