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
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')
-rw-r--r--dev-perl/libintl-perl/files/libintl-perl-1.240.0-sanity.patch72
-rw-r--r--dev-perl/libintl-perl/libintl-perl-1.240.0-r1.ebuild36
2 files changed, 108 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 {
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 000000000000..cdefba9fc8bb
--- /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
+}