Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Cc: Alexandre Rostovtsev <tetromino@g.o>
Subject: Re: [gentoo-dev] autotools.eclass:eautoreconf now runs autopoint for you
Date: Mon, 21 May 2012 15:36:19
Message-Id: 201205211136.02084.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] autotools.eclass:eautoreconf now runs autopoint for you by Alexandre Rostovtsev
1 On Monday 21 May 2012 02:41:18 Alexandre Rostovtsev wrote:
2 > On Sun, 2012-05-20 at 06:32 -0400, Mike Frysinger wrote:
3 > > i've extended eautoreconf to automatically call autopoint when the
4 > > package uses gettext. the configure check might seem naïve, but this is
5 > > how autoreconf itself does it. this hopefully shouldn't break any
6 > > packages (at least, none that weren't already broken), but if you guys
7 > > start seeing eautoreconf failures where there were none before, feel
8 > > free to cc base-system. -mike
9 > >
10 > > --- autotools.eclass
11 > > +++ autotools.eclass
12 > > @@ -162,6 +162,9 @@ eautoreconf() {
13 > >
14 > > einfo "Running eautoreconf in '${PWD}' ..."
15 > > [[ -n ${auxdir}${macdir} ]] && mkdir -p ${auxdir} ${macdir}
16 > > eaclocal
17 > >
18 > > + if grep -q '^AM_GNU_GETTEXT_VERSION' configure.?? ; then
19 > > + eautopoint --force
20 > > + fi
21 > >
22 > > [[ ${CHOST} == *-darwin* ]] && g=g
23 > > if ${LIBTOOLIZE:-${g}libtoolize} -n --install >& /dev/null ; then
24 > >
25 > > _elibtoolize --copy --force --install
26 >
27 > This change broke many gnome-related packages, see bug #416789. You
28 > cannot assume that every package that uses AM_GNU_GETTEXT_VERSION wants
29 > (just) autopoint;
30
31 two things:
32 - eautoreconf acts like autoreconf which means it can assume that use of
33 AM_GNU_GETTEXT_VERSION implies use of `autopoint`
34 - it doesn't assume *just* autopoint -- nothing is stopping you from running
35 any other random tools you like (such as intltool)
36
37 > there are also packages that use intltool (to be run
38 > after autopoint) or glib-gettext (in which case autopoint should not be
39 > used at all).
40
41 so attempting to run `autoreconf` in those packages fails ?
42
43 > +# @ECLASS-VARIABLE: WANT_INTLTOOL
44 > +# @DESCRIPTION:
45 > +# Do you want intltool? Valid values here are "latest" and "none".
46 > +: ${WANT_INTLTOOL:=latest}
47 > ...
48 > +_intltool_atom="dev-util/intltool"
49 > +if [[ -n ${WANT_INTLTOOL} ]] ; then
50 > + case ${WANT_INTLTOOL} in
51 > + none) _intltool_atom="" ;;
52 > + latest) ;;
53 > + *) die "Invalid WANT_INTLTOOL value '${WANT_INTLTOOL}'" ;;
54 > + esac
55 > + export WANT_LIBTOOL
56 > +fi
57 > ...
58 > -AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_libtool_atom}"
59 > +AUTOTOOLS_DEPEND="${_automake_atom} ${_autoconf_atom} ${_intltool_atom}
60
61 no. this adds intltool as a dependency to every package inherting this
62 eclass.
63 -mike

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies

Subject Author
Re: [gentoo-dev] autotools.eclass:eautoreconf now runs autopoint for you Alexandre Rostovtsev <tetromino@g.o>