| Summary: | media-gfx/gqview: suspect nls USE flag | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Ciaran McCreesh <ciaran.mccreesh> |
| Component: | Current packages | Assignee: | Mr. Bones. (RETIRED) <mr_bones_> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | flameeyes, graphics+disabled, qa |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Ciaran McCreesh
2006-02-15 02:12:20 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"
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... 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). make_it_a_hard_dep++; ->gettext in DEPEND ->virtual/libintl in RDEPEND fixed in CVS. Check it out and make sure I didn't dork it up too bad. Looks good, thanks. |