[gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Duncan
Georg Rudoy posted on Sun, 03 May 2015 17:13:49 +0300 as excerpted:

> 2015-05-03 13:51 GMT+03:00 Duncan <1i5t5.dun...@cox.net>:
> 
>> What about a somewhat more generic flag such as newcode?

> Nice idea, thanks! There are a couple of corner cases though.
> 
>> newcode would even be generic enough to be used for say qt6 when the
>> time comes, if it turns out to be stuck in the qt overlay for quite
>> some time, as was qt5, for the longest time,
> 
> 
> What if a package would support (optional) builds with C++17-related
> features and (optional) builds with say Qt6, and these could be toggled
> independently? Does that imply having something like newcode_cpp17 and
> newcode_qt4 on per-package basis?

Hmm... indeed.  That case would lend itself to a USE_EXPAND, with newcode 
the name of the use-expand var, and individual values for this var of 
qt6, cpp17, etc.

I hadn't thought of that until you mentioned it, but it's the logical 
extension.

>> and the good bit is, generic meaning,
>> that USE=newcode requires a dep that's still generally problematic or
>> might be considered excessive to get, for optional functionality that
>> may or may not be considered worth it, should be pretty obvious.
>>
>>
> Does that imply that merely pulling clang for builds is not a
> newcode-concern then, and, back to the original topic, in case of
> leechcraft C++14 can be enabled unconditionally, again with
> unconditional pulling of clang?
> 
> That's probably a way to go, but feels like not Gentoo-way enough (just
> removing an option).

I think that depends on the package and package maintainer, as much as 
anything.  The real question for the maintainer, then, becomes one of "If 
it comes down to it, would I rather that a potential user reject the 
package entirely due to this dependency they consider unacceptable, in 
ordered to save the hassle of maintaining the optional dependency code, 
or would I rather give them the choice and have to maintain that 
additional optional dependency code?"

Leachcraft is a very nice little niche, but it's a niche, that already 
both isn't particularly likely to be discovered, and if discovered, may 
well not be of interest.  Making the clang dep optional sounds like it'll 
be significantly more work, the cost on the one side, while the cost on 
the other is potentially limiting the already niche interest leachcraft 
to an even smaller niche, and giving up on those people who were thinking 
about installing it just to try out, but see that extra dep and decide 
it's not worth their hassle.

And of course it works the other way too.  There may be people who 
already know and use leachcraft, but can barely justify it already, who 
might decide that additional dependency is simply one dependency too far.

I found here, and I expect many experienced gentooers who have also used 
binary distros will agree, for packages you use all the time, the build-
cost difference between a binary distro and a from-source distro like 
gentoo is trivial, the use of the package far outweighs it anyway.  But 
what about that package you only use once in awhile?  I guess CD/DVD 
burning software might be a good example for many.  Maybe they use it 
once or twice a year, maybe every two years.  Yeah, it's useful, once in 
awhile, and on a binary distro, no problem, just install it.  But on a 
from source distro like gentoo, once you find yourself repeatedly 
upgrading it between uses, so you're not even using the package once 
before it's upgraded again, at some point you ask yourself why you even 
keep it installed.  If you decide you want to burn a DVD, you can merge 
it then, do the burn, and unmerge, without it ever hitting the world 
file, and with your next depclean removing it if you forget.

And once you get to that point, additional exclusive deps start adding up 
pretty quickly, and before you know it you're looking for an alternative 
that doesn't pull in all those extra deps, so it's just the quick build/
merge/burn/unmerge that fits the once every couple years use-case.

So again, maintainer viewpoint, for something already niche, is it worth 
the extra work to avoid it being even /more/ niche due to the uncommon 
mandatory dep, or is it a question of of it's niche already, and is 
hardly worth the work already, so just do what's simplest and the people 
that want it will be willing to jump thru the hoops and those that can't 
be bothered, aren't worth the extra work to worry about?

That's a question only the maintainer can answer, particularly for niche 
packages that chances are would end up without a maintainer and 
eventually tree-cleaned, if the current maintainer quits.

(For more mainstream packages or package-groups, say kde, with an 
extremely active overlay and a whole crew of folks both devs and advanced 
user volunteers helping out, it's a bit of a different story.  Tho the 
general principle still applies, because in practice it's the only way 
that works.  Refer to the kde4 seman

[gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Duncan
Georg Rudoy posted on Sun, 03 May 2015 17:04:54 +0300 as excerpted:

> Speaking of llvm, media-libs/mesa has "llvm" use flag. Why should user
> care if it's llvm or whatever?

The local use-description tells the store there:

"Enamble LLVM backend for Gallium3D"

In this case, LLVM is the feature, and it is billed as such by upstream.  
Gallium3D can optionally use LLVM to compile shading-language programs to 
run on the programmable shaders.

An alternative USE flag name would be shading-vm, or similar, but because 
upstream actually "sells" the feature as an LLVM shading language 
backend, LLVM really is as much the feature as would be shading-vm or 
shading-compiler or some such, except because it /does/ pull in an LLVM 
that people might not otherwise need on their machine, the llvm flag is 
actually more descriptive, since it says what it pulls in as a dep, as 
well.

Of course, if there were multiple choices, then it could either be a 
generic shading-compiler flag, with flags for each compiler as well, or 
it could be setup as a USE_EXPAND list, sl_llvm, sl_gcc, sl_amd, 
sl_intel...

-- 
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] Automated Package Removal and Addition Tracker, for the week ending 2015-05-03 23:59 UTC

2015-05-03 Thread Robin H. Johnson
The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2015-05-03 23:59 UTC.

Removals:
dev-java/jna-posix  2015-04-28 20:44:42 chewi
games-emulation/tuxnes  2015-04-29 21:52:11 mr_bones_
dev-games/libgrapple2015-04-29 22:01:18 mr_bones_
games-strategy/xconq2015-04-29 22:03:09 mr_bones_
games-simulation/stoned-bin 2015-04-29 22:04:35 mr_bones_
games-sports/racer-bin  2015-04-29 22:06:52 mr_bones_
games-strategy/savage-bin   2015-04-29 22:08:25 mr_bones_
games-puzzle/drod-bin   2015-04-29 22:09:10 mr_bones_
games-strategy/dominions2-demo  2015-04-29 22:10:30 mr_bones_
games-server/bf1942-desertcombat2015-04-29 22:38:17 mr_bones_
games-rpg/rain-slick2015-04-29 22:39:34 mr_bones_
games-fps/ut2004-damnation  2015-04-29 22:40:54 mr_bones_
games-fps/ut2004-da22015-04-29 22:41:45 mr_bones_
games-fps/quake3-brainworks 2015-04-29 22:42:45 mr_bones_
games-fps/quake1-ctf2015-04-29 22:43:28 mr_bones_
games-fps/enemy-territory-fortress  2015-04-29 22:44:45 mr_bones_
games-fps/doom3-phantasm2015-04-29 22:45:59 mr_bones_
games-action/descent1-maps  2015-04-29 22:47:31 mr_bones_
dev-perl/extutils-depends   2015-05-01 12:55:51 dilfridge
app-laptop/gtkpbbuttons 2015-05-02 16:00:51 dilfridge
app-laptop/gkrellm-pmu  2015-05-02 16:01:54 dilfridge
sys-firmware/iwl7265-ucode  2015-05-03 05:42:59 prometheanfire
dev-perl/class-returnvalue  2015-05-03 10:57:44 dilfridge
dev-perl/Apache-AuthTicket  2015-05-03 23:15:37 zlogene
dev-perl/Eidetic2015-05-03 23:16:44 zlogene
app-admin/rackview  2015-05-03 23:19:04 zlogene

Additions:
dev-python/ddt  2015-04-28 20:18:36 prometheanfire
app-crypt/keybase   2015-04-29 22:56:26 nicolasbock
dev-db/lmdb++   2015-04-30 16:47:51 nicolasbock
dev-python/oslo-concurrency 2015-04-30 16:48:59 prometheanfire
dev-python/oslo-policy  2015-04-30 17:05:35 prometheanfire
dev-python/semantic_version 2015-04-30 18:58:56 prometheanfire
dev-libs/liberasurecode 2015-04-30 19:34:46 prometheanfire
dev-python/PyECLib  2015-04-30 19:39:33 prometheanfire
dev-python/mypy 2015-05-01 01:28:15 alunduil
dev-perl/ExtUtils-Depends   2015-05-01 11:43:29 dilfridge
dev-python/livereload   2015-05-02 15:18:04 alunduil
dev-perl/Class-ReturnValue  2015-05-03 10:46:11 dilfridge
x11-misc/grub2-theme-preview2015-05-03 12:28:31 sping

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Removed Packages:
dev-java/jna-posix,removed,chewi,2015-04-28 20:44:42
games-emulation/tuxnes,removed,mr_bones_,2015-04-29 21:52:11
dev-games/libgrapple,removed,mr_bones_,2015-04-29 22:01:18
games-strategy/xconq,removed,mr_bones_,2015-04-29 22:03:09
games-simulation/stoned-bin,removed,mr_bones_,2015-04-29 22:04:35
games-sports/racer-bin,removed,mr_bones_,2015-04-29 22:06:52
games-strategy/savage-bin,removed,mr_bones_,2015-04-29 22:08:25
games-puzzle/drod-bin,removed,mr_bones_,2015-04-29 22:09:10
games-strategy/dominions2-demo,removed,mr_bones_,2015-04-29 22:10:30
games-server/bf1942-desertcombat,removed,mr_bones_,2015-04-29 22:38:17
games-rpg/rain-slick,removed,mr_bones_,2015-04-29 22:39:34
games-fps/ut2004-damnation,removed,mr_bones_,2015-04-29 22:40:54
games-fps/ut2004-da2,removed,mr_bones_,2015-04-29 22:41:45
games-fps/quake3-brainworks,removed,mr_bones_,2015-04-29 22:42:45
games-fps/quake1-ctf,removed,mr_bones_,2015-04-29 22:43:28
games-fps/enemy-territory-fortress,removed,mr_bones_,2015-04-29 22:44:45
games-fps/doom3-phantasm,removed,mr_bones_,2015-04-29 22:45:59
games-action/descent1-maps,removed,mr_bones_,2015-04-29 22:47:31
dev-perl/extutils-depends,removed,dilfridge,2015-05-01 12:55:51
app-laptop/gtkpbbuttons,removed,dilfridge,2015-05-02 16:00:51
app-laptop/gkrellm-pmu,removed,dilfridge,2015-05-02 16:01:54
sys-firmware/iwl7265-ucode,removed,prometheanfire,2015-05-03 05:42:59
dev-perl/class-returnvalue,removed,dilfridge,2015-05-03 10:57:44
dev-perl/Apache-AuthTicket,removed,zlogene,2015-05-03 23:15:37
dev-perl/Eidetic,removed,zlogene,2015-05-03 23:16:44
app-admin/rackview,removed,zlogene,2015-05-03 23:19:04
Added Packages:
dev-python/ddt,added,prometheanfire,2015-04-28 20:18:36
app-crypt/keybase,added,nicolasbock,2015-04-29 22:56:26
dev-db/lmdb++,added,nicola

Re: [gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Kent Fredric
On 4 May 2015 at 02:04, Georg Rudoy <0xd34df...@gmail.com> wrote:

> Why should the user care if python is supported? What does python support
> per se offer to the user? I would argue that what's important are the
> features exposed via Python stuff (unless the user theyself is expected to
> write some Python code, of course).
>
>
By support "for" python, I mean "This flag exposes a new feature to
userspace".

For instance, it may install python modules that a user may desire to
consume in the course of their programming.

Thus, they are not likely to want that flag on, unless they are doing
exactly that.

Or a dependant may require those modules to be available, and may depend on
that package with the flag enabled to access those libraries.

Thus, the "feature" that the flag exposes is "Support for people or code
who explicitly need something python related in using it".

Same logic applies for C++14, IMHO.
>

The same logic here would be:

- People are developing their own code for leechcraft that needs leechcraft
to be compiled differently for them to do that, and that flag changes how
leechcraft is compiled so that they can do that
- Some dependent is in the above situation, and wishes to be able to force
leechcraft to be compiled so that it may work.

Simply put: "Compiled using C++14" is not a "feature" unless somebody
somewhere explicitly needs C++14 compilation.


>
>> What does it matter to a user that its in C++14 ? It doesn't.
>>
> And end user is more concerned with "what does this do for me".
>>
>> If a useflag doesn't tell me what it does for me, then what impetus is
>> there for me to toggle it?
>>
>
> The consequences do matter, like pulling and building llvm/clang, if not
> present already. Toggle it if you're ready to deal with the consequences
> (having clang in your system, particularly).
>
> Speaking of llvm, media-libs/mesa has "llvm" use flag. Why should user
> care if it's llvm or whatever?
>
>
>
For instance, Seamonkey doesn't have a USE=perl flag. Nor should it have
>> one.
>>
>
> Nice example with USE=perl, thanks! git has that, for instance. Without
> that, `git add -i` won't work, but I still have USE=perl, not
> USE=add_interactive and possibly a bunch of other features depending on
> Perl that would pull it when enabled.
>

Right, its not a black/white thing, and I would argue that flag on git is
poorly named.

But the general pattern is its recommended to express useflags to users in
terms of "things I can see will be useful to me", thus, if you can make a
more purpose-specific flag, it is wise to do so.

Its not that doing it that way is "wrong" per say. Just a sub-optimal
choice that requires more thinking.

-- 
Kent

*KENTNL* - https://metacpan.org/author/KENTNL


Re: [gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Georg Rudoy
2015-05-03 13:51 GMT+03:00 Duncan <1i5t5.dun...@cox.net>:

> What about a somewhat more generic flag such as newcode?  Like the bindist
> or minimal flags, this could be global, but with local descriptions very
> strongly recommended.  Similarly, like minimal, setting it globally would
> be strongly discouraged.
>
> In this case, the newcode local description would be something like:
>
> C++14 related: gcc doesn't support yet, requires clang
>
> ... with an appropriate use-conditional dep.
>
> The newcode flag would however be generic enough that it could be reused
> for C++17, etc, as well, and could obviously be phased out for any
> particular package once its specific newcode dependencies are met in
> stable -- in this case, when a supporting gcc stabilizes.
>

Nice idea, thanks! There are a couple of corner cases though.


> newcode would even be generic enough to be used for say qt6 when the time
> comes, if it turns out to be stuck in the qt overlay for quite some time,
> as was qt5, for the longest time,


What if a package would support (optional) builds with C++17-related
features and (optional) builds with say Qt6, and these could be toggled
independently? Does that imply having something like newcode_cpp17 and
newcode_qt4 on per-package basis?


> and the good bit is, generic meaning,
> that USE=newcode requires a dep that's still generally problematic or
> might be considered excessive to get, for optional functionality that may
> or may not be considered worth it, should be pretty obvious.
>

Does that imply that merely pulling clang for builds is not a
newcode-concern then, and, back to the original topic, in case of
leechcraft C++14 can be enabled unconditionally, again with unconditional
pulling of clang?

That's probably a way to go, but feels like not Gentoo-way enough (just
removing an option).


> Making that meaning even more obvious would be the fact that the flag
> would likely be packageuse-masked for many users for much of the the
> time.  That could for instance allow packages using it in-tree, before
> the dep it pulls in is itself in-tree, while still making it possible to
> unmask, for users who either already have the required overlay active, or
> who don't have it active ATM, but are willing to activate it to get the
> features it toggles.
>

Depending on the answer to the previous question, if all the deps are
in-tree, then there is no need in masking the useflag. It could be unmasked
on the per-package basis again, I guess? Then there is a question of the
default (globally unmasked and per-package masks vs globally masked and
per-package unmasks), but that's a relatively minor one.

-- 
  Georg Rudoy


Re: [gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Georg Rudoy
2015-05-03 13:19 GMT+03:00 Maxim Koltsov :

> Well, I can see your point. But I don't see any reasonable alternative ---
> this functionality can't be generalized by any name, except "c++14" ---
> that's only thing in common.
>

Yes, exactly.


> Moreover, this is (I hope) a _temporal_ solution, until there's a gcc with
> needed level of support.
>

I have increasing concerns about that. The relevant bugreport (
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60177 ) is more than a year
old, and still no feedback on it from gcc guys.

Moreover, this bug is hardly related to C++11/14 — it's pure 03. I could
live with some kludges in C++11, but they became incompatible with some of
C++14.

-- 
  Georg Rudoy


Re: [gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Georg Rudoy
2015-05-03 1:30 GMT+03:00 Kent Fredric :

> and python very often *is* saying "Support for python" ( not in, but _for_
> )
>

Why should the user care if python is supported? What does python support
per se offer to the user? I would argue that what's important are the
features exposed via Python stuff (unless the user theyself is expected to
write some Python code, of course).

Same logic applies for C++14, IMHO.


> What does it matter to a user that its in C++14 ? It doesn't.
>
And end user is more concerned with "what does this do for me".
>
> If a useflag doesn't tell me what it does for me, then what impetus is
> there for me to toggle it?
>

The consequences do matter, like pulling and building llvm/clang, if not
present already. Toggle it if you're ready to deal with the consequences
(having clang in your system, particularly).

Speaking of llvm, media-libs/mesa has "llvm" use flag. Why should user care
if it's llvm or whatever?


> For instance, Seamonkey doesn't have a USE=perl flag. Nor should it have
> one.
>

Nice example with USE=perl, thanks! git has that, for instance. Without
that, `git add -i` won't work, but I still have USE=perl, not
USE=add_interactive and possibly a bunch of other features depending on
Perl that would pull it when enabled.

-- 
  Georg Rudoy


[gentoo-dev] Re: RFC: c++14 global USE flag

2015-05-03 Thread Duncan
Maxim Koltsov posted on Sun, 03 May 2015 13:19:18 +0300 as excerpted:

> this functionality can't be generalized by any name, except "c++14" ---
> that's only thing in common. Moreover, this is (I hope) a _temporal_
> solution, until there's a gcc with needed level of support. And of
> course we can put a message about this flag in eclass and/or on
> LeechCraft site.

What about a somewhat more generic flag such as newcode?  Like the bindist 
or minimal flags, this could be global, but with local descriptions very 
strongly recommended.  Similarly, like minimal, setting it globally would 
be strongly discouraged.

In this case, the newcode local description would be something like:

C++14 related: gcc doesn't support yet, requires clang

... with an appropriate use-conditional dep.

The newcode flag would however be generic enough that it could be reused 
for C++17, etc, as well, and could obviously be phased out for any 
particular package once its specific newcode dependencies are met in 
stable -- in this case, when a supporting gcc stabilizes.

newcode would even be generic enough to be used for say qt6 when the time 
comes, if it turns out to be stuck in the qt overlay for quite some time, 
as was qt5, for the longest time, and the good bit is, generic meaning, 
that USE=newcode requires a dep that's still generally problematic or 
might be considered excessive to get, for optional functionality that may 
or may not be considered worth it, should be pretty obvious.

Making that meaning even more obvious would be the fact that the flag 
would likely be packageuse-masked for many users for much of the the 
time.  That could for instance allow packages using it in-tree, before 
the dep it pulls in is itself in-tree, while still making it possible to 
unmask, for users who either already have the required overlay active, or 
who don't have it active ATM, but are willing to activate it to get the 
features it toggles.

-- 
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: RFC: c++14 global USE flag

2015-05-03 Thread Maxim Koltsov
2015-05-03 1:30 GMT+03:00 Kent Fredric :

>
> On 3 May 2015 at 10:18, Georg Rudoy <0xd34df...@gmail.com> wrote:
>
>> We have "idn" or "gnutls" or "python" etc USE flags after all, not
>> "support_international_names_in_blah" or
>> "allow_secure_news_fetching_in_foo" or "build_scripting_support_for_baz".
>>
>> Or I just didn't get you here, sorry me in this case :)
>>
>
>
> The difference is semantics.
>
> "idn" *is* saying "Support for international names" ( not in, but _for_ )
>
> and python very often *is* saying "Support for python" ( not in, but _for_
> )
>
> That's "for", not "by".  For support *by* python, an explicit python
> use-flag is not entirely necessary.
>
> Just like you presently don't have ( and we don't have ) a "USE=c" flag
> just to make sure you have a C compiler.
>
> What does it matter to a user that its in C++14 ? It doesn't.
>
> And end user is more concerned with "what does this do for me".
>
> If for instance a specific user visible tool became magically available
> with "USE=C++14", and that was the only tool that became visible as a
> result, that would, for example, be really silly.
>
> If a useflag doesn't tell me what it does for me, then what impetus is
> there for me to toggle it?
>
> For instance, Seamonkey doesn't have a USE=perl flag. Nor should it have
> one.
>
> It does however have a USE=crypt flag, which utilizes perl as part of its
> work. ( And its only a compile time dependency also ).
>
> But you seem to want USE=perl # turn on crypt features
>
> Which is inherently backwards.
>
> There is still places where that makes a degree of sense, but in cases
> like "give new user facing features features" an ambiguous "C++" toggle is
> not going to be communicating intent in an appropriate manner.
>
> Well, I can see your point. But I don't see any reasonable alternative ---
this functionality can't be generalized by any name, except "c++14" ---
that's only thing in common. Moreover, this is (I hope) a _temporal_
solution, until there's a gcc with needed level of support. And of course
we can put a message about this flag in eclass and/or on LeechCraft site.


[gentoo-dev] Last rites: dev-ruby/fssm

2015-05-03 Thread Hans de Graaff
# Hans de Graaff  (3 May 2015)
# dev-ruby/fssm is deprecated by its author and nothing
# in the tree depends on it anymore. Use dev-ruby/listen
# as an alternative. Masked for removal in 30 days.
dev-ruby/fssm




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