commit:     22b2006adc689bd890b2553d333a6dbbbae59ce9
Author:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
AuthorDate: Fri Oct  6 09:47:45 2017 +0000
Commit:     Kent Fredric <kentnl <AT> gentoo <DOT> org>
CommitDate: Fri Oct  6 09:49:12 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=22b2006a

dev-perl/Dist-Zilla: Add fix for [=inc::Foo] on 5.26 bug #613586

This unbreaks dists that use the syntax:

  [=inc::Foo]

Which is *far* more widespread than any use of stuff from `@INC`
locations **other** than `.`

Bug: https://bugs.gentoo.org/613586
Package-Manager: Portage-2.3.8, Repoman-2.3.3

 ...a-6.10.0.ebuild => Dist-Zilla-6.10.0-r1.ebuild} |  0
 dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild       |  3 ++
 .../files/Dist-Zilla-6.10.0-perl526.patch          | 58 ++++++++++++++++++++++
 3 files changed, 61 insertions(+)

diff --git a/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild 
b/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0-r1.ebuild
similarity index 100%
copy from dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild
copy to dev-perl/Dist-Zilla/Dist-Zilla-6.10.0-r1.ebuild

diff --git a/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild 
b/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild
index 8654659cc4e..606e84c34a7 100644
--- a/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild
+++ b/dev-perl/Dist-Zilla/Dist-Zilla-6.10.0.ebuild
@@ -13,6 +13,9 @@ SLOT="0"
 KEYWORDS="~amd64 ~x86"
 IUSE="minimal test"
 
+PATCHES=(
+       "${FILESDIR}/${P}-perl526.patch"
+)
 ## CPAN->Gentoo resolution map for grepping in case upstream split a dep
 # breaks: Dist::Zilla::App::Command::stale -> Dist-Zilla-Plugin-PromptIfStale
 # DZA:Command::xtest -> DZP:CheckExtraTests

diff --git a/dev-perl/Dist-Zilla/files/Dist-Zilla-6.10.0-perl526.patch 
b/dev-perl/Dist-Zilla/files/Dist-Zilla-6.10.0-perl526.patch
new file mode 100644
index 00000000000..ad908fa84a0
--- /dev/null
+++ b/dev-perl/Dist-Zilla/files/Dist-Zilla-6.10.0-perl526.patch
@@ -0,0 +1,58 @@
+From fda708069c3c3bdb2b6d8922b21eb604084d51e2 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <[email protected]>
+Date: Fri, 6 Oct 2017 22:32:36 +1300
+Subject: Keep dist-root in @INC beyond Perl 5.26
+
+The only thing that makes sense is to ensure CWD of some description is
+in @INC at some stage before plugins are actually loaded, because
+that's the traditional expectation.
+
+Basically, this option is the only option that works. There's no viable
+way to scope @INC changes to anything narrower without breaking the
+usage entirely.
+
+There's no sane way to limit the depth of @INC changes either, even if
+we wanted to.
+
+And if you have vulnerable code in your project source tree that you're
+worried about, you're pretty much beyond screwed already, and you're
+about to be screwing CPAN when you ship next, and no amount of @INC
+magic will save you.
+
+Bug: https://bugs.gentoo.org/613586
+Bug: https://github.com/rjbs/Dist-Zilla/issues/581
+Bug: https://github.com/rjbs/Dist-Zilla/pull/590
+Bug: https://github.com/rjbs/Dist-Zilla/pull/600
+---
+ lib/Dist/Zilla/Dist/Builder.pm    | 1 +
+ lib/Dist/Zilla/Util/AuthorDeps.pm | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Dist/Zilla/Dist/Builder.pm b/lib/Dist/Zilla/Dist/Builder.pm
+index 2148eeb..6b8e301 100644
+--- a/lib/Dist/Zilla/Dist/Builder.pm
++++ b/lib/Dist/Zilla/Dist/Builder.pm
+@@ -36,6 +36,7 @@ sub from_config {
+   $arg ||= {};
+ 
+   my $root = path($arg->{dist_root} || '.');
++  unshift @INC, $root->absolute->stringify;
+ 
+   my $sequence = $class->_load_config({
+     root   => $root,
+diff --git a/lib/Dist/Zilla/Util/AuthorDeps.pm 
b/lib/Dist/Zilla/Util/AuthorDeps.pm
+index 01a958e..cfcd62f 100644
+--- a/lib/Dist/Zilla/Util/AuthorDeps.pm
++++ b/lib/Dist/Zilla/Util/AuthorDeps.pm
+@@ -105,7 +105,7 @@ sub extract_author_deps {
+ 
+   if ($missing) {
+     require Module::Runtime;
+-
++    unshift @INC, $root->absolute->stringify;
+     @packages =
+       grep {
+         $_ eq 'perl'
+-- 
+2.14.1
+

Reply via email to