From 8307d15984a98e61346c6184c5b50c79c19d3391 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Mon, 14 Jan 2013 17:37:20 +0000 Subject: Do perl thread detection at runtime rather than configure time #343439 by Muelli. (Portage version: 2.2.0_alpha144/cvs/Linux x86_64, signed Manifest commit with key FB7C4156) --- sys-devel/automake/ChangeLog | 7 ++- sys-devel/automake/automake-1.13.1.ebuild | 5 +- .../files/automake-1.13-dyn-ithreads.patch | 59 ++++++++++++++++++++++ 3 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 sys-devel/automake/files/automake-1.13-dyn-ithreads.patch (limited to 'sys-devel') diff --git a/sys-devel/automake/ChangeLog b/sys-devel/automake/ChangeLog index ff39c47a3777..28f527c0e626 100644 --- a/sys-devel/automake/ChangeLog +++ b/sys-devel/automake/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-devel/automake # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/ChangeLog,v 1.180 2013/01/03 18:45:44 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/ChangeLog,v 1.181 2013/01/14 17:37:20 vapier Exp $ + + 14 Jan 2013; Mike Frysinger + +files/automake-1.13-dyn-ithreads.patch, automake-1.13.1.ebuild: + Do perl thread detection at runtime rather than configure time #343439 by + Muelli. 03 Jan 2013; Diego E. Pettenò automake-1.12.2.ebuild, automake-1.12.3.ebuild, automake-1.12.4.ebuild, automake-1.12.5.ebuild, diff --git a/sys-devel/automake/automake-1.13.1.ebuild b/sys-devel/automake/automake-1.13.1.ebuild index c5004817841b..34934a64dfab 100644 --- a/sys-devel/automake/automake-1.13.1.ebuild +++ b/sys-devel/automake/automake-1.13.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/automake-1.13.1.ebuild,v 1.2 2013/01/03 11:33:55 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-devel/automake/automake-1.13.1.ebuild,v 1.3 2013/01/14 17:37:20 vapier Exp $ inherit eutils versionator unpacker @@ -23,7 +23,7 @@ LICENSE="GPL-2" # Use Gentoo versioning for slotting. SLOT="${PV:0:4}" # Testing. -#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd" IUSE="" RDEPEND="dev-lang/perl @@ -51,6 +51,7 @@ src_unpack() { -e "s:(automake|automake-history)(.info|.texi):\1${SLOT}\2:g" \ Makefile.in || die export WANT_AUTOCONF=2.5 + epatch "${FILESDIR}"/${PN}-1.13-dyn-ithreads.patch } src_compile() { diff --git a/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch b/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch new file mode 100644 index 000000000000..f790e7724c93 --- /dev/null +++ b/sys-devel/automake/files/automake-1.13-dyn-ithreads.patch @@ -0,0 +1,59 @@ +https://bugs.gentoo.org/343439 + +From 182626687f2640609f8eb28ad1b04b078342f2c7 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sat, 12 Jan 2013 00:19:40 -0500 +Subject: [PATCH] ithreads: use runtime (not configure time) detection of perl + threads + +I can't imagine the runtime checks being a big runtime penalty, so there +shouldn't be a need to do the checks at configure check and hardcode the +result in the generated automake. + +With the current system, it means if you change your perl config (build +perl w/threads, build automake, build perl w/out threads), or deploy a +compiled automake package on a different system (build had threads, but +deployed system does not), you get errors when trying to run automake. + +So take the logic from configure.ac and move it to the one place where +PERL_THREADS is used (lib/Automake/Config.in) and do the version/config +checking at runtime. + +* bootstrap.sh (PERL_THREADS): Delete assignment and use in sed. +* configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code +related to these two variables. +* lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to +1 if the perl version is at least 5.007_002, and useithreads is in Config. + +Copyright-paperwork-exempt: yes +Signed-off-by: Mike Frysinger +Signed-off-by: Stefano Lattarini +--- + bootstrap.sh | 2 -- + configure.ac | 26 -------------------------- + lib/Automake/Config.in | 9 ++++++++- + 3 files changed, 8 insertions(+), 29 deletions(-) + +diff --git a/lib/Automake/Config.in b/lib/Automake/Config.in +index fe6ef9d..885e74e 100644 +--- a/lib/Automake/Config.in ++++ b/lib/Automake/Config.in +@@ -33,7 +33,14 @@ our $PACKAGE_BUGREPORT = '@PACKAGE_BUGREPORT@'; + our $VERSION = '@VERSION@'; + our $RELEASE_YEAR = '@RELEASE_YEAR@'; + our $libdir = '@datadir@/@PACKAGE@-@APIVERSION@'; +-our $perl_threads = @PERL_THREADS@; ++ ++our $perl_threads = 0; ++# We need at least this version for CLONE support. ++if (eval { require 5.007_002; }) ++ { ++ use Config; ++ $perl_threads = $Config{useithreads}; ++ } + + 1; + +-- +1.8.0.2 + -- cgit v1.2.3-65-gdbad