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

2015-04-28 Thread Mike Gilbert
On Tue, Apr 28, 2015 at 4:07 PM, Anthony G. Basile  wrote:
> On 04/26/15 23:21, Duncan wrote:
>>
>> Diego Elio Pettenò posted on Sun, 26 Apr 2015 17:41:04 +0100 as excerpted:
>>
>>> On 25 April 2015 at 16:57, Duncan <1i5t5.dun...@cox.net> wrote:
>>>
 Of course, one thing that could make the process faster would be if C++
 based packages were marked some way.
>>>
>>>
>>> revdep-rebuild --soname 'libstdc\+\+.so.*'
>>>
>>> should do the trick. Stuff that does not link the library (statically
>>> linked or using libsupc++) should not really matter.
>>
>> Thanks.  Obvious in hindsight. =:^)
>>
>
> just saw this.  This works unless you have two versions of gcc installed.
> The c++11 abi emitted by gcc-4.7 and 4.8 are different and since you link
> against the latest version (see the ordering of directories in
> /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf), building with the earlier
> gcc can cause breakage.  We may not want to support such a situation but I'd
> like to.

As I understand it, a given version of gcc links objects against its
own version of libstdc++, but the "latest" version of libstdc++ is
loaded by ld.so at runtime.

Maybe that's what you meant, but I wanted to clarify that. And if I am
wrong on that, please correct me. ^_^



Re: [gentoo-dev] Re: Importance of SLOTs on Java dependencies

2015-04-28 Thread James Le Cuirot
On Sun, 19 Apr 2015 03:38:09 -0600
Ryan Hill  wrote:

> On Wed, 8 Apr 2015 16:25:20 +0100
> James Le Cuirot  wrote:
> 
> > On Wed, 8 Apr 2015 17:10:30 +0200
> > Patrice Clement  wrote:
> > 
> > > Tuesday 07 Apr 2015 20:41:05, Pacho Ramos wrote :
> > > > Wouldn't be possible to show a repoman warning when a
> > > > dependency on any dev-java/${PN} doesn't specify a SLOT? That
> > > > would save of from forgetting this in some years ;)
> > > > 
> > > Chewi suggested a similar solution in #gentoo-java. How do we get
> > > started with contributing to repoman?
> > 
> > The change I intend to make is not to repoman but
> > java-utils-2.eclass where there is already a check to ensure that a
> > dependency has been added, it just doesn't check the SLOT at the
> > moment. It outputs an error message by default but dies if you have
> > JAVA_PKG_STRICT set, which all Java devs should do.
> 
> I just got this warning and had to do some digging to figure out
> where it came from and what it wanted me to do. Can you add a comment
> to the eclass (maybe a link to your mail which explained things well)
> and a pointer to the eclass in the message?

Done! :)

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpEL2DHuf_JF.pgp
Description: OpenPGP digital signature


[gentoo-dev] Last rites: dev-tex/mh

2015-04-28 Thread Ulrich Mueller
# Ulrich Müller  (28 Apr 2015)
# Superseded by the newer "breqn" and "mathtools"
# modules in dev-texlive/texlive-latexrecommended.
# mh is no longer maintained upstream. Bug 524114.
# Masked for removal in 30 days.
dev-tex/mh


pgpqLx2CHD8_j.pgp
Description: PGP signature


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

2015-04-28 Thread Anthony G. Basile

On 04/26/15 23:21, Duncan wrote:

Diego Elio Pettenò posted on Sun, 26 Apr 2015 17:41:04 +0100 as excerpted:


On 25 April 2015 at 16:57, Duncan <1i5t5.dun...@cox.net> wrote:


Of course, one thing that could make the process faster would be if C++
based packages were marked some way.


revdep-rebuild --soname 'libstdc\+\+.so.*'

should do the trick. Stuff that does not link the library (statically
linked or using libsupc++) should not really matter.

Thanks.  Obvious in hindsight. =:^)



just saw this.  This works unless you have two versions of gcc 
installed.  The c++11 abi emitted by gcc-4.7 and 4.8 are different and 
since you link against the latest version (see the ordering of 
directories in /etc/ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf), 
building with the earlier gcc can cause breakage.  We may not want to 
support such a situation but I'd like to.


--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




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

2015-04-28 Thread Duncan
Diego Elio Pettenò posted on Sun, 26 Apr 2015 17:41:04 +0100 as excerpted:

> On 25 April 2015 at 16:57, Duncan <1i5t5.dun...@cox.net> wrote:
> 
>> Of course, one thing that could make the process faster would be if C++
>> based packages were marked some way.
> 
> 
> revdep-rebuild --soname 'libstdc\+\+.so.*'
> 
> should do the trick. Stuff that does not link the library (statically
> linked or using libsupc++) should not really matter.

Thanks.  Obvious in hindsight. =:^)

Answering my own toolchain question then, for folks using portage as 
PM... [wow, portage takes /awhile/ evaluating order!]...

Looks like dev-libs/gmp could be a problem.  Back in the day we didn't 
have it to worry about, but coreutils uses it with USE=gmp, which I'd 
guess quite a few folks would have set for multi-processing support.

But gmp appears to have a C and a C++ lib (libgmpxx.so.*), and coreutils 
wasn't in the above list on its own, so it would appear to be fine even 
if libgmpxx.so.* is broken, so...

But obviously worth testing before each new gcc compatibility bump gets 
unmasked...

Other than gmp, it looks like the old rules still apply just fine.  
Upgrade gcc, gcc-config switch to the new version, and emerge --emptytree 
@world, or at least revdep-rebuild --soname 'libstdc\+\+.so.*' as Diego 
points out.

And as I already said, with modern hardware that takes... a morning... 
well, maybe a day if you've lots of packages installed or are on a slow 
(if modern) machine, not the two days plus it used to take when that was 
simply accepted as the way it was.  So shouldn't be a big deal.


Other than the usual upgrade bugs, then, the problem should be pretty 
well restricted to servantware which can't be rebuilt; more specifically, 
to C++ using servantware that can't be rebuilt.  And that has always been 
a problem, which the people choosing to use it have chosen to live with, 
but which shouldn't hold back the free world that has chosen not to live 
in such bondage.

For these people, what?  Of course they used to get along when gcc's C++ 
was unstable before, so I guess they still can.  Does libstdc++ get 
builtin as static?  If so it shouldn't be an issue.  If not... I guess 
they can preload libstdc++ from an older gcc.

So maybe a news item explaining both the gcc upgrade procedure, and how 
to preload an old libstdc++, if they need to for binary-only servantware 
or whatever.

-- 
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] New ruby-single eclass

2015-04-28 Thread Hans de Graaff
Hi,

The current ruby eclasses work fairly well for ruby-only packages, but
support for packages where ruby is only part of the package are not well
served. As a start the ruby team proposes the following new eclass,
ruby-single.eclass. The purpose of this eclass is to provide support for
the case where a working ruby version needs to be accessed
via /usr/bin/ruby. Examples of such packages are net-libs/webkit-gtk and
sys-block/thin-provisioning-tools.

The eclass is loosely modeled after the python-single eclass-r1,
although not all the functionality available there can be or has been
provided for ruby at the moment. We've tried to keep variable and method
names compatible, though.

Also contained in this email is a new ruby-utils eclass which contains
code factored out of the current ruby-ng eclass, so that it can used by
both eclasses. ruby-utils.eclass is not meant to be used in ebuilds.

Full example code including an ebuild (app-admin/pwstore) is available
in the "ruby" repository.

Thanks,

Hans
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/python-single-r1.eclass,v 1.26 
2014/05/26 16:13:35 mgorny Exp $

# @ECLASS: ruby-single
# @MAINTAINER:
# Ruby team 
# @AUTHOR:
# Author: Hans de Graaff 
# Based on python-single-r1 by: Michał Górny 
# @BLURB: An eclass for Ruby packages not installed for multiple 
implementations.
# @DESCRIPTION:
# An eclass for packages which don't support being installed for
# multiple Ruby implementations. This mostly includes ruby-based
# scripts.

case "${EAPI:-0}" in
0|1|2|3)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
4|5)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
;;
esac

inherit ruby-utils

# @ECLASS-VARIABLE: USE_RUBY
# @DEFAULT_UNSET
# @REQUIRED
# @DESCRIPTION:
# This variable contains a space separated list of targets (see above) a package
# is compatible to. It must be set before the `inherit' call. There is no
# default. All ebuilds are expected to set this variable.


# @ECLASS-VARIABLE: RUBY_DEPS
# @DESCRIPTION:
#
# This is an eclass-generated Ruby dependency string for all
# implementations listed in USE_RUBY. Any one of the supported ruby
# targets will satisfy this dependency.
#
# Example use:
# @CODE
# RDEPEND="${RUBY_DEPS}
#   dev-foo/mydep"
# BDEPEND="${RDEPEND}"
# @
#
# Example value:
# @CODE
# || ( dev-lang/ruby:2.0 dev-lang/ruby:1.9 )
# @CODE

_ruby_single_implementations_depend() {
local depend
for _ruby_implementation in ${RUBY_TARGETS_PREFERENCE}; do
if [[ ${USE_RUBY} =~ ${_ruby_implementation} ]]; then
depend="${depend} $(_ruby_implementation_depend 
$_ruby_implementation)"
fi
done
echo "|| ( ${depend} )"
}

_ruby_single_set_globals() {
RUBY_DEPS=$(_ruby_single_implementations_depend)
}
_ruby_single_set_globals
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/ruby-ng.eclass,v 1.53 2013/12/26 
07:11:48 graaff Exp $

# @ECLASS: ruby-utils.eclass
# @MAINTAINER:
# Ruby team 
# @AUTHOR:
# Author: Hans de Graaff 
# @BLURB: An eclass for supporting ruby scripts and bindings in non-ruby 
packages
# @DESCRIPTION:
# The ruby-utils eclass is designed to allow an easier installation of
# Ruby scripts and bindings for non-ruby packages.
#
# This eclass does not set any metadata variables nor export any phase
# functions. It can be inherited safely.


case ${EAPI} in
0|1|2)
die "Unsupported EAPI=${EAPI} (too old) for ${ECLASS}" ;;
3|4|5) ;;
*)
die "Unknown EAPI=${EAPI} for ${ECLASS}"
esac

if [[ ! ${_RUBY_UTILS} ]]; then


# @ECLASS-VARIABLE: RUBY_TARGETS_PREFERENCE
# @DESCRIPTION:
# This variable lists all the known ruby targets in preference of use as
# determined by the ruby team. By using this ordering rather than the
# USE_RUBY mandated ordering we have more control over which ruby
# implementation will be installed first (and thus eselected). This will
# provide for a better first installation experience.

# All RUBY_TARGETS
RUBY_TARGETS_PREFERENCE="ruby20 ruby19 "

# All other active ruby targets
RUBY_TARGETS_PREFERENCE+="ruby21 rbx jruby "


_ruby_implementation_depend() {
local rubypn=
local rubyslot=

case $1 in
ruby18)
rubypn="dev-lang/ruby"
rubyslot=":1.8"
;;
ruby19)
rubypn="dev-lang/ruby"
rubyslot=":1.9"
;;
ruby20)
rubypn="dev-lang/ruby"
rubyslot=":2.0"
;;
ruby21)
   

[gentoo-dev] Last rites: dev-lang/rubinius-1*

2015-04-28 Thread Hans de Graaff
# Hans de Graaff  (27 Apr 2015)
# This version of rubinius is old and only very few
# packages ever got the associated "rbx" RUBY_TARGET.
# If you would like to keep rubinius in Gentoo, please
# help us to get the currently masked rubinius 2.x
# versions ready. Masked for removal in 30 days.
=dev-lang/rubinius-1*


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


[gentoo-dev] Last rites: dev-ruby/echoe, dev-ruby/rubyforge

2015-04-28 Thread Hans de Graaff
# Hans de Graaff  (27 Apr 2015)
# rubyforge.org has not been available for almost a year, making the
# rubyforge package obsolete. echoe is a leaf package that still
# depends on it. Masked for removal in 30 days.
dev-ruby/echoe
dev-ruby/rubyforge


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


Re: [gentoo-dev] Hey arch teams, we need your input!

2015-04-28 Thread Tobias Klausmann
Hi! 

On Sun, 26 Apr 2015, Jeroen Roovers wrote:
> On Sun, 26 Apr 2015 08:04:11 -0400
> Rich Freeman  wrote:
> > If we're talking about human parsing, can you give an example of how
> > variation makes your life more difficult today?  I'm just trying to
> > understand what we're trying to fix...
> 
> Reading through hundreds of Summaries. If the atoms and the request
> variant are always in the same place, parsing by humans is MUCH quicker.

Look at security bugs that ask for stabilization with the goal of
having a GLSA. The bugs all look the same and I wish all
stabilization and keywording bugs adopted the same format.

There is one corner case where that format is not enough:
multiple ebuilds/versions with non-homogenic archs, i.e.:

cat-egory/packageA-1.2.3amd64 x86 alpha
cat-egory/packageB-2.3.9amd64 alpha
cat-egory/packageC-3.99 amd64 x86 ppc64
cat-egory/packageD-10.2.5a  alpha

The format I used here seemes to be slightly more common than
others and it is good enough for me™.

Any add-on prose should be _after_ the standardized bit.

And while we're talking about ponies:

Let's make it trivial for the requester to also specify the
_correct and complete_ list of per-arch dependencies that also
need to be tested and keyworded. It is one of the most annoying
things about stabilization bugs: having to hunt dependencies.

Side note: please make sure to include all FEATURES=test gated
dependencies, too. The prose should also mention if there are
circular ones (I'm looking at you, dev-ruby/*).


There, now that's off my chest.

Regards,
Tobias



-- 
Sent from aboard the Culture ship
GCU Sacrificial Victim