summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Hüttel <dilfridge@gentoo.org>2016-05-29 18:59:56 +0200
committerAndreas K. Hüttel <dilfridge@gentoo.org>2016-05-29 19:00:16 +0200
commit611d1b6ec6832d5d1dffcbfd8a805df1bcba8fc5 (patch)
tree1281167eef777a408280ea6fdbaade26be805143 /dev-perl/libintl-perl/files
parentnet-misc/chrony: Fix logrotate script (diff)
downloadgentoo-611d1b6ec6832d5d1dffcbfd8a805df1bcba8fc5.tar.gz
gentoo-611d1b6ec6832d5d1dffcbfd8a805df1bcba8fc5.tar.bz2
gentoo-611d1b6ec6832d5d1dffcbfd8a805df1bcba8fc5.zip
dev-perl/libintl-perl: Sanitize build system. This may be the solution for bug 583674.
Package-Manager: portage-2.3.0_rc1
Diffstat (limited to 'dev-perl/libintl-perl/files')
-rw-r--r--dev-perl/libintl-perl/files/libintl-perl-1.240.0-sanity.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/dev-perl/libintl-perl/files/libintl-perl-1.240.0-sanity.patch b/dev-perl/libintl-perl/files/libintl-perl-1.240.0-sanity.patch
new file mode 100644
index 000000000000..b9add8a334c7
--- /dev/null
+++ b/dev-perl/libintl-perl/files/libintl-perl-1.240.0-sanity.patch
@@ -0,0 +1,72 @@
+diff -ruN libintl-perl-1.24.orig/Makefile.PL libintl-perl-1.24/Makefile.PL
+--- libintl-perl-1.24.orig/Makefile.PL 2015-04-03 15:28:12.000000000 +0200
++++ libintl-perl-1.24/Makefile.PL 2016-05-29 18:42:29.495587789 +0200
+@@ -163,56 +163,8 @@
+
+ package MY;
+
+-# FIXME: This is really a hack! Problem: Depending on the build system,
+-# we may or may not build and install the XS version. If the XS version
+-# is being built, the directory blib/arch will be populated, if it is
+-# not being built, blib/arch will be empty. Unfortunately, if blib/arch
+-# is not empty, *all* library files will be installed in the architecture
+-# dependent locations, if it is empty, they will be installed in the
+-# architecture independent tree.
+-#
+-# Unfortunately, ExtUtils::MakeMaker does not take care of uninstalling
+-# files from previous installations. Consequently, we cannot determine
+-# which version of the library will be loaded, since this depends on the
+-# current value of @INC.
+-#
+-# The solution does not really make me happy. The Makefile will be patched,
+-# so that instead of ExtUtils::Install a custom module MyInstall.pm will
+-# be used. This custom module overwrites the subroutine that detects
+-# whether a directory is empty in ExtUtils::Install, and will lie if that
+-# directory happens to be "blib/arch". This little hack effectively disables
+-# the annoying behavior of ExtUtils::Install (and I sincerely hope that
+-# this is portable).
+-sub libscan
+-{
+- my ($self, $file) = @_;
+-
+- return if 'MyInstall.pm' eq $file;
+-
+- $self->SUPER::libscan ($file);
+-}
+-
+-sub tools_other
+-{
+- my $self = shift;
+-
+- my $fragment = $self->SUPER::tools_other (@_);
+-
+- $fragment =~ s/^MOD_INSTALL\s*=\s*(.*?)-MExtUtils::Install
+- /MOD_INSTALL =$1-MMyInstall/msx;
+-
+- return $fragment;
+-}
+-
+ package main;
+
+-my $name = $0;
+-$name =~ s,Makefile\.PL$,xs_disabled,;
+-local *HANDLE;
+-open HANDLE, ">$name" or die "cannot open '$name' for writing: $!";
+-print HANDLE !$build_gettext_xs;
+-close HANDLE or die "cannot close '$name': $!";
+-
+ WriteMakefile (
+ NAME => 'libintl-perl',
+ VERSION_FROM => 'lib/Locale/Messages.pm',
+@@ -232,11 +184,6 @@
+ },
+ },
+ PL_FILES => {},
+- DIR => [$build_gettext_xs ? ('gettext_xs') : ()],
+- clean => { FILES => 'xs_disabled build_xs' }
+- # If you want to build the XS version although the automatic detection
+- # suggests not to build it, uncomment the following line.
+- #DIR => [ ('gettext_xs') ],,
+ );
+
+ sub MY::postamble {