summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch')
-rw-r--r--media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch b/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
new file mode 100644
index 000000000000..d4c10b98548a
--- /dev/null
+++ b/media-sound/xmms2/files/xmms2-0.8DrO_o-waflib-fix-perl.patch
@@ -0,0 +1,26 @@
+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
+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::Build -e'print Module::Build::ModuleInfo->find_module_by_name(\"ExtUtils::xsubpp\")'")
++ env["EXTUTILS_TYPEMAP"] = read_out(" -MModule::Build -e'print Module::Build::ModuleInfo->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: