Kent Fredric <kentfredric <at> gmail.com> writes:

> Useflags have their perks for giving variations on behaviour, but having 3
> effective packages in one, governed by useflags, means you'll have 3 much
> more tightly coupled packages, and the code will be much messier with
> useflag conditionals to pull dependencies.
> 
> If you imagine useflags like "if" statements, and ebuilds like independent
> classes where "dependencies" are a kind of inheritance, you may find theres'
> reasonable benefits for the maintenance side  e.g.: people checking reverse
> deps for QT don't have to worry about changes in QT breaking vim and gvim
> because those packages are independent of QT interaction 
> 
> 
> Fixes that need to go in to make building vs QT mean only the qvim ebuild
> gets updated and the rest are fine as-is.
> 
> The only real downside is if you're building all 3 {q,g,}vim there's a
> little compile time overhead as a result ( Though I'm not sure what the
> difference is in real terms )
> 
> But by having them seperate, we enjoy a more robust installation,
> especially for people who only want one of the 3, then they're not
> needlessly burdened by logic to handle things they're not using, which
> could break.
> 
> Not to mention you have to deal with overheads introduced by having to
> work out the equivalent of all three of the above having vastly different
> useflags and making useflags conditional upon each other as a result to
> codify the same behaviour, again, further raising the odds that a situtation
> will arise where things break and the dependencies/use flags are  a mess.

Kent,

all your argumentations make sense, but actually only apply to vim-qt, which
isn't in fact in the vim main tree.

In other words: it's normal that vim and vim-qt are two different packages,
but gvim is just vim with the GUI interface (neither an add-on nor a different
project); playing with USE flags in /etc/portage/package.use should give easy
access to all the possible options:

- only vim ("-gtk");
- gvim ("gtk");
- qvim ("-gtk" for vim and vim-qt as package, having vim as dependency);
- or even both ("gtk" for vim and vim-qt).

What's wrong or complex (from a mantainer perspective) with this?

Thanks for your comments



Reply via email to