Re: [gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-23 Thread Vadim A. Misbakh-Soloviov
В письме от Чт, 10 сентября 2015 17:43:30 пользователь Duncan написал:
> So I've learned (the hard way) to use *stars* or _underlines_ (or for 
> lower levels, /italics/) for emphasis, and only use ALL CAPS when I 
> really do intend to SHOUT, which isn't often.

Ok. Thank you for netiquette reminder.

I apologize to everyone who might be hurt by that my statement.

And, actually, imagine that speech in IRL, I'd really say that sentence part 
("we've no right to dictate") a bit louder than the rest. Alhough, yes, I 
didn't mean the loud shoud.


-- 
Best regards,
mva


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-12 Thread Duncan
Rich Freeman posted on Sat, 12 Sep 2015 06:48:13 -0400 as excerpted:

> On Sat, Sep 12, 2015 at 6:00 AM, Duncan <1i5t5.dun...@cox.net> wrote:
>>
>> Just bite the bullet and create entire USE flag families such that an
>> ebuild can choose the flag appropriate to how it actually uses it. 
>> AFAIK this would need EAPI help, for reasons given below, but it should
>> be doable.
>>
>> gui
>> gui-gtk
>> gui-gtk-2
>> gui-gtk-3
>> gui-qt
>> gui-qt-4
>> gui-qt-5
> 
> I'm going to have to read the rest of your email about 14 times to fully
> grok it,

LOL.  I started with a paragraph describing each setting, and very 
quickly decided /that/ wasn't going to work!  I was "in a maze of twisty 
passages, all different!"[1]  So I tried the matrix/table.  That was bad 
enough, but at least with the table, I could cover all possibilities 
systematically without losing track of where I was.

Luckily, the logic can be written once and used by many.  Additionally, 
once setup, ordinary ebuild maintainers won't have to worry about the 
logic matrix, they'll simply setup the vars describing the candidates, 
call the function, get a result, and act on it.  To ordinary ebuild 
maintainers it can be as effectively black-box as a call to any EAPI/PM 
supplied function is, today.

> but one thing that strikes me about this approach, and perhaps
> mine as well, is that this assumes that USE=-gui should imply USE="-gtk
> -qt" or similar.
> 
> What if qt or gtk is used for more than just the GUI.  What if the
> console version of the program still uses other functions in these
> toolkits besides window decoration/etc?

You're expanding my realm of possibilities here, thanks! =:^)

Good point, particularly since qt5 is modularized with the specific 
intent of making it useful for CLI-only as well.  Except that no, the 
proposal does /not/ necessarily assume USE=-gui means USE=-qt and -gtk as 
well.  While my example had nothing suggesting CLI, keep in mind that 
these are effectively hierarchy flags, with gui-* used as the example.  

This was a (possibly abridged, there's other GUI toolkits...) example of 
the use and logic of the gui-* flags, but use of other flags and flag-
families in the same ebuild would certainly be possible.  Presumably one 
such flag (and perhaps eventually flag-family, if called for) could be 
cli-qt-5.

Meanwhile, keep in mind that as described, the ebuild would set the 
candidates, then call a function which would return the selected 
candidates to build.  But that doesn't prevent the ebuild from using 
further logic with other flags, etc.

So taking your example, the ebuild would do the whole gui-* flag family 
thing as I described, get the results for that, and could then either do 
another family setup and get more results, or could throw in more 
conventional flags.  And one such flag, possibly individual at first, 
wold be cli-qt-5, controlling this option separately.  If later there 
were enough such flags to make a cli-* family, existing ebuilds using cli-
qt-5 would continue to use that individual flag, while revision-bumps or 
new versions could start using the cli-* family, setting it up using UH-* 
variables and calling the function again, getting a CLI result which 
could be used, just as they got a GUI result to use.

---
[1] https://en.wikipedia.org/wiki/Colossal_Cave_Adventure

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




Re: [gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-12 Thread Rich Freeman
On Sat, Sep 12, 2015 at 6:00 AM, Duncan <1i5t5.dun...@cox.net> wrote:
>
> Just bite the bullet and create entire USE flag families such that an
> ebuild can choose the flag appropriate to how it actually uses it.  AFAIK
> this would need EAPI help, for reasons given below, but it should be
> doable.
>
> gui
> gui-gtk
> gui-gtk-2
> gui-gtk-3
> gui-qt
> gui-qt-4
> gui-qt-5

I'm going to have to read the rest of your email about 14 times to
fully grok it, but one thing that strikes me about this approach, and
perhaps mine as well, is that this assumes that USE=-gui should imply
USE="-gtk -qt" or similar.

What if qt or gtk is used for more than just the GUI.  What if the
console version of the program still uses other functions in these
toolkits besides window decoration/etc?

Granted, I suspect that in such a case turning off any of this stuff
is probably not build-time-configurable.  If you want the console-only
version you'd just pass the appropriate command line option (like
deluge's --ui option).

However, it is conceivable that you could design a build system so
that the GUI requires qt and libfoo, spell check requires qt only, and
you could build the program with GUI support, spell check support, or
neither.  If you built with USE="-gui spellcheck" then you'd want qt
enabled but libfoo disabled.  That is obviously a highly contrived
example and perhaps we don't need to worry about this scenario.
However, it does illustrate the general danger of making USE flags a
strict hierarchy.  A hierarchy like qt/qt4 is probably fairly safe,
but when you generalize to gui/qt/qt4 you're making the assumption
that qt is only used for guis.

But I do like the concept, well, conceptually.

-- 
Rich



[gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-11 Thread Duncan
Rich Freeman posted on Fri, 11 Sep 2015 08:13:48 -0400 as excerpted:

> USE=gui or something like that if the main effect is to have a gui or
> not.
>  That is the sort of thing that SHOULD go in make.conf or in a profile.
> If disabling gtk makes it a console-only application then use the gui
> flag.

I like the general proposal, but since it's going to council, can we try 
to kill another bird with the same stone?  This USE=gui helps...

Wayland's coming, and to the extent that USE=X has previously indicated a 
GUI, much like USE=gtk and USE=qt indicating the same thing, we're going 
to have problems.

Can we make USE=gui the generic policy for that, and deprecate more 
specific forms for choosing /any/ gui, so they can be used for choosing 
/which/ gui?

Then of course ordain both X and wayland USE flags for choosing specific 
gui platform, like gtk and qt did at their level traditionally.

The question then remains whether ncurses, etc, should be treated as a 
gui. Maybe make mention of that one way or the other in the policy as 
well.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




Re: [gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-11 Thread Rich Freeman
On Fri, Sep 11, 2015 at 1:11 PM, Duncan <1i5t5.dun...@cox.net> wrote:
> Rich Freeman posted on Fri, 11 Sep 2015 08:13:48 -0400 as excerpted:
>
>> USE=gui or something like that if the main effect is to have a gui or
>> not.
>>  That is the sort of thing that SHOULD go in make.conf or in a profile.
>> If disabling gtk makes it a console-only application then use the gui
>> flag.
>
> I like the general proposal, but since it's going to council, can we try
> to kill another bird with the same stone?  This USE=gui helps...
>
> Wayland's coming, and to the extent that USE=X has previously indicated a
> GUI, much like USE=gtk and USE=qt indicating the same thing, we're going
> to have problems.
>
> Can we make USE=gui the generic policy for that, and deprecate more
> specific forms for choosing /any/ gui, so they can be used for choosing
> /which/ gui?

That was exactly why I used "gui" and not "X".  We're going to run
into the exact same problem once Wayland comes along with the way
things have been done so far.

>
> The question then remains whether ncurses, etc, should be treated as a
> gui. Maybe make mention of that one way or the other in the policy as
> well.
>

I actually was pondering that and left it out of my email.  My gut
feeling is that ncurses should be left alone for now.  USE=-gui would
mean console-only, whether that happens to include support for
ncurses, aa, or whatever.

Are there any applications out there which behave dramatically
differently if they do/don't have ncurses support built-in?  If you
set TERM=dumb I imagine that software which actually supports this
would just behave accordingly (ie if it is just using colors or moving
progress bars or whatever it will drop the decorations).  Usually
though dumb terminal software tends to be somewhat dedicated (for
things like editors and the like).

I don't want to complicate things if nobody really cares about them.
However, in theory you could treat various console-enhancing libraries
in the same way.  There is also svgalib and the like.

-- 
Rich



[gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-10 Thread Duncan
hasufell posted on Thu, 10 Sep 2015 10:47:26 +0200 as excerpted:

> On 09/10/2015 08:21 AM, Daniel Campbell wrote:
>> 
>> For me to not support gtk2 in the spacefm ebuild would be providing a
>> package inferior to upstream.
> 
> That sounds like spacefm with gtk3 is lacking anything. It is not.
> Providing choice for the sake of choice is not always a good idea.

Nothing personal, but...

Seeing this coming from a gentoo dev, where user choice and control is 
viewed as a virtue, is a shame.  There's a reason gentoo has USE flags 
and doesn't default to binaries.

Particularly where upstream is deliberately providing the choice, 
specifically to allow the users that choice, having gentoo abort that 
choice seems to stand in the way of everything gentoo and Larry the cow 
is about.

(Tho I must say, it does sound like typical upstream gnome think.  
Restrict user choice, it's for their own good!  I've never understood how 
some gentooers could tolerate such an attitude and use gnome as a 
preference, as it really is antithetical to gentoo's whole stance on 
choice, but of course given that there are devs willing to make it 
available, removing gnome as a choice for those who wish to go that way 
would be antithetical to that ideal as well, so there you have it.)

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




[gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-10 Thread Duncan
hasufell posted on Thu, 10 Sep 2015 17:35:53 +0200 as excerpted:

>> Again, I'm saying that maintainers should be free to support multiple
>> versions if they wish to do so.  They should not be required to do so.
>> And yes, I do realize that this limits options for users, but they're
>> welcome to proxy-maintain packages that do support the versions they
>> wish to use.  If they want to fork upstream they're even welcome to do
>> that, but obviously that isn't going to happen often.
>> 
>> I just don't think we should be in the business of saying "no" here.
> 
> Again, your proposed use case is 1) imaginary 2) currently impossible to
> support, because there are lots of applications which either force gtk3
> in the ebuild or have only gtk3 supported upstream. It will be pretty
> much impossible to not have gtk3 installed or loaded into RAM, unless
> you don't use a DE in the first place and stick to terminals.

Pretty much impossible?  For a kde and gtk2-based software user?  Not so 
much.  I've only one package here using gtk3, a relatively recent 
addition to a set in my world-sets file, and it's a rather optional 
package (solaar, for managing my Logitech wireless devices), with a CLI-
only option, so I've been thinking about disabling gtk3 support just to 
avoid having to hassle the gtk3 and supporting software updates.

One thing I learned fairly quickly with gentoo is that unlike binary 
distros, over time there's a real cost to one-off or two-off 
dependencies, because they aren't just single-time builds, but are 
generally updated and must be repeatedly rebuilt over time.  For things 
you /might/ use, or do use occasionally, but only perhaps yearly or less 
often, it's often more efficient to merge on-demand, then unmerge again, 
until they happen to be needed again, than it is to keep them and 
dependencies current the whole time.  (Tho obviously, this applies more 
to ~arch users who do --deep updates, than others.)

In that context, given the current usage of gtk3 in-tree, it's quite 
realistic for a user to wish to avoid gtk3, if they've a number of gtk2-
only apps (as I do).  Similarly the other way of course, for those with a 
number of gtk3 apps, they may wish to avoid gtk2 and gtk2-only apps, if 
they can, to avoid it being on their system, tho AFAIK with both chromium 
and firefox being gtk2 at this point, that's a bit more difficult.

Unfortunately, gentoo/gtk's attitude makes this much more difficult than 
it should be.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman




[gentoo-dev] Re: www-client/chromium gtk3 support

2015-09-10 Thread Duncan
hasufell posted on Thu, 10 Sep 2015 18:57:43 +0200 as excerpted:

> On 09/10/2015 04:31 PM, Vadim A. Misbakh-Soloviov wrote:
>> WE HAVE NO RIGHT TO DICTATE users what they should use and what they
>> should not.

@ Vadim in particular:

FWIW, some people are much more sensitive to short runs of ALL CAPS than 
others.  To some, ALL CAPS is ALWAYS SHOUTING, while to others (me, 
apparently you/Vadim), ALL CAPS can also mean emphasis, as long as the 
run isn't too long.  (I do think that most would agree that whole 
sentences and certainly whole paragraphs in all caps is shouting, and 
just as uncomfortable to read as shouting tends to be to listen to.)

So I've learned (the hard way) to use *stars* or _underlines_ (or for 
lower levels, /italics/) for emphasis, and only use ALL CAPS when I 
really do intend to SHOUT, which isn't often.

Given that, many will interpret the above as a SHOUTED DEMAND, which 
probably isn't what you intended, even if you (as I) feel rather strongly 
about it in general.

> You should really either reconsider your understanding of opensource or
> start to pay me.

hasufell has a point here, particularly when the above is interpreted as 
a SHOUTED DEMAND due to the all caps.  It is said that he who codes, 
makes the rules, and that really does tend to be the case.  Yes, the code 
is open to others to do with as they wish (including fork, etc, as 
hasufell suggests), but the coder could have just done something else 
instead, and it's their time they're taking, often as volunteers, to make 
it available to you in the first place.

Thus, as you'll see, the argument from most supporting the choice 
position is that it's the package maintainer's choice, that should the 
package maintainer choose to support both toolkits, particularly in view 
of upstream specifically doing the same, he should be encouraged to do so.

No demands of the maintainer, and the argument would be entirely 
different, should the maintainer choose not to support both toolkits.

(Which, BTW, is why when gentoo/kde temporarily decided not to support 
turning off semantic-desktop in kde4 any longer, despite upstream kde 
continuing to support that choice at least thru the kde4 series, I did 
actually fork the kde ebuilds, maintaining my own patches in ordered to 
continue to support kde without the semantic-desktop, when gentoo/kde 
would no longer do so.  I even opened a discussion on the desktop list on 
the topic of trying to get a user supported overlay going, similar to the 
kde-sunset overlay used for kde3, when it was removed from the tree.  
However, shortly after I did so, someone in the gentoo/kde project 
decided they needed the no-semantic-desktop option and were thus willing 
to support it in the project, so the USE flag was brought back and the 
overlay discussion could be dropped.  No DEMANDING continued gentoo/kde 
support, despite continued upstream support, and had I DEMANDED it, I 
believe it quite possible the gentoo/kde project would have voted the 
other way when the one dev actually decided it /was/ worth supporting, 
and we'd probably be having to do it in an overlay, today.)

But when the maintainer himself is willing to support it, no demands, as 
others have argued and I agree, gentoo and the gentoo/gtk project 
shouldn't stand in the way.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman