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.

Reply via email to