summaryrefslogtreecommitdiff
path: root/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
blob: 220e91e6813667b8d9b7432ef8e0454a5bd776f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Fix build failure when user has non-core xsubpp.

> Could not find a typemap for C type 'xmmsv_t *' in XMMSClientPlaylist.xs, line 132
> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41.
> Undefined subroutine &ExtUtils::ParseXS::errors called at /usr/lib/perl5/5.12.4/ExtUtils/xsubpp line 41.
> Could not find a typemap for C type 'const unsigned char *' in XMMSClient.xs, line 1179

Use xsubpp from @INC instead of bundled one with perl.

Original bug: https://bugs.gentoo.org/380469
Related: https://bugs.gentoo.org/378783
Updated for perl-5.20.2: https://bugs.gentoo.org/578778
diff --git a/waflib/Tools/perl.py b/waflib/Tools/perl.py
index 2c69fe5..a75b069 100644
--- a/waflib/Tools/perl.py
+++ b/waflib/Tools/perl.py
@@ -60,8 +60,8 @@ def check_perl_ext_devel(self):
 	env['LINKFLAGS_PERLEXT']=read_out(" -MConfig -e'print $Config{lddlflags}'")
 	env['INCLUDES_PERLEXT']=read_out(" -MConfig -e'print \"$Config{archlib}/CORE\"'")
 	env['CFLAGS_PERLEXT']=read_out(" -MConfig -e'print \"$Config{ccflags} $Config{cccdlflags}\"'")
-	env['XSUBPP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/xsubpp$Config{exe_ext}\"'")
-	env['EXTUTILS_TYPEMAP']=read_out(" -MConfig -e'print \"$Config{privlib}/ExtUtils/typemap\"'")
+	env["XSUBPP"]           = read_out(" -MModule::Metadata -e'print Module::Metadata->find_module_by_name(\"ExtUtils::xsubpp\")'")
+	env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Metadata -e'print Module::Metadata->find_module_by_name(\"ExtUtils::typemap\")'")
 	if not getattr(Options.options,'perlarchdir',None):
 		env['ARCHDIR_PERL']=self.cmd_and_log(perl+" -MConfig -e'print $Config{sitearch}'")
 	else: