Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-dev
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-dev@g.o
From: Alexandre Rostovtsev <tetromino@g.o>
Subject: Re: autotools.eclass:eautoreconf now runs autopoint for you
Date: Mon, 21 May 2012 02:41:18 -0400
On Sun, 2012-05-20 at 06:32 -0400, Mike Frysinger wrote:
> i've extended eautoreconf to automatically call autopoint when the package 
> uses gettext.  the configure check might seem naïve, but this is how autoreconf 
> itself does it.  this hopefully shouldn't break any packages (at least, none 
> that weren't already broken), but if you guys start seeing eautoreconf 
> failures where there were none before, feel free to cc base-system.
> -mike
> 
> --- autotools.eclass
> +++ autotools.eclass
> @@ -162,6 +162,9 @@ eautoreconf() {
>  	einfo "Running eautoreconf in '${PWD}' ..."
>  	[[ -n ${auxdir}${macdir} ]] && mkdir -p ${auxdir} ${macdir}
>  	eaclocal
> +	if grep -q '^AM_GNU_GETTEXT_VERSION' configure.?? ; then
> +		eautopoint --force
> +	fi
>  	[[ ${CHOST} == *-darwin* ]] && g=g
>  	if ${LIBTOOLIZE:-${g}libtoolize} -n --install >& /dev/null ; then
>  		_elibtoolize --copy --force --install

This change broke many gnome-related packages, see bug #416789. You
cannot assume that every package that uses AM_GNU_GETTEXT_VERSION wants
(just) autopoint; there are also packages that use intltool (to be run
after autopoint) or glib-gettext (in which case autopoint should not be
used at all).

Unless there are major nacks, I intend to apply the following patch
today in order to unbreak gnome. The patch follows the logic in
gnome2-live.eclass (in the gnome overlay) and gnome-autogen.sh, and is
therefore known to work.

Note that the patch adds a build dependency on intltool by default. This
should not be a problem because (1) intltool is keyworded everywhere,
and (2) basically every gentoo build machine already has it installed.

Index: autotools.eclass
===================================================================
RCS file: /var/cvsroot/gentoo-x86/eclass/autotools.eclass,v
retrieving revision 1.138
diff -u -r1.138 autotools.eclass
--- autotools.eclass	20 May 2012 13:01:22 -0000	1.138
+++ autotools.eclass	21 May 2012 06:31:48 -0000
@@ -28,6 +28,11 @@
 # The major version of automake your package needs
 : ${WANT_AUTOMAKE:=latest}
 
+# @ECLASS-VARIABLE: WANT_INTLTOOL
+# @DESCRIPTION:
+# Do you want intltool?  Valid values here are "latest" and "none".
+: ${WANT_INTLTOOL:=latest}
+
 # @ECLASS-VARIABLE: WANT_LIBTOOL
 # @DESCRIPTION:
 # Do you want libtool?  Valid values here are "latest" and "none".
@@ -77,6 +82,16 @@
 	export WANT_AUTOCONF
 fi
 
+_intltool_atom="dev-util/intltool"
+if [[ -n ${WANT_INTLTOOL} ]] ; then
+	case ${WANT_INTLTOOL} in
+		none)   _intltool_atom="" ;;
+		latest) ;;
+		*)      die "Invalid WANT_INTLTOOL value '${WANT_INTLTOOL}'" ;;
+	esac
+	export WANT_LIBTOOL
+fi
+
 _libtool_atom="sys-devel/libtool"
 if [[ -n ${WANT_LIBTOOL} ]] ; then
 	case ${WANT_LIBTOOL} in
@@ -87,7 +102,7 @@
 	export WANT_LIBTOOL
 fi
 
-AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_libtool_atom}"
+AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_intltool_atom} ${_libtool_atom}"
 RDEPEND=""
 
 # @ECLASS-VARIABLE: AUTOTOOLS_AUTO_DEPEND
@@ -163,9 +178,13 @@
 	[[ -n ${m4dirs} ]] && mkdir -p ${m4dirs}
 
 	eaclocal
-	if grep -q '^AM_GNU_GETTEXT_VERSION' configure.?? ; then
+	# Follow gnome2-live.eclass and gnome-autogen.sh logic; bug #416789
+	if grep -q '^AM_GNU_GETTEXT_VERSION' configure.?? && ! grep -q '^AM_GLIB_GNU_GETTEXT' configure.?? ; then
 		eautopoint --force
 	fi
+	if grep -q "^AC_PROG_INTLTOOL\|^IT_PROG_INTLTOOL" configure.?? ; then
+		autotools_run_tool intltoolize --force --copy --automake
+	fi
 	_elibtoolize --install --copy --force
 	eautoconf
 	eautoheader



Replies:
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Mike Frysinger
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Mike Frysinger
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Pacho Ramos
Re: autotools.eclass:eautoreconf now runs autopoint for you
-- Alexandre Rostovtsev
References:
autotools.eclass:eautoreconf now runs autopoint for you
-- Mike Frysinger
Navigation:
Lists: gentoo-dev: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: autotools.eclass:eautoreconf now runs autopoint for you
Next by thread:
Re: autotools.eclass:eautoreconf now runs autopoint for you
Previous by date:
Re: Re: enhancement for doicon/newicon in eutils.eclass
Next by date:
Re: autotools.eclass:eautoreconf now runs autopoint for you


Updated Jun 29, 2012

Summary: Archive of the gentoo-dev mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.