m4: --disable-nls doesn't prevent intltool checks

Bug #904647 reported by Arun Raghavan
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
intltool
Triaged
Medium
Unassigned

Bug Description

IT_PROG_INTLTOOL checks for the existence of intltool even if --disable-nls is provided. IMO this is incorrect.

Changed in intltool:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Hib Eris (hiberis) wrote :

Packages that use intltool for example to internationalize *.desktop files always build-depend on intltools to create the *.desktop file from a *.desktop.in file. Thus it is impossible to build such a package without intltool.

 The option --disable-nls might suggest that you can disable internationalization, but you cannot disable the use of intltools and thus this option should NOT disable the checks for intltool.

IMO, the option --disable-nls is confusing and should not be added to the configure options by using IT_PROG_INTLTOOL.
(that means remove AM_NLS from intltool.m4 and replace it with just:

if -z $USE_NLS; then USE_NLS=yes;fi
AC_SUBST(USE_NLS)

Revision history for this message
Hib Eris (hiberis) wrote :

I have rewritten intltool.m4 to allow --disable-nls:

lp:~hiberis/intltool/bug-904647

Changed in intltool:
milestone: none → 0.51.0
Revision history for this message
Hib Eris (hiberis) wrote :

I have updated my branch to current trunk

dobey (dobey)
Changed in intltool:
milestone: 0.51.0 → none
Revision history for this message
Mr Anonimus (altj2) wrote :

this bug is very annoying. i do not need translations and so i --disable-nls in all autoconf packages,
but those using libintl need a huge amount of patches in order not to pull in dependencies on intltool, perl, and XML::Parser. (which are quite heavy build dependencies).
since i build a distro from source this happens all over a again. i already spend countless hours of
cpu time for testbuilds just for the otherwise not necessary perl dependency.

imo an easy way to solve the dilemma with the .desktop files is this:
if HAVE_INTLTOOL
   intltool-merge ... foo.desktop.in foo.desktop
else
   cat foo.desktop.in | sed 's,^_,,' > foo.desktop
fi

Revision history for this message
Mr Anonimus (altj2) wrote :

as a compromise, it would help a lot if intltool.m4 stops checking for perl and the XML::Parser module.

that way one could at least provide a minimal intltool replacement that just returns the english strings.

basically you want to check if intltool is installed and working, right ?

whether it uses perl and XML::Parser behind the back are implementation details, someday someone might rewrite intltool in C or in python or whatever, but it will take years until the change in intltool.m4 propagates into release tarballs.

so imo it'd be much cleaner if the .m4 file just checks whether the intltool-tools are installed, and assume them to be working.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.