On Sun, Aug 2, 2015 at 10:27 AM, Michał Górny <mgo...@gentoo.org> wrote: > Dnia 2015-08-03, o godz. 00:34:51 > Ben de Groot <yng...@gentoo.org> napisał(a): > >> Recently some team members of the Qt project have adopted these ebuild >> policies: https://wiki.gentoo.org/wiki/Project:Qt/Policies >> >> I have an issue with the policy adopted under "Requires one of two Qt >> versions". In my opinion, in the case where a package offers a choice >> between qt4 or qt5, we should express this in explicit useflags and a >> REQUIRED_USE="^^ ( qt4 qt5 )". This offers the user the clearest choice. >> >> Other developers state that users are not interested in such implementation >> details, or that forced choice through REQUIRED_USE is too much of a >> hassle. This results in current ebuilds such as quassel to not make it >> clear that qt4 is an option. >> >> This goes against the principle of least surprise, as well as against QA >> recommendations. I would like to hear specifically from QA about how we >> should proceed, but comments from the wider developer community are also >> welcome. > > Long story short, this is USE=gtk once again. GNOME team had a > policy that handled the case cleanly and QA outvoted it in favor of > Qt-like policy. Then Qt team figured out their policy was unfriendly, > and 'fixed' it with this ugly hack...
Except that it's not a "ugly hack", but it's in fact recommended by the devmanual (ulm already quoted the relevant text). I'd agree that it's not ideal either (but so far I haven't seen any ideal solution being proposed). > As I see it, this is a major failure of using toolkit-version oriented > flags rather than feature-oriented flags. Possibilities compared: I could agree with this. So, back to USE=gui? A USE_EXPAND maybe? > What would be really clean is USE='qt qt5' (or 'qt qt4'), alike GNOME > team policy. USE=qt would mean 'any version of Qt, if optional', and > qt4/qt5 would be used to switch between Qt4/Qt5. If Qt would be > obligatory, no USE=qt would apply. If only one Qt version would be > supported, no USE=qt4/qt5 would apply. Clean, sane and limited > package.use cruft. > I could agree in principle. However this would be a major tree-wide change, and should happen as quickly as possible to avoid creating even more confusion for users. Plus, who is willing to do all the work? (hint: I'm not) ...so, I don't think this solution is practical.