commit:     611d1b6ec6832d5d1dffcbfd8a805df1bcba8fc5
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 16:59:56 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun May 29 17:00:16 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=611d1b6e

dev-perl/libintl-perl: Sanitize build system. This may be the solution for bug 
583674.

Package-Manager: portage-2.3.0_rc1

 .../files/libintl-perl-1.240.0-sanity.patch        | 72 ++++++++++++++++++++++
 .../libintl-perl/libintl-perl-1.240.0-r1.ebuild    | 36 +++++++++++
 2 files changed, 108 insertions(+)

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 0000000..b9add8a
--- /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 {

diff --git a/dev-perl/libintl-perl/libintl-perl-1.240.0-r1.ebuild 
b/dev-perl/libintl-perl/libintl-perl-1.240.0-r1.ebuild
new file mode 100644
index 0000000..cdefba9
--- /dev/null
+++ b/dev-perl/libintl-perl/libintl-perl-1.240.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+MODULE_AUTHOR=GUIDO
+MODULE_VERSION=1.24
+inherit perl-module
+
+DESCRIPTION="High-Level Interface to Uniforum Message Translation"
+HOMEPAGE="http://guido-flohr.net/projects/libintl-perl ${HOMEPAGE}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd 
~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint 
~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+DEPEND="virtual/libintl"
+RDEPEND=${DEPEND}
+
+PATCHES=( "${FILESDIR}/${P}-sanity.patch" )
+
+SRC_TEST=do
+
+src_test() {
+       if grep -q '^de_' <( locale -a ) ; then
+               if grep -q '^de_AT$' <( locale -a ) ; then
+                       perl-module_src_test
+               else
+                       ewarn "Skipping tests, known broken with de_ and 
without de_AT"
+               fi
+       else
+               perl-module_src_test
+       fi
+}

Reply via email to