Hello fellow developers,

In the first meeting of the new QA team, we discussed the state of the
gtk{,2,3} USE flags in the main tree. [0]

In its current state, USE="gtk" means gtk2. The Gnome team is trying to change
this into "the most recent gtk version" (it is a work in progress).

Unfortunately, the concurrent nature of gtk2/gtk3 has resulted in packages that
may support either or both the toolkits. To handle this, a few developers have
introduced the "gtk3" useflag, that prefers gtk3 over gtk2 when both toolkit
versions are supported. At this point, the Gnome team highly recommends
prefering gtk3 if possible, skipping the useflag altogether. [1]

Some developers choose to follow the Gnome team's highlights, while others
choose to go their own way. The QA team would like to establish a guideline
that solves this problem in the best way possible.

During our discussion, it was pointed out that keeping a generic USE="gtk" is
sub-optimal. The non-straightforward nature of new toolkit versions makes
transitioning from one to the other a slow, tedius process and we think that a
non-versioned USE flag makes things even worse.

A few of our members recommended a move away from the unversioned USE="gtk" to
versioned-only USE flags. Qt managed to do this quite successfully when they
transitioned from the unversioned USE="qt" (that actually meant qt3) to
USE="qt4". The benefits can be seen now that qt5 is around the corner.
USE="qt5" is straightforward, does not mess with qt4 packages and was
introduced to the tree without messing with current packages too much - other
than adding a new use flag where appropriate. There is also no need for
USE="qt" anymore.

To achieve this, version 3 of gtk should always be enabled by USE="gtk3". At
some point in the future, when gtk2 consumers reach zero, we will retire "gtk"
for good. Then, if some day gtk4 comes around, we will be able to introduce
support for it in the tree by simply adding USE="gtk4", without having to
re-structure half the tree.

We are reaching out to the developer community to hear your thoughts and ideas
on the matter. We would like to reach a decision that could possibly affect and
direct the state of whole tree. This decision could then be turned into a
policy, improving Gentoo's consistency across the tree.

Cheers

[0] 
https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#Summary_of_Wednesday_January_29.2C_2014
[1] https://wiki.gentoo.org/wiki/Gnome_Team_Policies#gtk3
-- 
Alex Alexander | wired@gentoo

Attachment: signature.asc
Description: Digital signature

Reply via email to