Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 122891 - media-gfx/gqview: suspect nls USE flag
Summary: media-gfx/gqview: suspect nls USE flag
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mr. Bones. (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-15 02:12 UTC by Ciaran McCreesh
Modified: 2006-02-21 14:52 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ciaran McCreesh 2006-02-15 02:12:20 UTC
QA checks for /usr/portage/media-gfx/gqview:
media-gfx/gqview-2.0.1: dep flags:
  major:  Conditional flag 'nls' in DEPEND not in IUSE
  major:  Conditional flag 'nls' in RDEPEND not in IUSE
media-gfx/gqview-2.1.1: dep flags:
  major:  Conditional flag 'nls' in DEPEND not in IUSE
  major:  Conditional flag 'nls' in RDEPEND not in IUSE


Looks like USE=nls is being used purely to pull in a package, and isn't altering configure in any way. Is this a bogus dep?
Comment 1 Marcelo Goes (RETIRED) gentoo-dev 2006-02-18 11:55:24 UTC
Reading the ebuild shows the package being pulled in is gettext. So, I'm copying+pasting what Diego wrote for other similar bugs:

"The ebuild in summary has a runtime dependency over gettext.

gettext is normally used only as build-time dependency to create the po files
in nls-enabled packages.
A part from development tools, the only case when gettext is needed as runtime
dependency is when the system c library does not provide intl functions.
For this reason the right way to state the dependencies for nls-enabled
packages is:

RDEPEND="nls? ( virtual/libintl )
   ...."

DEPEND="${RDEPEND}
   nls? ( sys-devel/gettext )"

this way libintl takes care of adding the dependency when needed and gettext is
required only at build time.

Note: although usually packages using gettext and autotools are supposed to
honour --disable-nls at configure time, that might not always be true, so
gettext and libintl might be an hard dependency. Also, gettext (but not
libintl) might be an hard dependency if the sources needs to be bootstrapped
for autotools from scratch (and thus autopoint has to be run).

Thanks,
Diego"
Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-02-18 12:05:14 UTC
It's being pulled in and not even used... the ebuild should either pass $(use_enable nls) to econf, pull in gettext as an hard dep, or not at all.
Just a sec and I'll take a look...
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2006-02-18 12:09:54 UTC
As it is, gettext should be an hard dependency as nls is always enabled (bindtextdomain is called unconditionally). I'm not sure how gtk handles those stuff as I can't see a setlocale() call but rather a gtk_set_locale() one.
Passing $(use_enable nls) is likely to break the package on *BSD and uClibc systems.

IIRC most of GTK stuff simply can't disable nls at all, so gettext should be an hard dependency (and virtual/libintl, too).
Comment 4 Marcelo Goes (RETIRED) gentoo-dev 2006-02-18 12:17:30 UTC
make_it_a_hard_dep++;
->gettext in DEPEND
->virtual/libintl in RDEPEND
Comment 5 Mr. Bones. (RETIRED) gentoo-dev 2006-02-21 13:31:34 UTC
fixed in CVS.  Check it out and make sure I didn't dork it up too bad.
Comment 6 Ciaran McCreesh 2006-02-21 14:52:43 UTC
Looks good, thanks.