On 05/27/2016 11:40 AM, William Hubbs wrote:
> On Fri, May 27, 2016 at 05:21:06PM +0300, Mart Raudsepp wrote:
>> Hello,
>>
>> Despite it being 2016 and gtk2 pretty much dead, buried and forgotten
>> upstream, many applications still support only gtk2, have subtle issues
>> with their gtk3 port, or support both, with some of our userbase
>> clinging to gtk2 for dubious political or aesthetical reasons.
>>
>> For the latter cases, despite GNOME teams policy and strong preference
>> on not providing a choice and just choosing gtk2 or gtk3 (gtk3 if it's
>> working as good as gtk2), some cases exist where the maintainers want
>> to provide such choice. In some cases it is understandable for a short
>> while during transition, e.g firefox. In other cases, it is purely for
>> the sake of providing the choice of working with a deprecated toolkit,
>> apparently.
>>
>> My highly biased essay aside, we need to finally globally agree on what
>> we do in this situation. If we allow this choice at all, only for
>> special cases, or widespread. And if this choice is provided, how do we
>> name the USE flag.
> 
> (qa hat in place)
> 
> There is a qa policy about this. All packages in the tree should
> move away from the non-versioned gtk use flag to versioned use flags,
> like the ones the qt team uses [1] [2].
> 
> This seems to be the best compromise. It allows the maintainers of the
> packages to decide which toolkit they want to support. If there is too
> much work involved in maintaining a package with dual support, don't do
> the work, just make it support the appropriate toolkit version.
> 
> I have not seen any reason why something like this couldn't work. After
> all, it seems to work for the qt team.
> 
> William
> 
> [1]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Policies#gtk.2Fgtk2.2Fgtk3_USE_flag_situation
> [2]
> https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Meeting_Summaries#GTK_flag_situation
> 

Explicit gtk version flags is fine by me:
REQUIRED_USE=" || ( gtk2 gtk3 ) ^^ ( gtk2 gtk3 ) ?? ( gtk2 gtk3 )"

I think an unversioned gtk flag semantically makes and simplifies some
ebuild logic in cases where gtk support is completely optional.
DEPEND="
        gtk? (
                cat/foo
                cat/gorp[gtk2=,gtk3=]
                gtk2? (
                        cat/bar:2
                        cat/baz[gtk2]
                        x11-misc/gtk:2
                )
                gtk3? (
                        cat/bar:3
                        x11-misc/gtk:3
                )
        )
"

So, in summary, I'm content to move away from unversioned gtk flags in
all cases except when using it to describe "optional gtk support" which
is then backed up with versioned gtk flags.

Also, regardless of the decision, I'd be happy to help refactor the tree
to conform with the decision.
-- 
NP-Hardass

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to