On Fri, 2012-07-20 at 18:54 +0100, Ciaran McCreesh wrote: > On Fri, 20 Jul 2012 13:43:15 -0400 > Alexandre Rostovtsev wrote: > > > If you dep upon foo[linguas_en(+)] and linguas_en isn't in IUSE, > > > what happens? > > > > Fatal error. If a package installs its translations implicitly via > > gettext's rules depending on the value of LINGUAS at configure time, > > then obviously other packages must rely on that package having > > installed any particular translation. > > Uh, the entire point of the (+) is that it's *not* a fatal error if you > have a default. That suggests that the EAPI ought to define a second category of USE_EXPAND flags, one that has a different treatment of (+)/(-). Something like the following: A dependency on $foo[linguas_bar(+)] would be considered satisfied by an ebuild X matching $foo iff: 1. X has linguas_bar in IUSE and enabled; or 2. X does not have linguas_bar in IUSE, but there exists an ebuild Y (which may or may not equal X) matching $foo such that Y has at least one linguas_* flag in IUSE. -Alexandre.