Subject: | Makefile.PL fails when no '.' in @INC ( Can't locate inc/Module/Install.pm ) |
Both `use inc::Module::Install` and the line `$(PERL) -M_GenerateMyXS -E '_GenerateMyXS::generate()` break on all Perls' beyond 5.25.11 where @INC no longer includes '.'
The good news is the fix is easy, and attached, and tested to work on 5.26
For more details, check http://blogs.perl.org/users/ryan_voots/2017/04/trials-and-troubles-with-changing-inc.html
https://wiki.gentoo.org/wiki/Project:Perl/Dot-In-INC-Removal
Official Documentation: https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
--
- CPAN kentnl@cpan.org
- Gentoo Perl Maintainer kentnl@gentoo.org ( perl@gentoo.org )
Subject: | 0001-Fix-for-5.26-.-in-INC-issues.patch |
From 02adad0fe9eee869ca0c26539b12a35407dfcbdd Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Thu, 14 Sep 2017 15:29:34 +1200
Subject: Fix for 5.26 .-in-@INC issues
---
Makefile.PL | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.PL b/Makefile.PL
index 91a3da6..9ed7403 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -33,6 +33,7 @@ __
!= grep { $ok{$_} = eval "require $_; 1" } @configure_req;
}
+BEGIN { unshift @INC, '.'; }
use inc::Module::Install;
name 'X11-XCB';
@@ -81,7 +82,7 @@ WriteMakefile(
postamble <<'END_OF_MAKEFILE';
XCB_xs.inc:
- $(PERL) -M_GenerateMyXS -E '_GenerateMyXS::generate()'
+ $(PERL) -I. -M_GenerateMyXS -E '_GenerateMyXS::generate()'
XCB.c: XCB_xs.inc XCB_util.inc XCB.inc
--
2.14.1