[gentoo-dev] github <> g.o.g.o

2012-02-25 Thread Justin
Hi all,

is there a way to do a way or two way sync between a repo on github and
on g.o.g.o?

I have the felling that I heard of an official overlay which is operated
like this. Could someone please point me to this overlay and the technique?


thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] github <> g.o.g.o

2012-02-27 Thread justin
On 25/02/12 16:11, Alex Alexander wrote:
> On Sat, Feb 25, 2012 at 01:55:37PM +0100, Justin wrote:
>> Hi all,
>>
>> is there a way to do a way or two way sync between a repo on github and
>> on g.o.g.o?
>>
>> I have the felling that I heard of an official overlay which is operated
>> like this. Could someone please point me to this overlay and the technique?
> 
> For every secondary repo you want to keep synced, add a pushurl entry
> 
>   pushurl = 
> 
> below your main "url =" line in the repo's .git/config file.
> Git will automatically push to all pushurl entries automatically when
> you "git push".
> 
> We do this in the Qt overlay (with gitorious atm):
> 
> [remote "origin"]
>   fetch = +refs/heads/*:refs/remotes/origin/*
>   url = git://git.overlays.gentoo.org/proj/qt.git
>   pushurl = g...@gitorious.org:gentoo-qt/qt.git
> 
> Regards,

Thanks,

this works really nice.

justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: License problem

2012-03-21 Thread Justin
Hi,

I need some comments on following License Agreement:

http://fizz.cmp.uea.ac.uk/dyndom/dyndomDownload.do

QUOTE

In downloading this code you agree with the following:

I will not redistribute the software to others outside of my immediate
research group. I will suggest to other interested research groups to
contact the authors directly.

I will not alter or suppress the run-time copyright message.

I will acknowledge the program authors on any publication of scientific
results based in part on use of the program and cite the article in
which the program was described.

I will report evidence of program bugs to the author.

I will not extract part of the software, e.g. subroutines, for use in
other contexts without permission of the author.

/QUOTE

The source file do not contain any further license statements.

Thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: License problem

2012-03-21 Thread Justin
On 21.03.2012 15:48, Ian Stakenvicius wrote:
> On 21/03/12 10:34 AM, Richard Yao wrote:
>> On 03/21/12 10:18, Justin wrote:
>>> I will not extract part of the software, e.g. subroutines, for
>>> use in other contexts without permission of the author.
> 
>> Portage could be considered to be one of these contexts.
> 
> 
> If the entire package is installed (ie, it's not broken up into
> separate libraries or sub-packages) this would be fine (ie having the
> package in portage), wouldn't it?
> 
> I guess the primary restriction here would be that nothing else would
> be allowed to link against any embedded libraries; ie, the package
> couldn't be a dep.
> 

It simply creates one binary which I am interested in. I don't see any
problem if I use fetch restriction. The only remaining question would be
the actual LICENSE?

justin





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass for Python

2012-03-26 Thread justin
On 25/03/12 20:56, Krzysztof Pawlik wrote:
> On 28/02/12 22:13, Krzysztof Pawlik wrote:
>> If there are no objections then during the weekend (March 3, 4) I will add 
>> this
>> to portage (after finishing remaining TODO items, PyPy requires 4G of 
>> RAM(!!)).
> 
> Hello,
> 
> Slightly late due to Real Life™ but finally it's in the main tree :)
> 
> (and yes - I've tested it with pypy - works as expected :)
> 

Hi,

is there any documentation beside the man page somewhere?

I tried to port some ebuilds but as soon I set

PYTHON_COMPAT="python2_7 python2_6 python2_5 pypy1_8"

inherit python-distutils-ng

I get

  REQUIRED_USE: USE flag 'python_targets_python3_1' is not in IUSE


Did I do something wrong, or is there something not straight in the eclass?

Thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass for Python

2012-03-26 Thread justin
On 25/03/12 20:56, Krzysztof Pawlik wrote:
> On 28/02/12 22:13, Krzysztof Pawlik wrote:
>> If there are no objections then during the weekend (March 3, 4) I will add 
>> this
>> to portage (after finishing remaining TODO items, PyPy requires 4G of 
>> RAM(!!)).
> 
> Hello,
> 
> Slightly late due to Real Life™ but finally it's in the main tree :)
> 
> (and yes - I've tested it with pypy - works as expected :)
> 

Hi,

is it okay if I start fixing things for prefix?

jusitn



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] ESCM_OFFLINE/ EVCS_OFFLINE env variable policy

2012-03-31 Thread Justin
On 31.03.2012 20:49, Alexander V Vershilov wrote:
> Hello.
> 
> It seems that in eclasses we have two differenct environment variables
> with same meaning ESCM and EVCS OFFLINE. Some of eclasses use one and 
> some another:
> 
>  find . -type f | xargs grep -l EVCS_OFFLINE
>  ./git-2.eclass
>  ./bzr.eclass
> 
>  find . -type f | xargs grep -l ESCM_OFFLINE
>  ./darcs.eclass
>  ./cvs.eclass
>  ./mercurial.eclass
>  ./git.eclass
>  ./subversion.eclass
> 
> It seems we should have some concusion about what env variable should 
> be used to prevent downloading of live repo.
> 
> Thanks.
> 
> --
> Alexander Vershilov
> [2048R/5E05C6C2]

Hi,

I would vote for EVCS_OFFLINE as we already agreed in the dev-vcs
discussion on vcs.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About maintaining sci-physics/abinit

2012-04-02 Thread justin
On 03/04/12 00:11, Pacho Ramos wrote:
> El lun, 19-03-2012 a las 10:22 +0100, Pacho Ramos escribió:
>> Hello
>>
>> As talked some time ago with Donnie, sci-physics/abinit is hard to
>> maintain and, then, he would like to lastrite it after moving package to
>> sci overlay because looks like nobody from sci team wants to take it.
>>
>> If anybody is willing to help with maintaining abinit, could he take it?
>> If not, could anybody with commit access to sci overlay to move abinit
>> to it and let us lastrite it from main tree?
>>
>> Thanks a lot
> 
> Maybe we could mask it for removal anyway as looks nobody wants to
> maintain it and our current versions are really old :/

Oh I am sorry for not replying.
We have a contributor who is doing a great job and maintains it in the
sci overlay. As there is currently no active contribution from the
developer teams site I would vote for removal and help Honza with his
contributions outside the tree.

justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: iotop needs to run as root after kernel change

2012-04-03 Thread justin
Hi,

after this change

https://github.com/torvalds/linux/commit/1a51410abe7d0ee4b1d112780f46df87d3621043

iotop cannot be used as user anymore.
Any suggestions how to proceed?

The solution I see are

1.
Leave it to root (Fedora and Suses way)
2.
suid it (bad in my view)
3.
file capabilities (can this be done with portage)

Please comment and help me with the right proceeding.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: iotop needs to run as root after kernel change

2012-04-04 Thread justin
On 04/04/12 14:56, Greg KH wrote:

> On Wed, Apr 04, 2012 at 08:32:41AM +0200, justin wrote:
>> Hi,
>>
>> after this change
>>
>> https://github.com/torvalds/linux/commit/1a51410abe7d0ee4b1d112780f46df87d3621043
>>
>> iotop cannot be used as user anymore.
>> Any suggestions how to proceed?
>>
>> The solution I see are
>>
>> 1.
>> Leave it to root (Fedora and Suses way)
> 
> Please leave it this way, the information leakage otherwise is too big
> of a risk to do anything else.
> 
> greg k-h
> 



Thanks for all your responses. I will follow what was suggested by
upstream and what is the best from my feelings and restrict it to be
root only.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Portage Git migration - clean cut or git-cvsserver

2012-05-23 Thread justin
On 23/05/12 14:42, Michael Weber wrote:

> Hi,
> 
> i've looked at the blockers of "[TRACKER] portage migration to git"
> [1] and want to discuss "testing git-cvsserver" [2].
> 
> There are two proposed scenarios how to migrate the developers write
> access to the portage tree.
> 
> "Clean cut" turns of cvs access on a given and announced timestamp,


I want to see to it gone. +1



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Portage Git migration - clean cut or git-cvsserver

2012-05-23 Thread Justin
On 23.05.2012 18:47, Robin H. Johnson wrote:
> On Wed, May 23, 2012 at 02:42:37PM +0200, Michael Weber wrote:
>> i've looked at the blockers of "[TRACKER] portage migration to git"
>> [1] and want to discuss "testing git-cvsserver" [2].
>>
>> There are two proposed scenarios how to migrate the developers write
>> access to the portage tree.
> The primary reasons to continue to support CVS-style access via
> git-cvsserver:
> 1. Lightweight partial/subtree checkouts
>- Git has implemented subtree checkouts, but they still bring down a
>fairly large packfile.
> 2. Arches were Git repos are too heavy (Kumba wanted this for MIPS)
> 
> If we can get rid of #2, we're willing to live with #1.
> 
>> "Clean cut" turns of cvs access on a given and announced timestamp,
>> rsync-generation/updates is suspended (no input -> no changes), some
>> magic scripts prepare the git repo (according to [3], some hours
>> duration) and we all checkout the tree (might be some funny massive load).
> 1. You will be given git bundles instead of being allowed to do initial
>clone. That way it's just a resumable HTTP download.
> 2. rsync generation is NOT going away. Users will still be using it.
> 

Was this a vote for or against a quick proceeding towards git?
You are probably the one who can judge best if the infra side could be
made ready soonish.




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: Portage Git migration - clean cut or git-cvsserver

2012-05-30 Thread Justin
On 30.05.2012 18:58, Aaron W. Swenson wrote:
> On 05/30/2012 12:53 PM, Tobias Klausmann wrote:
>> Hi!
> 
>> On Wed, 30 May 2012, Rich Freeman wrote:
>>> On Wed, May 30, 2012 at 6:16 AM, Dirkjan Ochtman 
>>> wrote:
>>>> Yeah... this is why I was asking about access to infra to test
>>>> the conversion; so far, I haven't had any replies, though.
>>>
>>> A mock conversion would probably help with creating 
>>> procedures/docs/etc as well.  It is nice to say that we're "just
>>> going to use git" but I think everybody has a slightly different
>>> picture of how that is going to work.
> 
>> I recommend having a smallish set of willing alpha/beta testers
>> for this. This usually helps with some of the near-edge cases.
>> You'll still find a thousand other bugs once things go live for 
>> everybody. Still, it turns a million into a thousand. It also gives
>> you slightly more realistic load test.  Regards, Tobias
> 
> 
> As one that's relatively new to Git, I'm a perfect candidate for
> testing. If we go this way, I volunteer.
> 
> - Aaron
> 

As I am a hater of CVS and my current checkout is repeatability spiting
weird errors, I would join as a tester here.

justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] [RFC] Setting F(C)FLAGS=${CFLAGS} in profiles

2012-06-12 Thread Justin
Hi,

these days still FFLAGS and FCFLAGS are unset by default.
Any objections to to default to CFLAGS of the profile equally to CXXFLAGS?


Thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] Setting F(C)FLAGS=${CFLAGS} in profiles

2012-06-12 Thread Justin
On 12.06.2012 21:30, Markos Chandras wrote:
> On 06/12/2012 06:55 PM, Justin wrote:
>> Hi,
> 
>> these days still FFLAGS and FCFLAGS are unset by default. Any
>> objections to to default to CFLAGS of the profile equally to
>> CXXFLAGS?
> 
> 
>> Thanks justin
> 
> 
> This is the first time I see these variables. Where are they being used?
> 
> 

They are compiler flags for fortran compiler. g77 used to use FFLAGS and
implicit makerule for .f file use this one. FCFLAGS are used by gfortran
and for newer dialects (see man make.conf).
So in case you like to compile fortran code, even potentially you might
want to have them set.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC] Setting F(C)FLAGS=${CFLAGS} in profiles

2012-06-16 Thread Justin
On 12.06.2012 19:55, Justin wrote:
> Hi,
> 
> these days still FFLAGS and FCFLAGS are unset by default.
> Any objections to to default to CFLAGS of the profile equally to CXXFLAGS?
> 
> 
> Thanks justin
> 

Added.




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About what would be included in EAPI5

2012-06-16 Thread Justin
On 16.06.2012 14:26, Pacho Ramos wrote:
> El sáb, 16-06-2012 a las 14:12 +0200, Ulrich Mueller escribió:
>>>>>>> On Sat, 16 Jun 2012, Pacho Ramos wrote:
>>
>>> I would like to know if there is some place where things going to be
>>> included (or proposed to be included) for eapi5 are listed (if such
>>> place exists). Currently, looks like there is no eapi5 tracker :-/
>>
>> The PMS git repository has an eapi-5 development branch, and some
>> parallel discussion took place in the gentoo-pms mailing list.
>>
>> So far we have:
>> ╓
>> ║ EAPI 5 is EAPI 4 with the following changes:
>> ║ 
>> ║ • econf adds --disable-silent-rules.
>> ║ • Slot operator dependencies.
>> ║ • src_test supports parallel tests.
>> ║ • USE is calculated differently.
>> ║ • IMAGE is gone.
>> ║ • REQUIRED_USE now supports ?? groups.
>> ║ • apply_user_patches function, with src_prepare changes.
>> ║ • EBUILD_PHASE_FUNC.
>> ║ • find is guaranteed to be GNU.
>> ║ • new* can read from standard input.
>> ╙
>>
>> Ulrich
>>
>>
> 
> OK, would you let me to create a tracker bug for eapi5 accepted item?
> About suggesting new item (like forcing rebuilding of other packages as
> discussed some days ago and crosscompile support suggested by Tommy
> today), I guess we need to get them voted by the council?
> 
> Thanks :)
> 

At Fosdem Petteri talked about ideas for next EAPI, which brought up
some discussions. Perhaps he or someone else who remembers could
summarize the ideas.

justin




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC]flag-o-matic.eclass strip-flags change to support prefix

2012-06-17 Thread Justin
On 17.06.2012 14:13, Maxim Koltsov wrote:
> Hi,
> During prefix bootstrap i noticed that strip-flags removes -L and -I
> flags from *FLAGS while these flags are essential for prefix
> bootstrapping. Therefore i propose a fix for strip-flags function to

Is this really necessary? I never experienced any problems which need
this when following the guides. I looks like a hack, because something
else is borked.

> make it preserve prefix-related flags. I have attached a patch, please
> review it. It works for me, but I'm unsure how it will work with
> spaces in ${EPREFIX}

Why not use "use prefix" instead of checking for the variable?




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [RFC]flag-o-matic.eclass strip-flags change to support prefix

2012-06-17 Thread Justin
On 17.06.2012 15:23, Maxim Koltsov wrote:
> 2012/6/17 Justin :
>> On 17.06.2012 14:13, Maxim Koltsov wrote:
>>> Hi,
>>> During prefix bootstrap i noticed that strip-flags removes -L and -I
>>> flags from *FLAGS while these flags are essential for prefix
>>> bootstrapping. Therefore i propose a fix for strip-flags function to
>>
>> Is this really necessary? I never experienced any problems which need
>> this when following the guides. I looks like a hack, because something
>> else is borked.
> 
> I've just hit binutils on OpenBSD not finding libdl.so installed in
> $EPREFIX/usr/lib/ because of this.
> Don't tell me that OpenBSD prefix is unsupported, i'm working on
> getting it supported.
> 

I am still not convinced. libdl.so is provided by glibc, at least on my
linux system. And glibc is one of the rare packages which needs to be
provided by the host system instead of being installed in the prefix.

Is there something different on BSD which makes libdl.so appear inside
the prefix?

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] My wishlist for EAPI 5

2012-06-20 Thread Justin
On 20.06.2012 22:35, Ciaran McCreesh wrote:
> On Wed, 20 Jun 2012 16:25:30 -0400
> Richard Yao  wrote:
>> Multilib (and/or multiarch) support
>>  The current binaries cause a great deal of pain, particularly
>> when a user does not want to upgrade something. I had this problem
>> with WINE and glibc because I wanted to avoid the reverse memcpy()
>> fiasco on my systems. This situation would have been avoided entirely
>> if the package manager supported multilib.
> 
> This one's unlikely to happen unless someone's prepared to put in the
> work.

Tommy worked a lot on this and he asked for help to bring his
proposal/spec/glep into shape.
We are all aware what this is all about and know that anybody who is
using multilib would benefit.
Can't you simply work with him together to get it into what you expect
it to be instead of pointing out that it isn't?



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] My wishlist for EAPI 5

2012-06-21 Thread justin
On 21/06/12 08:41, Ciaran McCreesh wrote:
> On Wed, 20 Jun 2012 23:43:36 +0200
> Justin  wrote:
>> On 20.06.2012 22:35, Ciaran McCreesh wrote:
>>> On Wed, 20 Jun 2012 16:25:30 -0400
>>> Richard Yao  wrote:
>>>> Multilib (and/or multiarch) support
>>>>The current binaries cause a great deal of pain,
>>>> particularly when a user does not want to upgrade something. I had
>>>> this problem with WINE and glibc because I wanted to avoid the
>>>> reverse memcpy() fiasco on my systems. This situation would have
>>>> been avoided entirely if the package manager supported multilib.
>>>
>>> This one's unlikely to happen unless someone's prepared to put in
>>> the work.
>>
>> Tommy worked a lot on this and he asked for help to bring his
>> proposal/spec/glep into shape.
>> We are all aware what this is all about and know that anybody who is
>> using multilib would benefit.
>> Can't you simply work with him together to get it into what you expect
>> it to be instead of pointing out that it isn't?
> 
> In order to do that, it would have to get to the stage where I
> understood exactly what changes are needed and why. I'm not convinced
> *anyone* understands that yet.
> 
> Writing PMS patches, at least to the level that we can review them, is
> only difficult if you don't know what you want changed or why.
> 

He wants to deprecate the app-emulation/emul-linux-x86-* packages and
build it if needed directly from "normal" ebuilds through the package
manager. This was stated a couple of times and is not hard to
understand, even without PMS patches, GLEPS and so.

*anyone* understands that there are cases when the x86 libs are needed
and every gentoo package maintainer should understand, that letting the
user build their own x86 libs is what we want in ideal case.

There is a working implementation as a branch of portage for some time
now and people work on it.

So two basic things are there, the need and the idea of a working
solution. This also means, that people need to have an idea of what is
real problem. (And if not, it was asked a couple of times for discussion)

Won't it be a good thing, if you instead of showing all of us, that you
can tell where people fail to present something in the right way, help
and guide them to write the necessary things like PMS patches, GLEPs
etc., so that we can proceed in an efficient way?

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: PROPERTIES=funky-slots

2012-06-23 Thread Justin
On 23.06.2012 15:21, Ciaran McCreesh wrote:
> There's been a move towards using slots for "clever" things that don't
> fit the traditional way of how slots worked. Examples include the new
> gtk2 / gtk3 handling and Ruby gems virtuals.
> 
> Aside from being abusive, this screws things up for Paludis users.
> Paludis tends to bring in newer versions when possible (so that users
> aren't stuck with an old GCC forever), and allows the user to select
> when new slots are brought in. When suddenly a few packages are using
> slots and versions to "mean" something other than what they used to,
> this makes the feature unusable.
> 
> Thus, as a quick workaround, I'd like to suggest adding a PROPERTIES
> value called "funky-slots", which should be set on every version of any
> package that uses slots in an unconventional manner. This probably
> doesn't need EAPI control, since package manglers are free to ignore
> PROPERTIES tokens. It won't solve the abuse, but it will allow the
> impact upon users to be lessened.
> 

Did you read what you wrote and thought about what you request from
others? Probably you better should.

I can't see any good and more importantly, sufficient description of the
problem. There is some vague hint, that paludis is not able to solve
dependency chains correctly, but this is something I might got wrong
from your mail.

An example:

"...slots and versions to "mean" something other than what they used to,..."

is completely useless without a description of what SLOTS are about and
how the should be used. And what is the wrong usage you can find;
examples are necessary here for understanding.


And your approach (a workaround called "funky-slots") to tackle this
what-ever-the-problem-really is, doesn't fit to anything you want from
others.
To me, it doesn't solve the root cause, but actually I can't judge this,
because I am missing a description of what is really going wrong.


Don't behave in a way, which you disallow for others.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: PROPERTIES=funky-slots

2012-06-23 Thread Justin
On 23.06.2012 18:17, Ciaran McCreesh wrote:
> On Sat, 23 Jun 2012 18:13:23 +0200
> Justin  wrote:
>> Did you read what you wrote and thought about what you request from
>> others? Probably you better should.
> 
> Uh huh, and I think we all know there's a huge difference between
> knowing what versions and slots are and knowing what "a multilib" is.
> 

Might be right, but that doesn't allow you to break your own rules.
Plus I still don't get the problem of using SLOTS in the way they are
used now.

And I can't find this out by simply googling. In contrast, an
explanation of multilib in context of linux distribution and more
specific gentoo can be found easily.
But that's nothing I wanted to discuss here.

Stop acting in this arrogant way you are doing right now. This doesn't
make sympathetic in any way and heavily overshadows the technically
skills you will have for sure.

>> An example:
>>
>> "...slots and versions to "mean" something other than what they used
>> to,..."
>>
>> is completely useless without a description of what SLOTS are about
>> and how the should be used. And what is the wrong usage you can find;
>> examples are necessary here for understanding.
> 
> That's covered in the devmanual and in the user documentation, so
> there's no need to repeat it here.

Ever heard about references. They are good, if you don't like to repeat
what is written, but which are necessary context to understand what you
are writing. You should use them for the sake of understanding, if you
are to lazy to write it out again.

> 
>> To me, it doesn't solve the root cause, but actually I can't judge
>> this, because I am missing a description of what is really going
>> wrong.
> 
> As I've already said, this isn't about solving the root cause. It's
> about reducing the impact of damage that's already been done until the
> root cause is solved properly.
> 

My clear vote is No. We shouldn't implement anything which allows bad
coding anywhere, just for the sake of having it "solved" now.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: PROPERTIES=funky-slots

2012-06-23 Thread Justin
On 23.06.2012 18:53, Ciaran McCreesh wrote:
> On Sat, 23 Jun 2012 18:47:26 +0200
> Justin  wrote:
>> On 23.06.2012 18:17, Ciaran McCreesh wrote:
>>> On Sat, 23 Jun 2012 18:13:23 +0200
>>> Justin  wrote:
>>>> Did you read what you wrote and thought about what you request from
>>>> others? Probably you better should.
>>>
>>> Uh huh, and I think we all know there's a huge difference between
>>> knowing what versions and slots are and knowing what "a multilib"
>>> is.
>>>
>>
>> Might be right, but that doesn't allow you to break your own rules.
>> Plus I still don't get the problem of using SLOTS in the way they are
>> used now.
> 
> "My own rules" are that enough material is presented that the relevant
> people understand it. If you look at simple proposals like usex, silent
> rules or EBUILD_PHASE_FUNC, you'll see quite clearly that we ask for
> very little in the way of text in cases where the change is easily
> understood.
> 
>> And I can't find this out by simply googling. In contrast, an
>> explanation of multilib in context of linux distribution and more
>> specific gentoo can be found easily.
> 
> Oh really? I was under the impression that there wasn't even general
> agreement upon whether or not multilib applied to "C" or to "C, and
> Python, and things like it".
> 
>> Stop acting in this arrogant way you are doing right now.
> 
> Come on. Submitting a simple proposal with at least as much detail as
> was provided for other, equally simple proposals is "arrogant" now?
> 
>>> That's covered in the devmanual and in the user documentation, so
>>> there's no need to repeat it here.
>>
>> Ever heard about references. They are good, if you don't like to
>> repeat what is written, but which are necessary context to understand
>> what you are writing. You should use them for the sake of
>> understanding, if you are to lazy to write it out again.
> 
> Please take a look at the proposal for EBUILD_PHASE_FUNC, and say where
> it references what "phase functions" are, or the proposal for usex and
> say where it references what "use flags" are, or the proposal for
> silent rules where it references what "econf" is.
> 
>>>> To me, it doesn't solve the root cause, but actually I can't judge
>>>> this, because I am missing a description of what is really going
>>>> wrong.
>>>
>>> As I've already said, this isn't about solving the root cause. It's
>>> about reducing the impact of damage that's already been done until
>>> the root cause is solved properly.
>>
>> My clear vote is No. We shouldn't implement anything which allows bad
>> coding anywhere, just for the sake of having it "solved" now.
> 
> The bad coding has already happened. Are you volunteering to revert the
> Ruby virtuals?
> 


I give up. And actually I don't care anymore.

When I saw the first people leaving this project, because of all this
non social bitching, I thought by myself, this will never happen to me.
But the amount of fruitful discussion here is so less compared to the
shire amount crap coming through, that it is not worth following it.

justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: intel-sdp.eclass (new eclass to handle intels compiler suites and libraries)

2012-09-10 Thread Justin
Hi all,

please give comments on the attached eclass.

The purpose of the eclass is

* handle the suite bundle and its single rpms
* simplify ebuilds
* a clean and easy way to unpack what is needs to be install


Thanks,

justin
# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: intel-sdp.eclass
# @MAINTAINER:
# Sébastien Fabbro 
# Justin Lecher 
# Sci Team 
# @BLURB: Handling of Intel's Software Development Products package management

# @ECLASS-VARIABLE: INTEL_DID
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package download ID from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. 2504
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_DPN
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package name to download from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. parallel_studio_xe
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_DPV
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package download version from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. 2011_sp1_update2
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_SUBDIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package sub-directory where it will end-up in /opt/intel
# To find out its value, you have to do a raw install from the Intel tar ball

# @ECLASS-VARIABLE: INTEL_RPMS_DIRS
# @DESCRIPTION:
# List of subdirectories in the main archive which contains the
# rpms to extract.
: ${INTEL_RPMS_DIRS:=rpm}

# @ECLASS-VARIABLE: INTEL_X86
# @DESCRIPTION:
# 32bit arch in rpm names
#
# e.g. i484
: ${INTEL_X86:=i486}

# @ECLASS-VARIABLE: INTEL_BIN_RPMS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Functional name of rpm without any version/arch tag
#
# e.g. compilerprof

# @ECLASS-VARIABLE: INTEL_DAT_RPMS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Functional name of rpm of common data which are arch free
# without any version tag
#
# e.g. openmp

inherit check-reqs multilib versionator

_INTEL_PV1=$(get_version_component_range 1)
_INTEL_PV2=$(get_version_component_range 2)
_INTEL_PV3=$(get_version_component_range 3)
_INTEL_PV4=$(get_version_component_range 4)
_INTEL_URI="http://registrationcenter-download.intel.com/irc_nas/${INTEL_DID}/${INTEL_DPN}";

SRC_URI="
amd64? ( multilib? ( ${_INTEL_URI}_${INTEL_DPV}.tgz ) )
amd64? ( !multilib? ( ${_INTEL_URI}_${INTEL_DPV}_intel64.tgz ) )
x86?  ( ${_INTEL_URI}_${INTEL_DPV}_ia32.tgz )"

LICENSE="Intel-SDP"
# Future work, #394411
#SLOT="${_INTEL_PV1}.${_INTEL_PV2}"
SLOT="0"
IUSE="multilib"
KEYWORDS="-* ~amd64 ~x86"

RESTRICT="mirror"

RDEPEND=""
DEPEND=">=app-arch/rpm2targz-9.0.0.3g"

_INTEL_SDP_YEAR=${INTEL_DPV%_update*}
_INTEL_SDP_YEAR=${INTEL_DPV%_sp*}

# @ECLASS-VARIABLE: INTEL_SDP_DIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# Full rootless path to installation dir

INTEL_SDP_DIR="opt/intel/${INTEL_SUBDIR}-${_INTEL_SDP_YEAR:-${_INTEL_PV1}}.${_INTEL_PV3}.${_INTEL_PV4}"

# @ECLASS-VARIABLE: INTEL_SDP_EDIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# Full rooted path to installation dir

INTEL_SDP_EDIR="${EROOT%/}/${INTEL_SDP_DIR}"

S="${WORKDIR}"

QA_PREBUILT="${INTEL_SDP_DIR}/*"

intel-sdp_pkg_pretend() {
: ${CHECKREQS_DISK_BUILD:=256M}
check-reqs_pkg_pretend
}

# @ECLASS-VARIABLE: INTEL_ARCH
# @DEFAULT_UNSET
# @DESCRIPTION:
# Intels internal names of the arches; will be set at runtime accordingly
#
# e.g. amd64-multilib -> INTEL_ARCH="intel64 ia32"

intel-sdp_pkg_setup() {
local arch a p
if use x86; then
arch=${INTEL_X86}
INTEL_ARCH="ia32"
elif use amd64; then
arch=x86_64
INTEL_ARCH="intel64"
if has_multilib_profile; then
arch="x86_64 ${INTEL_X86}"
INTEL_ARCH="intel64 ia32"
fi
fi
INTEL_RPMS=""
for p in ${INTEL_BIN_RPMS}; do
for a in ${arch}; do
INTEL_RPMS="${INTEL_RPMS} 
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm"
done
done
for p in ${INTEL_DAT_RPMS}; do
INTEL_RPMS="${INTEL_RPMS} 
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm"
done

case "${EAPI:-0}" in
0|1|2|3) intel-sdp_pkg_pretend ;;
esac
}

intel-sdp_src_unpack() {
local l r t rpmdir
for t in ${A}; do
for r in ${INTE

[gentoo-dev] RFC: fortran-2.eclass to depend on virtual/fortran

2012-10-07 Thread justin
Hi,

I want to add following change to fortran-2.eclass to achieve more
simpler usage.

The patch will make the eclass depend on virtual/fortran so that no
manual addition is needed.
Two exception are present, a) the ebuild has the USE flag fortran, then
we check for that, or b) the FORTRAN_OPTIONAL variable is set, which
leaves the control to the ebuild (e.g. for cases like "lapack? (
virtual/fortran )").

This is the best coverage of the use cases present, because

* most ebuild using the eclass want to have a fortran compiler
* most other trigger optional fortran support through USE=fortran
* only minor have different USE for this purpose (e.g. numpy)

Thanks for comments,

Justin
Index: fortran-2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v
retrieving revision 1.11
diff -u -B -r1.11 fortran-2.eclass
--- fortran-2.eclass7 Oct 2012 14:53:43 -   1.11
+++ fortran-2.eclass7 Oct 2012 17:18:28 -
@@ -35,6 +35,26 @@
 
 inherit eutils toolchain-funcs
 
+# @ECLASS-VARIABLE: FORTRAN_OPTIONAL
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Set this before inheriting the eclass, if your package has an optional 
+# fortran support, which is triggered by a different USE flag than 'fortran'.
+# This requires manual handling of the dependency on virtual/fortran.
+#
+# If unset, the dependency on virtual/fortran is added directly.
+
+if [[ -n ${FORTRAN_OPTIONAL} ]]; then
+   if in_iuse fortran; then
+   DEPEND="fortran? ( virtual/fortran )"
+   else
+   DEPEND="virtual/fortran"
+   fi
+fi
+
+RDEPEND="${DEPEND}"
+
+
 # @FUNCTION: _write_testsuite
 # @INTERNAL
 # @DESCRIPTION:


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: RFC: fortran-2.eclass to depend on virtual/fortran

2012-10-07 Thread justin
On 10/7/12 7:36 PM, Jonathan Callen wrote:
> On 10/07/2012 01:20 PM, justin wrote:
>> Hi,
> 
>> I want to add following change to fortran-2.eclass to achieve more 
>> simpler usage.
> 
>> The patch will make the eclass depend on virtual/fortran so that
>> no manual addition is needed. Two exception are present, a) the
>> ebuild has the USE flag fortran, then we check for that, or b) the
>> FORTRAN_OPTIONAL variable is set, which leaves the control to the
>> ebuild (e.g. for cases like "lapack? ( virtual/fortran )").
> 
>> This is the best coverage of the use cases present, because
> 
>> * most ebuild using the eclass want to have a fortran compiler *
>> most other trigger optional fortran support through USE=fortran *
>> only minor have different USE for this purpose (e.g. numpy)
> 
>> Thanks for comments,
> 
>> Justin
> 
> 
> You cannot check the value of IUSE in global scope in an eclass, as at
> least portage actually unsets it before sourcing an eclass (also, it
> is not defined in PMS what value IUSE would have at that point).  You
> also got a conditional backwards -- if you don't set FORTRAN_OPTIONAL
> with that patch, then *nothing* gets appended to DEPEND -- if you do
> set it, then DEPEND="virtual/fortran" will always be set (with your
> current logic).
> 
> 

Regarding your first point I copied the behavior from the
toolchain.eclass and I thought it would work. Testing it, I see you are
right. Any suggestion how to check for a USE being IUSE in an eclass?

NAd your second point is completely right. I fix this when we sorted out
the USE check.

Thanks
Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: fortran-2.eclass to depend on virtual/fortran

2012-10-07 Thread justin
On 10/7/12 8:19 PM, Chí-Thanh Christopher Nguyễn wrote:
> justin schrieb:
>> Hi,
>>
>> I want to add following change to fortran-2.eclass to achieve more 
>> simpler usage.
>>
>> The patch will make the eclass depend on virtual/fortran so that
>> no manual addition is needed. Two exception are present, a) the
>> ebuild has the USE flag fortran, then we check for that, or b) the
>> FORTRAN_OPTIONAL variable is set, which leaves the control to the
>> ebuild (e.g. for cases like "lapack? ( virtual/fortran )").
> 
> I suggest that you do something similar to the XORG_DRI variable in
> xorg-2.eclass.
> 
> For example:
> FORTRAN_WANT_COMPILER=no would not add a virtual/fortran dependency
> FORTRAN_WANT_COMPILER=always would unconditionally depend on
> virtual/fortran
> FORTRAN_WANT_COMPILER=useflag would depend on useflag? ( virtual/fortran )
> 
> To avoid breaking existing packages, you could default to
> FORTRAN_WANT_COMPILER=fortran
> 
> 
> Best regards,
> Chí-Thanh Christopher Nguyễn
> 
> 

Thanks for that suggestion. Please find the new version attached. It
basically follows what is done in the xorg-2.eclass. But we allow a list
of USE and don't allow a no, because the eclass itself needs a fortran
compiler.

Thanks,
justin
Index: fortran-2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v
retrieving revision 1.11
diff -u -B -r1.11 fortran-2.eclass
--- fortran-2.eclass7 Oct 2012 14:53:43 -   1.11
+++ fortran-2.eclass7 Oct 2012 18:52:49 -
@@ -35,6 +35,32 @@
 
 inherit eutils toolchain-funcs
 
+# @ECLASS-VARIABLE: FORTRAN_SUPPORT
+# @DESCRIPTION:
+# If your package has an optional fortran support, set this variable
+# to the space seperated list of USE triggering the fortran
+# dependence.
+#
+# e.g. FORTRAN_SUPPORT=lapack would result in
+#
+# DEPEND="lapack? ( virtual/fortran )"
+#
+# If unset, we always depend on virtual/fortran.
+: ${FORTRAN_SUPPORT:=always}
+
+DEPEND=""
+for _f_use in ${FORTRAN_SUPPORT}; do
+   case ${_f_use} in
+   always)
+   DEPEND+=" virtual/fortran"
+   ;;
+   *)
+   DEPEND+=" ${FORTRAN_SUPPORT}? ( virtual/fortran )"
+   ;;
+   esac
+done
+RDEPEND="${DEPEND}"
+
 # @FUNCTION: _write_testsuite
 # @INTERNAL
 # @DESCRIPTION:


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: fortran-2.eclass to depend on virtual/fortran

2012-10-09 Thread justin
On 09/10/12 15:12, Ian Stakenvicius wrote:
> On 07/10/12 02:56 PM, justin wrote:
>> On 10/7/12 8:19 PM, Chí-Thanh Christopher Nguyễn wrote:
>>> justin schrieb:
>>>> Hi,
>>>>
>>>> I want to add following change to fortran-2.eclass to achieve
>>>> more simpler usage.
>>>>
>>>> The patch will make the eclass depend on virtual/fortran so
>>>> that no manual addition is needed. Two exception are present,
>>>> a) the ebuild has the USE flag fortran, then we check for that,
>>>> or b) the FORTRAN_OPTIONAL variable is set, which leaves the
>>>> control to the ebuild (e.g. for cases like "lapack? (
>>>> virtual/fortran )").
>>>
>>> I suggest that you do something similar to the XORG_DRI variable
>>> in xorg-2.eclass.
>>>
>>> For example: FORTRAN_WANT_COMPILER=no would not add a
>>> virtual/fortran dependency FORTRAN_WANT_COMPILER=always would
>>> unconditionally depend on virtual/fortran 
>>> FORTRAN_WANT_COMPILER=useflag would depend on useflag? (
>>> virtual/fortran )
>>>
>>> To avoid breaking existing packages, you could default to 
>>> FORTRAN_WANT_COMPILER=fortran
>>>
>>>
>>> Best regards, Chí-Thanh Christopher Nguyễn
>>>
>>>
> 
>> Thanks for that suggestion. Please find the new version attached.
>> It basically follows what is done in the xorg-2.eclass. But we
>> allow a list of USE and don't allow a no, because the eclass itself
>> needs a fortran compiler.
> 
>> Thanks, justin
> 
> 
> Looks better, but it would still be a good idea to have a possibility
> of setting FORTRAN_SUPPORT=no so that the eclass can be used without
> setting *DEPEND if a dev so desires.
> 
> Right now it looks like FORTRAN_SUPPORT=no would result in
> DEPEND+="no? (virtual/fortran)"
> 

I thought about it, but it makes no sense. There is exactly no need for
an ebuild to use this eclass if no fortran support is required.
The only purpose of this eclass is to check that F77 and FC are valid
fortran compilers.
But in order to have this possibility available I will add it.

Thanks for commenting,
Jusitn



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: RFC: fortran-2.eclass to depend on virtual/fortran

2012-10-09 Thread Justin
On 09.10.2012 23:19, Mike Frysinger wrote:
> On Sunday 07 October 2012 13:58:04 justin wrote:
>> On 10/7/12 7:36 PM, Jonathan Callen wrote:
>>> You cannot check the value of IUSE in global scope in an eclass, as at
>>> least portage actually unsets it before sourcing an eclass (also, it
>>> is not defined in PMS what value IUSE would have at that point).
>>
>> Regarding your first point I copied the behavior from the
>> toolchain.eclass and I thought it would work. Testing it, I see you are
>> right. Any suggestion how to check for a USE being IUSE in an eclass?
> 
> toolchain.eclass is testing its own IUSE which is why it works, not the IUSE 
> from ebuilds
> -mike
> 

Right I just saw this.
Thanks,
Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Ohloh Organizations - Gentoo Linux

2012-11-15 Thread Justin
Hi,

does anybody like to setup an Organization[1] profile @ ohloh for Gentoo?

justin

[1]
https://www.ohloh.net/orgs



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in media-gfx/nvidia-cg-toolkit/files: 80cgc-opt-2

2012-11-16 Thread justin
On 16/11/12 09:48, Samuli Suominen wrote:
> On 16/11/12 00:07, Justin Lecher (jlec) wrote:
>> jlec12/11/15 22:07:13
>>
>>Modified: 80cgc-opt-2
>>Log:
>>media-gfx/nvidia-cg-toolkit: Version BUmp, #270480, thanks Myckel Habets, 
>> Piotr Szymaniak and Jean-Marc Hengen working on the ebuild; add multilib 
>> support, #262477, thanks Russell Harmon and Dennis Schridde working on this; 
>> Add additional variables to enviroment to find headers and libs, #344603
>>
>>(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit 
>> with key 8009D6F070EB7916)
>>
>> Revision  ChangesPath
>> 1.2  media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2
>>
>> file : 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?rev=1.2&view=markup
>> plain: 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?rev=1.2&content-type=text/plain
>> diff : 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?r1=1.1&r2=1.2
>>
>> Index: 80cgc-opt-2
>> ===
>> RCS file: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v
>> retrieving revision 1.1
>> retrieving revision 1.2
>> diff -u -r1.1 -r1.2
>> --- 80cgc-opt-2  15 Nov 2012 21:12:55 -  1.1
>> +++ 80cgc-opt-2  15 Nov 2012 22:07:13 -  1.2
>> @@ -1,7 +1,11 @@
>> -# $Header: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v 1.1 
>> 2012/11/15 21:12:55 jlec Exp $
>> +# $Header: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v 1.2 
>> 2012/11/15 22:07:13 jlec Exp $
>>
>>   # Configures the CG Runtime environment for Bourne shell and compatible 
>> shells
>>   CG_COMPILER_EXE=@GENTOO_PORTAGE_EPREFIX@/opt/bin/cgc
>> +CG_INC_PATH=@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/include
>> +CG_LIB_PATH="ELDPATH"
>>
>> -# Make sure the helper files are found
>> -LDPATH="/opt/nvidia-cg-toolkit/lib"
>> +PATH="@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/bin"
>> +ROOTPATH="@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/bin"
>> +
>> +LDPATH="ELDPATH"
> 
> does this mean it puts the binary-only package, nvidia-cg-toolkit, to 
> the default search path when you call the linker (compiler)?

right, I trusted what Mike committed before.

> 
> please don't do that, it is counterproductive with the purpose of 
> putting libraries to /opt. binary only packages should be isolated.
> 
> it was already once reverted for the package...
> 
> it is up the the ebuilds using nvidia-cg-toolkit to append-ldflags 
> -L/opt/... or similar.
> 
> thanks
> 

That's true. I will fix this by adding support for pkg-config.

Thanks,

Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in media-gfx/nvidia-cg-toolkit/files: 80cgc-opt-2

2012-11-16 Thread justin
On 16/11/12 09:48, Samuli Suominen wrote:
> On 16/11/12 00:07, Justin Lecher (jlec) wrote:
>> jlec12/11/15 22:07:13
>>
>>Modified: 80cgc-opt-2
>>Log:
>>media-gfx/nvidia-cg-toolkit: Version BUmp, #270480, thanks Myckel Habets, 
>> Piotr Szymaniak and Jean-Marc Hengen working on the ebuild; add multilib 
>> support, #262477, thanks Russell Harmon and Dennis Schridde working on this; 
>> Add additional variables to enviroment to find headers and libs, #344603
>>
>>(Portage version: 2.2.0_alpha142/cvs/Linux x86_64, signed Manifest commit 
>> with key 8009D6F070EB7916)
>>
>> Revision  ChangesPath
>> 1.2  media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2
>>
>> file : 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?rev=1.2&view=markup
>> plain: 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?rev=1.2&content-type=text/plain
>> diff : 
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2?r1=1.1&r2=1.2
>>
>> Index: 80cgc-opt-2
>> ===
>> RCS file: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v
>> retrieving revision 1.1
>> retrieving revision 1.2
>> diff -u -r1.1 -r1.2
>> --- 80cgc-opt-2  15 Nov 2012 21:12:55 -  1.1
>> +++ 80cgc-opt-2  15 Nov 2012 22:07:13 -  1.2
>> @@ -1,7 +1,11 @@
>> -# $Header: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v 1.1 
>> 2012/11/15 21:12:55 jlec Exp $
>> +# $Header: 
>> /var/cvsroot/gentoo-x86/media-gfx/nvidia-cg-toolkit/files/80cgc-opt-2,v 1.2 
>> 2012/11/15 22:07:13 jlec Exp $
>>
>>   # Configures the CG Runtime environment for Bourne shell and compatible 
>> shells
>>   CG_COMPILER_EXE=@GENTOO_PORTAGE_EPREFIX@/opt/bin/cgc
>> +CG_INC_PATH=@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/include
>> +CG_LIB_PATH="ELDPATH"
>>
>> -# Make sure the helper files are found
>> -LDPATH="/opt/nvidia-cg-toolkit/lib"
>> +PATH="@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/bin"
>> +ROOTPATH="@GENTOO_PORTAGE_EPREFIX@/opt/nvidia-cg-toolkit/bin"
>> +
>> +LDPATH="ELDPATH"
> 
> does this mean it puts the binary-only package, nvidia-cg-toolkit, to 
> the default search path when you call the linker (compiler)?
> 
> please don't do that, it is counterproductive with the purpose of 
> putting libraries to /opt. binary only packages should be isolated.
> 
> it was already once reverted for the package...
> 
> it is up the the ebuilds using nvidia-cg-toolkit to append-ldflags 
> -L/opt/... or similar.
> 
> thanks
> 

+*nvidia-cg-toolkit-3.1.0013-r1 (16 Nov 2012)
+
+  16 Nov 2012; Justin Lecher  +files/80cgc-opt-3,
+  +nvidia-cg-toolkit-3.1.0013-r1.ebuild, +files/nvidia-cg-toolkit.pc.in,
+  +files/nvidia-cg-toolkit-gl.pc.in:
+  Don't add binary packages to global linker search path; instead using
+  pkg-config. Thanks ssuominen pointing this out
+





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in media-gfx/nvidia-cg-toolkit/files: 80cgc-opt-2

2012-11-19 Thread Justin
On 18.11.2012 15:37, Samuli Suominen wrote:
> On 18/11/12 16:11, hasufell wrote:
>> On 11/18/2012 03:08 PM, Peter Alfredsen wrote:
>>> On Fri, Nov 16, 2012 at 10:43 AM, justin  wrote:
>>>> On 16/11/12 09:48, Samuli Suominen wrote:
>>>
>>>>> does this mean it puts the binary-only package, nvidia-cg-toolkit, to
>>>>> the default search path when you call the linker (compiler)?
>>>>>
>>>>> please don't do that, it is counterproductive with the purpose of
>>>>> putting libraries to /opt. binary only packages should be isolated.
>>>>>
>>>>> it was already once reverted for the package...
>>>>>
>>>>> it is up the the ebuilds using nvidia-cg-toolkit to append-ldflags
>>>>> -L/opt/... or similar.
>>>>>
>>>>> thanks
>>>>>
>>>>
>>>> +*nvidia-cg-toolkit-3.1.0013-r1 (16 Nov 2012)
>>>> +
>>>> +  16 Nov 2012; Justin Lecher  +files/80cgc-opt-3,
>>>> +  +nvidia-cg-toolkit-3.1.0013-r1.ebuild,
>>>> +files/nvidia-cg-toolkit.pc.in,
>>>> +  +files/nvidia-cg-toolkit-gl.pc.in:
>>>> +  Don't add binary packages to global linker search path; instead
>>>> using
>>>> +  pkg-config. Thanks ssuominen pointing this out
>>>> +
>>>
>>> This is a shared library, used by the plugin google-talkplugin. If
>>> there is no
>>> LDPATH set, browsers using that plugin will crash mysteriously and
>>> unpredictably. You can't use chrpath to change the rpath because
>>> lengthof(/opt/nvidia-cg-toolkit/lib64)>lengthof(/opt/google/talkplugin/lib)
>>>
>>> and we don't have the sources, so we can't really recompile. And it's
>>> being dl-opened so LD_LIBRARY_PATH is a no-go, unless we want to add
>>> magic to all browser that sets it to the correct path before starting
>>> them.
>>>
>>> So please re-add the LDPATH to the env.d file. Pretty please.
>>> Just cause it's binary doesn't mean it has to be cordoned off
>>> and isolated like it's got the spanish flu.
>>>
>>> /Peter
>>>
>>> PS
>>> pkgconfig is irrelevant if it's only gentoo that's shipping them.
>>> HTH. HAND.
>>>
>>
>> this is also breaking dev-games/ogre
>>
>> linking works fine (since we got proper pkgconfig fils), runtime is
>> broken.
>>
> 
> umm, indeed... that's why I had ? marks in my original post. runtime is
> OK to add, so LDPATH should be fine.
> 
> sorry for any confusion.
> 
> - Samuli
> 

+*nvidia-cg-toolkit-3.1.0013-r2 (19 Nov 2012)
+
+  19 Nov 2012; Justin Lecher 
+  +nvidia-cg-toolkit-3.1.0013-r2.ebuild:
+  Readding LDPATH into env as binary only apps use dl-open to load
+


I left the pkg-config support, because on prefix LDPATH is irrelevant
and having pkg-config gives at least support for lib resolution at
compile time.



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: intel-sdp.eclass unpacking speedup

2012-11-25 Thread justin
Hi,

Change of the unpacking logic which allows at least a speed up of factor 2.
Before we unpacked every single rpm from the tarball separately, now we
generate all possibilities and unpack them at once, ignoring warnings.

Justin

commit f13912b377189f6b80d05eb122c9f27e187c02a6
Author: Justin Lecher 
Date:   Sun Nov 25 10:51:00 2012 +0100

Speed up unpacking #431614

diff --git a/eclass/intel-sdp.eclass b/eclass/intel-sdp.eclass
index eafb523..a0f5b37 100644
--- a/eclass/intel-sdp.eclass
+++ b/eclass/intel-sdp.eclass
@@ -180,28 +180,27 @@ intel-sdp_pkg_setup() {
 }

 intel-sdp_src_unpack() {
-   local l r t rpmdir
-   debug-print "INTEL_RPMS_DIRS are \"${INTEL_RPMS_DIRS}\""
+   local l r subdir rb t list=()
+
for t in ${A}; do
for r in ${INTEL_RPMS}; do
-   # Find which subdirectory of the archive the rpm
is in
-   rpm_found="false"
for subdir in ${INTEL_RPMS_DIRS}; do
-   [[ "${rpm_found}" == "true" ]] && continue
rpmdir=${t%%.*}/${subdir}
-   l=.${r}_$(date +'%d%m%y_%H%M%S').log
-   tar xf "${DISTDIR}"/${t} ${rpmdir}/${r}
2> /dev/null || continue
-   einfo "Unpacking ${r}"
-   rpm_found="true"
-   rpm2tar -O "./${rpmdir}/${r}" | tar xvf
- | sed -e \
-   "s:^\.:${EROOT#/}:g" > ${l} ||
die "unpacking ${r} failed"
-   mv ${l} opt/intel/ || die "failed moving
extract log file"
+   list+=( ${rpmdir}/${r})
done
-   [[ "${rpm_found}" == "false" ]] && \
-   debug-print "RPM \"${r}\" not found in ${t}"
+   done
+   tar xf "${DISTDIR}"/${t} ${list[@]}  2> /dev/null || die
+   for r in ${list[@]}; do
+   rb=$(basename ${r})
+   l=.${rb}_$(date +'%d%m%y_%H%M%S').log
+   einfo "Unpacking ${rb}"
+   rpm2tar -O ${r} | tar xvf - | sed -e \
+   "s:^\.:${EROOT#/}:g" > ${l} || die
"unpacking ${r} failed"
+   mv ${l} opt/intel/ || die "failed moving extract
log file"
done
done
-   mv -v opt/intel/* ${INTEL_SDP_DIR} || die "mv to INTEL_SDP_DIR
failed"
+
+   mv opt/intel/* ${INTEL_SDP_DIR} || die "mv to INTEL_SDP_DIR failed"
 }



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] New eclass cuda.eclass

2012-11-25 Thread Justin
Hi,

I would like to introduce a new eclass for packages using the nvidia
cuda compiler suite. Currently the eclass simply sanitize the NVCCFLAGS.
May be extended in the future.

Two problems come up with using nvcc:

* Each version only supports a limited number of gcc versions. Therefore
we need to pass the path to a supported gcc bindir

* nvcc calls CXX but doesn't pass CXXFLAGS on.


justin
# Copyright 1999-20012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit toolchain-funcs versionator

# @ECLASS: cuda.eclass
# @MAINTAINER:
# Justin Lecher 
# @BLURB: Common functions for cuda packages
# @DESCRIPTION:
# This eclass contains functions to be used with cuda package. Currently it is
# setting and/or sanitizing NVCCFLAGS, the compiler flags for nvcc. This is
# automatically done and exported in src_prepare() or manually by calling
# cuda_sanatize.
#
# Common usage:
#
# inherit cuda

# @ECLASS-VARIABLE: NVCCFLAGS
# DESCRIPTION:
# nvcc compiler flags (see nvcc --help), which should be used like
# CFLAGS for c compiler
: ${NVCCFLAGS:=-O2}

# @ECLASS-VARIABLE: CUDA_VERBOSE
# DESCRIPTION:
# Being verbose during compilation to see underlying commands
: ${CUDA_VERBOSE:=true}

[[ "${CUDA_VERBOSE}" == true ]] && NVCCFLAGS+=" -v"

# @ECLASS-FUNCTION: cuda_gccdir
# @DESCRIPTION:
# Helper for determination of the latest gcc bindir supported by
# then current nvidia cuda toolkit.
#
# Calling plain it returns simply the path, but you probably want to add \"-f\""
# to get the full flag to add to nvcc call.
#
# Example:
#
# cuda_gccdir -f
# -> --compiler-bindir="/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3"
cuda_gccdir() {
local _gcc_bindir _ver _args="" _flag _ret

# Currently we only support the gnu compiler suite
if [[ $(tc-getCXX) != *g++* ]]; then
ewarn "Currently we only support the gnu compiler suite"
return 2
fi

while [ "$1" ]; do
case $1 in
-f)
_flag="--compiler-bindir="
;;
*)
;;
esac
shift
done

if [[ ! $(type -P cuda-config) ]]; then
eerror "Could not execute cuda-config"
eerror "Make sure >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 is 
installed"
die "cuda-config not found"
else
_args="$(version_sort $(cuda-config -s))"
if [[ ! -n ${_args} ]]; then
die "Could not determine supported gcc versions from 
cuda-config"
fi
fi

for _ver in ${_args}; do
  has_version sys-devel/gcc:${_ver} && \
 _gcc_bindir="$(ls -d ${EPREFIX}/usr/*pc-linux-gnu/gcc-bin/${_ver}* | 
tail -n 1)"
   done

   if [[ -n ${_gcc_bindir} ]]; then
if [[ -n ${_flag} ]]; then
_ret="${_flag}\\\"${_gcc_bindir}\\\""
else
  _ret="${_gcc_bindir}"
fi
echo ${_ret}
return 0
else
eerror "Only gcc version(s) ${_args} are supported,"
eerror "of which none is installed"
die "Only gcc version(s) ${_args} are supported"
return 1
   fi
}

# @ECLASS-FUNCTION: cuda_sanitize
# @DESCRIPTION:
# Correct NVCCFLAGS by adding the necessary reference to gcc bindir and
# passing CXXFLAGS to underlying compiler without disturbing nvcc.
cuda_sanitize() {
# Tell nvcc where to find a compatible compiler
NVCCFLAGS+=" $(cuda_gccdir -f)"

# Tell nvcc which flags should be used for underlying C compiler
NVCCFLAGS+=" --compiler-options=\"${CXXFLAGS}\""

export NVCCFLAGS
}

# @ECLASS-FUNCTION: cuda_pkg_setup
# @DESCRIPTION:
# Sanitise and export NVCCFLAGS by default in pkg_setup
cuda_pkg_setup() {
cuda_sanitize
}

EXPORT_FUNCTIONS pkg_setup
case "${EAPI:-0}" in
   0|1|2|3|4|5) ;;
   *) die "EAPI=${EAPI} is not supported" ;;
esac


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass cuda.eclass

2012-11-25 Thread Justin
On 25.11.2012 18:59, Rick "Zero_Chaos" Farina wrote:
> On 11/25/2012 11:47 AM, Justin wrote:
>> Hi,
> 
>> I would like to introduce a new eclass for packages using the nvidia
>> cuda compiler suite. Currently the eclass simply sanitize the NVCCFLAGS.
>> May be extended in the future.
> 
>> Two problems come up with using nvcc:
> 
>> * Each version only supports a limited number of gcc versions. Therefore
>> we need to pass the path to a supported gcc bindir
> 
>> * nvcc calls CXX but doesn't pass CXXFLAGS on.
> 
> This whole idea seems great but I see two issues.  Issue 1.) I'm stupid
> and don't really understand all the intricacy of the toolchain stuff and
> 2.) you didn't include an example ebuild.
> 
> Fortunately issue 1 can (at least functionally) be solved by providing a
> solution for issue 2.  If you need an ebuild to cuda.eclassify then I am
> happy to provide (or feel free to use a before and after of anything you
> have available).
> 
> https://code.google.com/p/pentoo/source/browse/portage/trunk/app-crypt/cryptohaze-combined/cryptohaze-combined-.ebuild
> 
> Thanks!
> Zero
> 

1)
The build fails if you are using a compiler newer then the supported ones.

In file included from /opt/cuda/include/cuda_runtime.h:59:0,
 from :0:
/opt/cuda/include/host_config.h:82:2: error: #error -- unsupported GNU
version! gcc 4.7 and up are not supported!
make[1]: *** [obj/x86_64/release/segmentationTree.cu_13.o] Error 1


or similar. Solution, tell nvcc where to find a compatible compiler.

2)
The underlying call of c compiler doesn't respect CXXFLAGS, therefore we
need to tell nvcc what to use. Otherwise only the plain NVCCFLAGS are used.


How to fix your package, depends on the buildsystem and where and how
they are calling the nvcc. Normally you need to sed it in.

Here as an example the nvidia-cuda-sdk version bump:

https://github.com/gentoo-science/sci/blob/cuda/dev-util/nvidia-cuda-sdk/nvidia-cuda-sdk-5.0.35.ebuild


justin




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass cuda.eclass

2012-11-25 Thread justin
On 26/11/12 01:26, "C. Bergström" wrote:
> On 11/26/12 12:59 AM, Rick "Zero_Chaos" Farina wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> On 11/25/2012 11:47 AM, Justin wrote:
>>> Hi,
>>>
>>> I would like to introduce a new eclass for packages using the nvidia
>>> cuda compiler suite. Currently the eclass simply sanitize the NVCCFLAGS.
>>> May be extended in the future.
>>>
>>> Two problems come up with using nvcc:
>>>
>>> * Each version only supports a limited number of gcc versions. Therefore
>>> we need to pass the path to a supported gcc bindir
>>>
>>> * nvcc calls CXX but doesn't pass CXXFLAGS on.
> I don't know if this is helpful feedback, but it would be great if our 
> "CUDA" compiler was also detected in your eclass.
> 
> Notable differences : Probably a lot faster compilation times (needs 
> benchmarking), no external userland dependencies (gcc or nvidia), we 
> don't support nvcc flags and we have a driver just for the CUDA language
> 
> Example:
> pathcu deadbeef.cu
> ./a.out
> 
> (Unfortunately our recent nightly builds started to do a license check, 
> but any interested open source dev just ping me to get setup)
> 
> To validate simple things you could use an older nightly
> http://c591116.r16.cf2.rackcdn.com/enzo/nightly/Linux/enzo-2012-11-18-installer.run
> 
> chmod +x enzo-2012-11-18-installer.run ; ./enzo-2012-11-18-installer.run 
> --mode unattended # --prefix /opt/foobar
> 
> ./C
> 
> 

Hi,

its definitely a nice thing to have more choices.
Could you file bug for that please, so that we can support it in future
versions?

Thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Ohloh Organizations - Gentoo Linux

2012-11-26 Thread Justin
On 26.11.2012 21:58, Dirkjan Ochtman wrote:
> On Fri, Nov 23, 2012 at 12:18 PM, Dirkjan Ochtman  wrote:
>> I haven't heard back from them, maybe you can ask them what's up.
> 
> This has been setup (with Donnie's help):
> 
> https://www.ohloh.net/orgs/gentoo
> 
> I've claimed 15 of the projects on there that I could easily find,
> analysis on those should complete shortly. If you're on Ohloh, please
> nominate further projects. You can also add the organization as a tag
> to your project contributions (which I've done for my gentoo-x86
> commits).
> 
> Also, if you're an active Ohloh user, let me know if you want to be a
> manager for the Gentoo organization.
> 
> Cheers,
> 
> Dirkjan
> 

Thanks both of you for your work,

justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: intel-sdp.eclass check user license

2012-11-27 Thread justin
Hi,

next patch for intel-sdp.eclass

Problem:
If the intel compiler are installed but no valid license is present,
several buildsystem including cmake generate sandbox violations.

Solution:
Do not let the user install the package without valid license. Its
useless anyway without.
Realized in two checks, first in pkg_pretend check for simple existence
of a license file; second check in pkg_postinst calls for version
informations from compiler (runtime test).
First test is deadly; Second not, because user already intervened
manually to bypass first check and we consider this as
he-knows-what-he-is-doing.

Thanks justin

+# @ECLASS-FUNCTION: big-warning
+# @INTERNAL
+# warn user that we really require a license
+big-warning() {
+case ${1} in
+			pre-check )
+echo ""
+ewarn "License file not found!"
+;;
+test-failed )
+echo
+ewarn "Function test failed. Most probably due to an invalid license."
+ewarn "This means you already tried to bypass the license check once."
+;;
+esac
+
+echo ""
+ewarn "Make sure you have recieved the an Intel license."
+ewarn "To receive a non-commercial license, you need to register at:"
+ewarn "http://software.intel.com/en-us/articles/non-commercial-software-development/";
+ewarn "Install the license file into ${INTEL_SDP_EDIR}/licenses/"
+
+case ${1} in
+pre-check )
+ewarn "before proceeding with installation of ${P}"
+echo ""
+;;
+* )
+echo ""
+;;
+esac
+}
+
+# @ECLASS-FUNCTION: _version_test
+# @INTERNAL
+# Testing for valid license by asking for version information of the compiler
+_version_test() {
+local _comp _comp_full _arch _file _warn
+case ${PN} in
+ifc )
+debug-print "Testing ifort"
+_comp=ifort
+;;
+icc )
+debug-print "Testing icc"
+_comp=icc
+;;
+*)
+die "${PN} is not supported for testing"
+;;
+esac
+
+for _arch in ${INTEL_ARCH}; do
+case ${EBUILD_PHASE} in
+install )
+_comp_full="${ED}/${INTEL_SDP_DIR}/bin/${_arch}/${_comp}"
+;;
+postinst )
+_comp_full="${INTEL_SDP_EDIR}/bin/${_arch}/${_comp}"
+;;
+* )
+ewarn "Compile test not supported in ${EBUILD_PHASE}"
+continue
+;;
+esac
+
+debug-print "LD_LIBRARY_PATH=\"${INTEL_SDP_EDIR}/bin/${_arch}/\" \"${_comp_full}\" -V"
+
+LD_LIBRARY_PATH="${INTEL_SDP_EDIR}/bin/${_arch}/" "${_comp_full}" -V &>/dev/null
+[[ $? -ne 0 ]] && _warn=yes
+done
+[[ "${_warn}" == "yes" ]] && big-warning test-failed
+}
+
+# @ECLASS-FUNCTION: run-test
+# @INTERNAL
+# Test if installed compiler is working
+run-test() {
+case ${PN} in
+ifc | icc )
+_version_test ;;
+* )
+debug-print "No test available for ${PN}"
+;;
+esac
+}
+
+# @ECLASS-FUNCTION: intel-sdp_pkg_pretend
+# @DESCRIPTION:
+# * Check that the user has a (valid) license file before going on.
+#
+# * Check for space requirements being fullfilled
+intel-sdp_pkg_pretend() {
+	local _warn=1 _dirs i _ret arch a p
+
+	: ${CHECKREQS_DISK_BUILD:=256M}
+	check-reqs_pkg_pretend
+
+	_dirs=(
+		"${INTEL_SDP_EDIR}/licenses"
+		"${INTEL_SDP_EDIR}/Licenses"
+		"${EPREFIX}/opt/intel/licenses"
+		)
+	for ((i = 0; i < ${#_dirs[@]}; i++)); do
+		ebegin "Checking for a license in: ${_dirs[$i]}"
+		[[ $( ls "${_dirs[$i]}"/*lic 2>/dev/null ) ]]; _ret=$?
+		eend ${_ret}
+		if [[ ${_ret} == "0" ]]; then
+			_warn=${_ret}
+			break
+		fi
+	done
+	if [[ ${_warn} == "1" ]]; then
+		big-warning pre-check
+		die "Could not find license file"
+	fi
+}

@@ -238,8 +390,12 @@ intel-sdp_pkg_postinst() {
 		echo >> ${INTEL_SDP_DB} \
 			"<:${r%-${_INTEL_PV4}*}-${_INTEL_PV4}:${r}:${INTEL_SDP_EDIR}:${l}:>"
 	done
+	run-test
 }


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: intel-sdp.eclass add USE="examples doc"

2012-11-27 Thread justin
Hi,

next patch for intel-sdp.eclass

Problem:
Documentation and examples are installed on every system. Also japanese
man pages are installed.

Solution:
Use USE.

Thanks justin


@@ -93,13 +97,13 @@ LICENSE="Intel-SDP"
 # Future work, #394411
 #SLOT="${_INTEL_PV1}.${_INTEL_PV2}"
 SLOT="0"
-IUSE="multilib"
+IUSE="doc examples multilib"
 KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"
 
 RESTRICT="mirror"
 
 RDEPEND=""
-DEPEND=">=app-arch/rpm2targz-9.0.0.3g"
+DEPEND="app-arch/rpm2targz"
 
 _INTEL_SDP_YEAR=${INTEL_DPV%_update*}
 _INTEL_SDP_YEAR=${INTEL_DPV%_sp*}
 
+# @ ECLASS-FUNCTION: intel-sdp_src_install
+# @DESCRIPTION:
+# Install everything
 intel-sdp_src_install() {
-	[[ -d ${INTEL_SDP_DIR}/eclipse_support ]] && \
-		has eclipse ${IUSE} && \
-		use eclipse && \
-		intel_link_eclipse_plugins
+	if ! use doc && [[ -d "${INTEL_SDP_DIR}"/Documentation ]]; then
+		ebegin "Cleaning out documentation"
+		find "${INTEL_SDP_DIR}"/Documentation -delete || die
+		eend
+	fi
+	if ! use examples && [[ -d "${INTEL_SDP_DIR}"/Samples ]]; then
+		ebegin "Cleaning out examples"
+		find "${INTEL_SDP_DIR}"/Samples -delete || die
+		eend
+	fi
+	if [[ -d "${INTEL_SDP_DIR}"/eclipse_support ]]; then
+		if has eclipse ${IUSE} && use eclipse; then
+			intel_link_eclipse_plugins
+		else
+			ebegin "Cleaning out eclipse plugin"
+			find "${INTEL_SDP_DIR}"/eclipse_support -delete || die
+			eend
+		fi
+	fi
+
+	if [[ -d "${INTEL_SDP_DIR}"/man ]]; then
+		doman "${INTEL_SDP_DIR}"/man/en_US/man1/*
+		[[ ${LINGUAS} == "*ja_JP*" ]] && \
+			doman -i18n=ja_JP "${INTEL_SDP_DIR}"/man/ja_JP/man1/*
+
+		find "${INTEL_SDP_DIR}"/man -delete || die
+	fi
+
 	einfo "Tagging ${PN}"
 	find opt -name \*sh -type f -exec sed -i \
 		-e "s:<.*DIR>:${INTEL_SDP_EDIR}:g" \
-		'{}' \;
-	mkdir -p "${ED:-${D}}"/ || die
-	mv opt "${ED:-${D}}"/ || die "moving files failed"
-}
+		'{}' + || die
 
+	[[ -d "${ED}" ]] || dodir /
+	mv opt "${ED}"/ || die "moving files failed"
 


signature.asc
Description: OpenPGP digital signature


[gentoo-dev] intel-sdp.eclass new version

2012-11-27 Thread justin
Hi,

here the complete eclass, as requested on irc.

Several minor changes are present:
* Drop numerous blank lines
* Drop Sebastien as maintainer
* Shuffle/Resort variables and functions (without changes)
* Write manpage jingle for everything
* and probably more.

justin
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/intel-sdp.eclass,v 1.4 2012/09/20 
13:54:56 jlec Exp $

# @ECLASS: intel-sdp.eclass
# @MAINTAINER:
# Justin Lecher 
# Sci Team 
# @BLURB: Handling of Intel's Software Development Products package management

# @ECLASS-VARIABLE: INTEL_DID
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package download ID from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. 2504
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_DPN
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package name to download from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. parallel_studio_xe
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_DPV
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package download version from Intel.
# To find out its value, see the links to download in
# https://registrationcenter.intel.com/RegCenter/MyProducts.aspx
#
# e.g. 2011_sp1_update2
#
# Must be defined before inheriting the eclass

# @ECLASS-VARIABLE: INTEL_SUBDIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# The package sub-directory where it will end-up in /opt/intel
# To find out its value, you have to do a raw install from the Intel tar ball

# @ECLASS-VARIABLE: INTEL_RPMS_DIRS
# @DESCRIPTION:
# List of subdirectories in the main archive which contains the
# rpms to extract.
: ${INTEL_RPMS_DIRS:=rpm}

# @ECLASS-VARIABLE: INTEL_X86
# @DESCRIPTION:
# 32bit arch in rpm names
#
# e.g. i484
: ${INTEL_X86:=i486}

# @ECLASS-VARIABLE: INTEL_BIN_RPMS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Functional name of rpm without any version/arch tag
#
# e.g. compilerprof

# @ECLASS-VARIABLE: INTEL_DAT_RPMS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Functional name of rpm of common data which are arch free
# without any version tag
#
# e.g. openmp

# @ECLASS-VARIABLE: INTEL_SDP_DB
# @DESCRIPTION:
# Full path to intel registry db
INTEL_SDP_DB="${EROOT%/}"/opt/intel/intel-sdp-products.db

inherit check-reqs multilib versionator

_INTEL_PV1=$(get_version_component_range 1)
_INTEL_PV2=$(get_version_component_range 2)
_INTEL_PV3=$(get_version_component_range 3)
_INTEL_PV4=$(get_version_component_range 4)
_INTEL_URI="http://registrationcenter-download.intel.com/irc_nas/${INTEL_DID}/${INTEL_DPN}";

SRC_URI="
amd64? ( multilib? ( ${_INTEL_URI}_${INTEL_DPV}.tgz ) )
amd64? ( !multilib? ( ${_INTEL_URI}_${INTEL_DPV}_intel64.tgz ) )
x86?  ( ${_INTEL_URI}_${INTEL_DPV}_ia32.tgz )"

LICENSE="Intel-SDP"
# Future work, #394411
#SLOT="${_INTEL_PV1}.${_INTEL_PV2}"
SLOT="0"
IUSE="doc examples multilib"
KEYWORDS="-* ~amd64 ~x86 ~amd64-linux ~x86-linux"

RESTRICT="mirror"

RDEPEND=""
DEPEND="app-arch/rpm2targz"

_INTEL_SDP_YEAR=${INTEL_DPV%_update*}
_INTEL_SDP_YEAR=${INTEL_DPV%_sp*}

# @ECLASS-VARIABLE: INTEL_SDP_DIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# Full rootless path to installation dir
INTEL_SDP_DIR="opt/intel/${INTEL_SUBDIR}-${_INTEL_SDP_YEAR:-${_INTEL_PV1}}.${_INTEL_PV3}.${_INTEL_PV4}"

# @ECLASS-VARIABLE: INTEL_SDP_EDIR
# @DEFAULT_UNSET
# @DESCRIPTION:
# Full rooted path to installation dir
INTEL_SDP_EDIR="${EROOT%/}/${INTEL_SDP_DIR}"

S="${WORKDIR}"

QA_PREBUILT="${INTEL_SDP_DIR}/*"

# @ECLASS-VARIABLE: INTEL_ARCH
# @DEFAULT_UNSET
# @DESCRIPTION:
# Intels internal names of the arches; will be set at runtime accordingly
#
# e.g. amd64-multilib -> INTEL_ARCH="intel64 ia32"

# @ECLASS-FUNCTION: intel_link_eclipse_plugins
# @DESCRIPTION:
# Creating necessary links to use intel compiler with eclipse
intel_link_eclipse_plugins() {
local c f
pushd ${INTEL_SDP_DIR}/eclipse_support > /dev/null
for c in cdt*; do
local cv=${c#cdt} ev=3.$(( ${cv:0:1} - 1))
if has_version "dev-util/eclipse-sdk:${ev}"; then
einfo "Linking eclipse (v${ev}) plugin cdt (v${cv})"
for f in cdt${cv}/eclipse/features/*; do
dodir /usr/$(get_libdir)/eclipse-${ev}/features
dosym "${INTEL_SDP_EDIR}"/eclipse_support/${f} \
/usr/$(get_libdir)/eclipse-${ev}/features/ || die
done
for f in cdt${cv}/eclipse/plugins/*; do
dodir /usr/$(get_libdir)/eclipse-${ev}/plugins
dosym "${INTEL_SDP_EDIR}"/eclipse_suppo

Re: [gentoo-dev] RFC: intel-sdp.eclass add USE="examples doc"

2012-11-27 Thread justin
On 11/27/12 4:18 PM, Ulrich Mueller wrote:
>>>>>> On Tue, 27 Nov 2012, justin  wrote:
> 
>> next patch for intel-sdp.eclass
> 
>> Problem:
>> Documentation and examples are installed on every system. Also japanese
>> man pages are installed.
> 
>> Solution:
>> Use USE.
> 
>> +[[ ${LINGUAS} == "*ja_JP*" ]] && \
>> +doman -i18n=ja_JP "${INTEL_SDP_DIR}"/man/ja_JP/man1/*
> 
> Since LINGUAS is USE-expanded, shouldn't you rather test for
> "use linguas_ja"?
> 
> Ulrich
> 

You are right, I will check for that.

Thanks for the comment,
Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: intel-sdp.eclass add USE="examples doc"

2012-11-27 Thread justin
On 11/27/12 4:38 PM, Diego Elio Pettenò wrote:
> On 27/11/2012 04:32, justin wrote:
>> Documentation and examples are installed on every system. Also japanese
>> man pages are installed.
> 
> Does the documentation take time to build, or is it an external
> download? If no, don't use a doc USE flag.
> 
> Do the example require to be built? If no, don't use an examples USE flag.

Everything is bundled and doesn't need to be built.
I know your are against USE for installation only purposes, so my
question is why?
The reason I introduced the USE here and in general to use it in similar
locations is that those packages install tons of documentation and
examples, which I personally don't like to waste my diskspace with. What
is wrong to give the user this install only option?

justin

> 
> Japanese man pages are installed by a number of packages, and so are
> Italian and others — you could make them optional with linguas_ja, but
> my suggestion would rather be to keep them and tell people who want to
> have a minimal install to either use localepurge or installmask.
> 





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: intel-sdp.eclass add USE="examples doc"

2012-11-27 Thread justin
On 11/27/12 5:49 PM, Diego Elio Pettenò wrote:
> On 27/11/2012 08:01, justin wrote:
>> The reason I introduced the USE here and in general to use it in similar
>> locations is that those packages install tons of documentation and
>> examples, which I personally don't like to waste my diskspace with. What
>> is wrong to give the user this install only option?
> 
> You could go with "minimal" in that case. How big said documentation
> would be? Over 100M? Because boost's libraries are 100M without debug
> information.
> 
> In general I prefer having everything available by default if it doesn't
> require impossible amount of space, add dependency, or take time to build.
> 
> We have INSTALL_MASK and FEATURES=nodoc if you don't want the
> documentation, after all.
> 

Probably you are right. It's around 25% (60-80MB) which we would save.
As long we make sure things are in places where noman, nodoc and friends
work, it should be fine.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: intel-sdp.eclass check user license

2012-11-27 Thread justin
On 28/11/12 00:04, Mike Frysinger wrote:
> On Tuesday 27 November 2012 07:26:50 justin wrote:
>> next patch for intel-sdp.eclass
> 
> your code has a lot of whitespace damage (leading spaces instead of tabs).  
> you should fix that up.

I am sorry for that and we fix it up. Did some writing on mac where the
editor did magic tab -> whitespace conversion.

> 
>> +# @ECLASS-FUNCTION: big-warning
>> +# @INTERNAL
>> +# warn user that we really require a license
> 
> there should be @DESCRIPTION line before the description
> 

I have overlooked that. Fixed now.

> you can run 
> /usr/portage/app-portage/eclass-manpages/files/eclass-to-manpage.sh 
> against the eclass to check for errors.

Didn't know, that you can run it on single files. Nice to know, Thanks.

> 
> also, just because they're @INTERNAL doesn't mean short names like "big-
> warning" and "run-test" are OK.  your eclass is putting funcs into global 
> scope which can collide with other eclasses/ebuilds and possibly things in 
> $PATH (dejagnu provides a standard program called `runtest`).  best to give 
> them a unique prefix like _isdp_big_warning().

You are right. I will prefix and name them correctly.

> 
>> +_version_test() {
>> +local _comp _comp_full _arch _file _warn
> 
> you've declared the vars all local.  there's no need for the _ prefix.
> 
>> +   for ((i = 0; i < ${#_dirs[@]}; i++)); do
> 
> for dir in "${dirs[@]}" ; do

I can't remember what was my problem, but somehow I didn't manage to
iterate properly over the array. So I looked that up and found this syntax.
But maybe something else was wrong too.


> 
> that avoids indexing dirs constantly
> -mike
> 

thanks for your comments mike,

Jusitn



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: intel-sdp.eclass add USE="examples doc"

2012-11-27 Thread justin
On 28/11/12 00:06, Mike Frysinger wrote:
> On Tuesday 27 November 2012 11:49:52 Diego Elio Pettenò wrote:
>> On 27/11/2012 08:01, justin wrote:
>>> The reason I introduced the USE here and in general to use it in similar
>>> locations is that those packages install tons of documentation and
>>> examples, which I personally don't like to waste my diskspace with. What
>>> is wrong to give the user this install only option?
>>
>> You could go with "minimal" in that case. How big said documentation
>> would be? Over 100M? Because boost's libraries are 100M without debug
>> information.
>>
>> In general I prefer having everything available by default if it doesn't
>> require impossible amount of space, add dependency, or take time to build.
>>
>> We have INSTALL_MASK and FEATURES=nodoc if you don't want the
>> documentation, after all.
> 
> documentation is not the same thing as examples.  if the examples are large 
> (or even if they aren't), then USE=examples is an acceptable approach to 
> filtering.
> -mike
> 

That's exactly my opinion, therefore doc was dropped and examples is
still living.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass cuda.eclass

2012-11-27 Thread justin
On 28/11/12 00:11, Mike Frysinger wrote:
> On Sunday 25 November 2012 11:47:42 Justin wrote:
>> # Copyright 1999-20012 Gentoo Foundation
> 
> it is not yet 20012
> 
> also, this file too has whitespace damage (indenting with spaces)
> 
>> [[ "${CUDA_VERBOSE}" == true ]] && NVCCFLAGS+=" -v"
> 
> wouldn't this be better done in cuda_sanitize ?
> 
>> local _gcc_bindir _ver _args="" _flag _ret
> 
> they're local vars, so you don't need to use _ prefixes
> 
>> if [[ ! $(type -P cuda-config) ]]; then
> 
> it's more common to do something like:
>   if cuda-config --help >/dev/null ; then
> 
> or, you could even inline it with the existing code:
> 
>   if ! args=$(cuda-config -s); then
>   ... eerror/die ...
>   else
>   args=$(version_sort ${args})
>   ...
> 
>>if [[ ! -n ${_args} ]]; then
> 
> use "-z", not "! -n"
> -mike
> 

Thanks for your comments, those are now integrated,

Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] New eclass cuda.eclass

2012-11-28 Thread justin
Please review my inclusion of your suggestions. Additionally I move to
src_prepare to be more binpackage compatible as things are only of
interest at compile time.


commit 366a690925f5cc5e4bdd2ea984d9ccca65d8f996
Author: Justin Lecher 
Date:   Wed Nov 28 11:54:16 2012 +0100

Be bin package friendly

Move standard call of cuda_sanitize to src_prepapere as it isn't need
for bin packages.

Signed-off-by: Justin Lecher 

diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index 08cfb72..beac082 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -110,13 +110,23 @@ cuda_sanitize() {

 # @FUNCTION: cuda_pkg_setup
 # @DESCRIPTION:
-# Sanitise and export NVCCFLAGS by default
+# Call cuda_src_prepare for EAPIs not supporting src_prepare
 cuda_pkg_setup() {
+   cuda_src_prepare
+}
+
+# @FUNCTION: cuda_src_prepare
+# @DESCRIPTION:
+# Sanitise and export NVCCFLAGS by default
+cuda_src_prepare() {
cuda_sanitize
 }

-EXPORT_FUNCTIONS pkg_setup
+
 case "${EAPI:-0}" in
-   0|1|2|3|4|5) ;;
+   0|1)
+   EXPORT_FUNCTIONS pkg_setup ;;
+   2|3|4|5)
+   EXPORT_FUNCTIONS src_prepare ;;
*) die "EAPI=${EAPI} is not supported" ;;
 esac

commit 07b5a629a7f6e9f163e0dfe9c1927010f527508f
Author: Justin Lecher 
Date:   Wed Nov 28 11:24:51 2012 +0100

Fix typo in Copyright year

Signed-off-by: Justin Lecher 

diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index 0b2e084..08cfb72 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-20012 Gentoo Foundation
+# Copyright 1999-2012 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: $


commit 7319422dd7c7427cc741e9bdab2f1211b5af1be4
Author: Justin Lecher 
Date:   Wed Nov 28 11:24:16 2012 +0100

Implemented comments from g-dev review

* Fix whitespacing
* Fix man pages tags
* Try to do things in functions instead of global scope
* remove _ from local variables
* inline check for presents and functionality of cuda-config

Signed-off-by: Justin Lecher 

diff --git a/eclass/cuda.eclass b/eclass/cuda.eclass
index f8ebd81..0b2e084 100644
--- a/eclass/cuda.eclass
+++ b/eclass/cuda.eclass
@@ -13,49 +13,45 @@ inherit toolchain-funcs versionator
 # setting and/or sanitizing NVCCFLAGS, the compiler flags for nvcc. This is
 # automatically done and exported in src_prepare() or manually by calling
 # cuda_sanatize.
-#
-# Common usage:
-#
+# @EXAMPLE:
 # inherit cuda

 # @ECLASS-VARIABLE: NVCCFLAGS
-# DESCRIPTION:
+# @DESCRIPTION:
 # nvcc compiler flags (see nvcc --help), which should be used like
 # CFLAGS for c compiler
 : ${NVCCFLAGS:=-O2}

 # @ECLASS-VARIABLE: CUDA_VERBOSE
-# DESCRIPTION:
+# @DESCRIPTION:
 # Being verbose during compilation to see underlying commands
 : ${CUDA_VERBOSE:=true}

-[[ "${CUDA_VERBOSE}" == true ]] && NVCCFLAGS+=" -v"
-
-# @ECLASS-FUNCTION: cuda_gccdir
+# @FUNCTION: cuda_gccdir
+# @USAGE: [-f]
+# @RETURN: gcc bindir compatible with current cuda, optionally (-f)
prefixed with "--compiler-bindir="
 # @DESCRIPTION:
 # Helper for determination of the latest gcc bindir supported by
 # then current nvidia cuda toolkit.
 #
-# Calling plain it returns simply the path, but you probably want to
add \"-f\""
-# to get the full flag to add to nvcc call.
-#
 # Example:
-#
+# @CODE
 # cuda_gccdir -f
 # -> --compiler-bindir="/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3"
+# @CODE
 cuda_gccdir() {
-   local _gcc_bindir _ver _args="" _flag _ret
+   local gcc_bindir ver args="" flag ret

# Currently we only support the gnu compiler suite
if [[ $(tc-getCXX) != *g++* ]]; then
-ewarn "Currently we only support the gnu compiler suite"
+   ewarn "Currently we only support the gnu compiler suite"
return 2
fi

while [ "$1" ]; do
case $1 in
-f)
-   _flag="--compiler-bindir="
+   flag="--compiler-bindir="
;;
*)
;;
@@ -63,43 +59,46 @@ cuda_gccdir() {
shift
done

-   if [[ ! $(type -P cuda-config) ]]; then
+   if ! args=$(cuda-config -s); then
eerror "Could not execute cuda-config"
eerror "Make sure >=dev-util/nvidia-cuda-toolkit-4.2.9-r1 is 
installed"
die "cuda-config not found"
else
-   _args="$(version_sort $(cuda-config -s))"
-   if [[ ! -n ${_args} ]]; then
+   args=$(version_sort ${args})
+   if [[ -z ${args} ]]; then
die "Could not determine supported gcc versions from 
cu

[gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-28 Thread Justin
Hi,

and another one.

Problem:
Some packages aren't lucky and their buildsystem doesn't create
pkg-config files out of the box.

Solution:
Create them by hand.

Eclass:
Simplifies this by providing a general function for that.

Example:
https://github.com/gentoo-science/sci/blob/pkg-config/sci-libs/mmdb/mmdb-1.24.ebuild

Thanks for comments,
Justin
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

# @ECLASS: pkgconfig.eclass
# @MAINTAINER:
# j...@gentoo.org
# @BLURB: Simplify creation of pkg-config files
# @DESCRIPTION:
# Use this if you buildsystem doesn't create pkg-config files.

inherit multilib

# @ECLASS-VARIABLE: PC_PREFIX
# @REQUIRED
# @DESCRIPTION:
# Offset for current package
: ${PC_PREFIX:="${EPREFIX}/usr"}

# @ECLASS-VARIABLE: PC_EXEC_PREFIX
# @REQUIRED
# @DESCRIPTION:
# Offset for current package
: ${PC_EXEC_PREFIX:="${PC_PREFIX}"}

# @ECLASS-VARIABLE: PC_LIBDIR
# @DESCRIPTION:
# libdir to use
: ${PC_LIBDIR:="${EPREFIX}/usr/$(get_libdir)"}

# @ECLASS-VARIABLE: PC_INCLUDEDIR
# @DESCRIPTION:
# include dir to use
: ${PC_INCLUDEDIR:="${PC_PREFIX}/include"}

# @ECLASS-VARIABLE: PC_NAME
# @DESCRIPTION:
# A human-readable name for the library or package
: ${PC_NAME:=${PN}}

# @ECLASS-VARIABLE: PC_DESCRIPTION
# @DESCRIPTION:
# A brief description of the package
: ${PC_DESCRIPTION:=${DESCRIPTION}}

# @ECLASS-VARIABLE: PC_URL
# @DESCRIPTION:
# An URL where people can get more information about and download the package
: ${PC_URL:=${HOMEPAGE}}

# @ECLASS-VARIABLE: PC_VERSION
# @DESCRIPTION:
# A string specifically defining the version of the package
: ${PC_VERSION:=${PV}}

# @ECLASS-VARIABLE: PC_REQUIRES
# @DEFAULT_UNSET
# @DESCRIPTION:
# A list of packages required by this package. The versions of these packages
# may be specified using the comparison operators =, <, >, <= or >=.

# @ECLASS-VARIABLE: PC_REQUIRES_PRIVATE
# @DEFAULT_UNSET
# @DESCRIPTION:
# A list of private packages required by this package but not exposed to
# applications. The version specific rules from the PC_REQUIRES field also
# apply here.

# @ECLASS-VARIABLE: PC_CONFLICTS
# @DEFAULT_UNSET
# @DESCRIPTION:
# An optional field describing packages that this one conflicts with.
# The version specific rules from the PC_REQUIRES field also apply here.
# This field also takes multiple instances of the same package. E.g.,
# Conflicts: bar < 1.2.3, bar >= 1.3.0.

# @ECLASS-VARIABLE: PC_LIBS
# @DEFAULT_UNSET
# @DESCRIPTION:
# The link flags specific to this package and any required libraries that
# don't support pkg-config. The same rule as PC_CFLAGS applies here.

# @ECLASS-VARIABLE: PC_LIBS_PRIVATE
# @DEFAULT_UNSET
# @DESCRIPTION:
# The link flags for private libraries required by this package but not
# exposed to applications. The same rule as PC_CFLAGS applies here.

# @ECLASS-VARIABLE: PC_CFLAGS
# @DEFAULT_UNSET
# @DESCRIPTION:
# The compiler flags specific to this package and any required libraries
# that don't support pkg-config. If the required libraries support
# pkg-config, they should be added to PC_REQUIRES or PC_REQUIRES_PRIVATE.

# @FUNCTION: create_pkgconfig
# @USAGE: [-p | --prefix PC_PREFIX] [-e | --exec-prefix PC_EXEC_PREFIX] [-L | 
--libdir PC_LIBDIR ] [-I | --includedir PC_INCLUDEDIR ] [-n | --name PC_NAME] 
[-d | --description PC_DESCRIPTION] [-V | --version PC_VERSION] [-u | --url 
PC_URL] [-r | --requires PC_REQUIRES] [--requires-private PC_REQUIRES_PRIVATE] 
[--conflicts PC_CONFLICTS] [-l | --libs PC_LIBS] [--libs-private 
PC_LIBS_PRIVATE] [-c | --cflags PC_CFLAGS] 
# @DESCRIPTION:
# Creates and installs .pc file. Function arguments overrule the global set
# eclass variables. The function should only be executed in src_install().
create_pkgconfig() {
local pcname

[[ "${EBUILD_PHASE}" != "install" ]] && \
die "create_pkgconfig should only be used in src_install()"

while (($#)); do
case ${1} in
-p | --prefix )
shift; PC_PREFIX=${1} ;;
-e | --exec-prefix )
shift; PC_EXEC_PREFIX=${1} ;;
-L | --libdir )
shift; PC_LIBDIR=${1} ;;
-I | --includedir )
shift; PC_INCLUDEDIR=${1} ;;
-n | --name )
shift; PC_NAME=${1} ;;
-d | --description )
shift; PC_DESCRIPTION=${1} ;;
-V | --version )
shift; PC_VERSION=${1} ;;
-u | --url )
shift; PC_URL=${1} ;;
-r | --requires )
shift; PC_REQ

Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-28 Thread justin
On 29/11/12 02:14, Mike Frysinger wrote:
> On Wednesday 28 November 2012 16:49:14 Justin wrote:
>> Problem:
>> Some packages aren't lucky and their buildsystem doesn't create
>> pkg-config files out of the box.
>>
>> Solution:
>> Create them by hand.
> 
> i agree this is a problem.  but i think the only real place to fix this is in 
> the upstream package.  otherwise, the .pc file is largely unused and kind of 
> pointless.  other people have already enumerated more detailed responses, so 
> i'll just leave it at this.
> -mike
> 

Hi,

I will respond here, but this also is addressed to all the other
negative responses.

Let me explain the reason we (sci team) are using manually created .pc
files. And as a side note I totally agree with the statement that pc
file creation should be upstreams business.

Back to the problem. We are mainly using this approach to allow multiple
installations of packages providing BLAS and LAPACK implementations, and
its derivative. Why this? There is a reference implementation, a closed
source intel implementation, optimized versions for speed, a gnu version
and so on, from which the user should be able to choose. Still why we
need a switchable system? I would like to point [1] you to some great
GSOC work from andy which he also present in Praque [2]. He clearly
showed, that different implementations are good for different puposes.
Therefore we need to have different implementations installed in parallel.

Currently we have an eselect module to switch between different
implementations by setting /usr/lib/lib[blas,lapack].so to the selected
implementation.

This has two drawbacks, which some of you might already of hit:
1. They seem to be not completely API/ABI compatible (I don't which one
is correct here. And please don't be nitpicking on this point). So
switching would mean recompilation of all packages linked against it
before, otherwise you might get runtime errors. This takes time and
triggers point 2.

2. As andy showed we should stick with specific implementations for
specific tasks. The current way flattens this out to be optimal for some
and suboptimal for others.

Now, there has been a lot of effort around Andy and Sebastien to solve
this problem. The solution is simple: don't install any libblas.so or
liblapack.so in libdir, but instead make the pkg-config module
eselectable and force packages to used pkg-config. Nearly (I think its
100%) of the packages in the tree already use pkg-config to detect
blas/lapack.

The only remaining problem is on the implementation side. As you can
imagine, this effort is nothing in which the upstreams are really
interested in. Therefore most of our .pc files are created inside the
ebuild. Eventually they will find their way back upstream, but currently
this is something gentoo specific, it's about choices.

The eclass should just be a reduction of redundant code. And of course
its not meant to be a replacement to upstream work on packages with sane
buildsystems. Its just a last resort for corner cases like our
lapack/blas stuff, which do not have any reasonable option.

I hope this clears my intention and makes it reasonable to have this eclass,

justin


1)
https://github.com/andyspiros/numbench/wiki
http://andyspiros.wordpress.com/category/google-summer-of-code/

2)
http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/xml/htdocs/proj/en/miniconf/presentations/miniconf-2012-numbench-spiros.pdf



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 29/11/12 09:48, Gilles Dartiguelongue wrote:
> Le jeudi 29 novembre 2012 à 08:52 +0100, justin a écrit :
>> Currently we have an eselect module to switch between different
>> implementations by setting /usr/lib/lib[blas,lapack].so to the selected
>> implementation.
>>
>> This has two drawbacks, which some of you might already of hit:
>> 1. They seem to be not completely API/ABI compatible (I don't which one
>> is correct here. And please don't be nitpicking on this point). So
>> switching would mean recompilation of all packages linked against it
>> before, otherwise you might get runtime errors. This takes time and
>> triggers point 2.
>>
>> 2. As andy showed we should stick with specific implementations for
>> specific tasks. The current way flattens this out to be optimal for some
>> and suboptimal for others.
>>
>> Now, there has been a lot of effort around Andy and Sebastien to solve
>> this problem. The solution is simple: don't install any libblas.so or
>> liblapack.so in libdir, but instead make the pkg-config module
>> eselectable and force packages to used pkg-config. Nearly (I think its
>> 100%) of the packages in the tree already use pkg-config to detect
>> blas/lapack.
> 
> I think I understand the problem now. You should not patch/generate .pc
> files but install them to an implementation specific subdirectory.
> 

If I get you correctly you are assuming that we have pkgconfig files for
all implementations coming from upstreams. That's not correct, we have
nearly none. So we need to generate them our own. And yes this need to
be sent upstream.

That's the reason for the eclass.

> That way, you just have to append that path to PKGCONFIG_PATH when
> configuring your package using blas and you should be able to
> transparently select which implementation to get without further
> patching of either upstream or downstream packages.
> 

This would mean that the pkg maintainer decides the implementation. But
we leave this choice to the user which works fine. And we have a working
eselect based solution.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 29/11/12 09:52, Michał Górny wrote:
> On Thu, 29 Nov 2012 08:52:01 +0100
> justin  wrote:
> 
>> The only remaining problem is on the implementation side. As you can
>> imagine, this effort is nothing in which the upstreams are really
>> interested in. Therefore most of our .pc files are created inside the
>> ebuild. Eventually they will find their way back upstream, but currently
>> this is something gentoo specific, it's about choices.
>>
>> The eclass should just be a reduction of redundant code. And of course
>> its not meant to be a replacement to upstream work on packages with sane
>> buildsystems. Its just a last resort for corner cases like our
>> lapack/blas stuff, which do not have any reasonable option.
>>
>> I hope this clears my intention and makes it reasonable to have this eclass,
> 
> Nope, it doesn't. If the pkg-config file is created within an ebuild
> (or eclass), it is *completely unsuitable* to go anywhere.
> 
> You should write a template, preferably 'mostly' compatible with
> the build system and put it into FILESDIR. Even if it's going to be
> redundant. This way, we have a simple, ready, clean, constant file
> which can be sent upstream or copied by any other distro. It also makes
> clear that the file is Gentoo-specific.
> 
> 

Just to be clear on some points.

1.
We are _not_ talking about packages like e.g. gnome libs which have
upstreams who know how to work with buildsystem and use sane standard
ones. Those love to accept patches making things smoother.
Most of the sci upstreams are using custom shell scripts or badly
written makefiles. They normal don't get the point in accepting things
from us.

2.
Even if we would directly start working with upstream on a solution, we
would not have something in broad distribution downstream before we all
will retire from gentoo.
(If you like, you can go to intel and tell them to have a buildsystem
which creates the necessary files. This will not happen in near future.)

3.
Most distribution, as they happen to be binary, only build against one
implementation usually the reference. And a significantly large number
even rename their libraries. So no sense to convince them to use
standard pc files. So no need for us to force a solution with upstream
now, before proceeding with gentoo.

We need to think about gentoo now. Therefore a manual creation of those
files is what we are doing now. With or without an eclass.


Now back to your good argument. You are right, we should work with some
sort of template. I think for the reference implementations this can be
realized quite easily, as they moved to cmake quite recently. For most
of the others it will be quite some work. We will take a look into their
buildsystem and see what we can achieve.


Thanks,
Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 29/11/12 14:16, hasufell wrote:
> 
> again, even if there are corner cases which cannot be dealt with in a
> different way...
> 
> having an eclass function like the mentioned one is bad, cause it
> suggests that this is a way to fix things. It's not. Application
> developers running gentoo might think "oh great, there is a pkgconfig
> file for this, so I can use it in my Makefile". Then a Fedora packager
> comes across this package and realizes a compile failure until he
> notices the build system is calling for a pkgconfig file that cannot be
> found anywhere. So he contacts this developer and asks which distro he
> is using.

Standard autotools based packages always use

--with-blas=

so it is pretty simple for us to make it to

--with-blas="$(pkg-config --libs blas)"

same thing goes for cmake and

-DBLAS_LIBRARIES="$(pkg-config --libs blas)"

This game has been played since ever, because blas/lapack are bundled in
more then 80% of the packages using it. So we are used to patch them to
use system libs. So why not making our lives easier by having a
pkg-config option?

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] blas .pc files (was RFC: new eclass - pkgconfig.eclass)

2012-11-29 Thread justin
On 29/11/12 16:51, Ian Stakenvicius wrote:
> On 29/11/12 09:56 AM, justin wrote:
> 
>> Standard autotools based packages always use
> 
>> --with-blas=
> 
>> so it is pretty simple for us to make it to
> 
>> --with-blas="$(pkg-config --libs blas)"
> 
>> same thing goes for cmake and
> 
>> -DBLAS_LIBRARIES="$(pkg-config --libs blas)"
> 
>> This game has been played since ever, because blas/lapack are
>> bundled in more then 80% of the packages using it. So we are used
>> to patch them to use system libs. So why not making our lives
>> easier by having a pkg-config option?
> 
>> justin
> 
> 
> ..ok remind me again what the .pc files provide you?  this is so that
> you can have slotted blas providers and various packages can choose
> their preferred one instead of having to use the eselected one?  or...
> 
> 
> 
> 
> 

Not exactly.
The user can choose for each package newly by eselecting the wanted
implementation. This is the user side. From the pm side we ensure that
the choice is really respected by linking against package specific names
[1] instead of the generic ones e.g. libblas.so. And this can be
achieved in an easy way by using pkg-config.

justin

1)
 # eselect blas set atlas-threads
 # pkg-config --libs blas
-lptf77blas -lm -latlas -lpthread

# eselect blas set reference
# pkg-config --libs blas
-lrefblas




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 29/11/12 17:23, hasufell wrote:
> On 11/29/2012 03:56 PM, justin wrote:
>> On 29/11/12 14:16, hasufell wrote:
>>>
>>> again, even if there are corner cases which cannot be dealt with
>>> in a different way...
>>>
>>> having an eclass function like the mentioned one is bad, cause
>>> it suggests that this is a way to fix things. It's not.
>>> Application developers running gentoo might think "oh great,
>>> there is a pkgconfig file for this, so I can use it in my
>>> Makefile". Then a Fedora packager comes across this package and
>>> realizes a compile failure until he notices the build system is
>>> calling for a pkgconfig file that cannot be found anywhere. So he
>>> contacts this developer and asks which distro he is using.
> 
>> So why not making our lives easier by having a pkg-config option?
> 
> Did you read what you quoted? Are you saying cross distro interfaces
> for accessing libraries in build systems are ok to break?
> Not only are people using foo.pc to compile a package on gentoo, but
> also when writing a build system for "bar" which might link against "foo".
> 
> So having largely unused .pc files is the best case, the worst is
> causing random breakage/annoyance for other distros without even
> knowing, cause yeah... for us it works.
> 

I understand the pros about pc files and the cons about doing it the way
I propose.
_But_, there is no cross distro way which we are disturbing. Every
distro is having its own magic and naming of those libs. That means,
they all patch the buildsystem if needed to use their stuff. The same
way as we do since ever. (And I can tell you, for sci package handling
blas/lapack is one of the simplest tasks)

Our approach is of no interest to 90% or more of the other distros
because it would only work on a source distro which has capabilities of
selecting different implementations at compile time. And the number of
non gentoo derived distros which fullfill this criteria is rather
limited. So no general interest of bringing things back upstream.

We also do not disturb standard non pm builds as they are normally
hardcoding the path to bundled lib or provide a sane autotools/cmake way
to point to the lib.

And currently all ebuilds in the portage are using pkg-config for a long
time, so nothing new here. And nothing non-sci-team members need to
worry about. In fact they never did.

The only thing what happened was, that I had this crazy idea of writing
an eclass to reduce redundant code. This was not about inventing or
implementing something new. That has been done a long time before.

justin




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 29/11/12 17:54, Gilles Dartiguelongue wrote:
> Le jeudi 29 novembre 2012 à 10:07 +0100, justin a écrit :
>> On 29/11/12 09:48, Gilles Dartiguelongue wrote:
>>> Le jeudi 29 novembre 2012 à 08:52 +0100, justin a écrit :
>>>> Currently we have an eselect module to switch between different
>>>> implementations by setting /usr/lib/lib[blas,lapack].so to the selected
>>>> implementation.
>>>>
>>>> This has two drawbacks, which some of you might already of hit:
>>>> 1. They seem to be not completely API/ABI compatible (I don't which one
>>>> is correct here. And please don't be nitpicking on this point). So
>>>> switching would mean recompilation of all packages linked against it
>>>> before, otherwise you might get runtime errors. This takes time and
>>>> triggers point 2.
>>>>
>>>> 2. As andy showed we should stick with specific implementations for
>>>> specific tasks. The current way flattens this out to be optimal for some
>>>> and suboptimal for others.
>>>>
>>>> Now, there has been a lot of effort around Andy and Sebastien to solve
>>>> this problem. The solution is simple: don't install any libblas.so or
>>>> liblapack.so in libdir, but instead make the pkg-config module
>>>> eselectable and force packages to used pkg-config. Nearly (I think its
>>>> 100%) of the packages in the tree already use pkg-config to detect
>>>> blas/lapack.
>>>
>>> I think I understand the problem now. You should not patch/generate .pc
>>> files but install them to an implementation specific subdirectory.
>>>
>>
>> If I get you correctly you are assuming that we have pkgconfig files for
>> all implementations coming from upstreams. That's not correct, we have
>> nearly none. So we need to generate them our own. And yes this need to
>> be sent upstream.
>>
>> That's the reason for the eclass.
>>
>>> That way, you just have to append that path to PKGCONFIG_PATH when
>>> configuring your package using blas and you should be able to
>>> transparently select which implementation to get without further
>>> patching of either upstream or downstream packages.
>>>
>>
>> This would mean that the pkg maintainer decides the implementation. But
>> we leave this choice to the user which works fine. And we have a working
>> eselect based solution.
> 
> No, this means you can then use USE flags to select it which is package
> manager controlled and usually easier to deal with than eselected stuff.
> 

So you mean adding a USE for each implementation to each package which
is using one fo blas/cblas/lapack/clapack/lapacke and all the others
which I forgot?

And in the end, we still would need pc files, because version A of
implementation X could have different library names then version B.





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread justin
On 28/11/12 22:49, Justin wrote:
> Hi,
> 
> and another one.
> 
> Problem:
> Some packages aren't lucky and their buildsystem doesn't create
> pkg-config files out of the box.
> 
> Solution:
> Create them by hand.
> 
> Eclass:
> Simplifies this by providing a general function for that.
> 
> Example:
> https://github.com/gentoo-science/sci/blob/pkg-config/sci-libs/mmdb/mmdb-1.24.ebuild
> 
> Thanks for comments,
> Justin
> 


So, to end this whole thing here, I pull back my request for integration
of this eclass.

Thanks for all the comments, critics and suggestions,

 justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] blas .pc files (was RFC: new eclass - pkgconfig.eclass)

2012-11-29 Thread Justin
On 29.11.2012 21:11, Ralph Sennhauser wrote:
> On Thu, 29 Nov 2012 17:09:34 +0100
> justin  wrote:
> 
>> On 29/11/12 16:51, Ian Stakenvicius wrote:
> [...]
>>> ..ok remind me again what the .pc files provide you?  this is so
>>> that you can have slotted blas providers and various packages can
>>> choose their preferred one instead of having to use the eselected
>>> one?  or...
>>>
>>
>> Not exactly.
>> The user can choose for each package newly by eselecting the wanted
>> implementation. This is the user side. From the pm side we ensure that
>> the choice is really respected by linking against package specific
>> names [1] instead of the generic ones e.g. libblas.so. And this can be
>> achieved in an easy way by using pkg-config.
>>
>> justin
>>
>> 1)
>>  # eselect blas set atlas-threads
>>  # pkg-config --libs blas
>> -lptf77blas -lm -latlas -lpthread
>>
>> # eselect blas set reference
>> # pkg-config --libs blas
>> -lrefblas
>>
> 
> This immediately bears the following questions:
> 
> * How do you ensure the linked against implementation doesn't get
> depcleaned? revdep-rebuild maybe?

portage handles this fine.

> 
> * How do you let users configure the implementation to be used on a per
> package basis? Interrupt an emerge world to set the appropriate
> implementation for the next few packages?
> 

The Standard user will get reference implementation and has no problem.
Setting individual implementation on per package basis needs to be
considered as they-know-what-they-are-doing. Otherwise you don't know
which implementation to choose .



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: RFC: new eclass - pkgconfig.eclass

2012-11-29 Thread Justin
On 30.11.2012 05:37, Duncan wrote:
> hasufell posted on Thu, 29 Nov 2012 14:16:18 +0100 as excerpted:
> 
>> again, even if there are corner cases which cannot be dealt with in a
>> different way...
>>
>> having an eclass function like the mentioned one is bad, cause it
>> suggests that this is a way to fix things. It's not. Application
>> developers running gentoo might think "oh great, there is a pkgconfig
>> file for this, so I can use it in my Makefile". Then a Fedora packager
>> comes across this package and realizes a compile failure until he
>> notices the build system is calling for a pkgconfig file that cannot be
>> found anywhere. So he contacts this developer and asks which distro he
>> is using.
>>
>> This already happened for me multiple times and the answers was
>> "debian".
>>
>> All this sounds like a very dirty workaround and if you need it, then do
>> it, but _don't_ create an eclass, cause it's not a good thing to
>> standardize.
>> These files should _not_ be distro-dependant. Try to find other
>> solutions.
>>
>> -1 for this eclass
> 
> Suggestion/question for Justin, Mike (Spanky), and others.
> 
> Assuming people eventually agree that this is a special case, which I'm 
> beginning to think it might be after reading Justin's arguments, tho I 
> recognize that's not a settled case yet...
> 
> The glibc ebuilds use glibc-specific eblits.  This keeps the glibc-
> specific common code out of the ebuilds (and out of more general purpose 
> eclasses) and in the files dir.
> 
> Obviously that specific solution won't work for the multiple blas/
> whatever packages, since it's single-package/multi-version specific, but 
> is there some variant of it that could work, keeping the code out of 
> eclasses where the not-for-general-purpose solution might be mistakenly 
> thought to be general purpose and get used as such, while still allowing 
> a common to the various *blas/whatever packages solution?
> 
> The best I can come up with is eblits, thus keeping it out of the 
> individual ebuilds, but forcing the eblits to be copied to all the 
> different implementations individually.  Still, that'd save a bit of code 
> between multiple versions of the same package, and a script could be 
> setup that updates all the eblits in the various packages in one go, so 
> it'd be a bit better than having to do it per ebuild.
> 
> But perhaps someone else can improve on that idea...
> 
> Another alternative might be an eclass, but name it something like blas-
> utils or some such, not pkgconfig, thus discouraging inappropriate use, 
> and put in strict warnings and possibly repoman checks, so that only a 
> specific list of packages are allowed to use it.  That list could then be 
> controlled by either the science or QA teams as thought appropriate, thus 
> strictly limiting the spread of this ordinarily inappropriate practice.
> 

Thanks for making thoughts about this issue. Meanwhile I talked back to
my team lead and he told me that the final solution will be without pc
files.
This is work in progress, but it will be pc file free and alos not
bypassing the buildsystem in anyway. But lets wait.

Thanks,
Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] XML Schema files for metadata.xml, projects.xml and repositories.xml, for review and testing

2016-03-06 Thread Justin
On 06/03/16 12:24, Davide Pesavento wrote:
> On Sun, Mar 6, 2016 at 12:04 PM, Michał Górny  wrote:
>> On Sun, 6 Mar 2016 12:01:19 +0100
>> Michał Górny  wrote:
>>
>>> Please test and review. I'm going to reply to this mail with the list
>>> of current metadata.xml validation failures (it's quite long).
>>
>> And here's the list:
>>
> ...
>> /var/db/repos/gentoo/dev-qt/qtmultimedia/metadata.xml:12: element pkg: 
>> Schemas validity error : Element 'pkg': [facet 'pattern'] The value 
>> 'media-libs/gstreamer:1.0' is not accepted by the pattern 
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> /var/db/repos/gentoo/dev-qt/qtmultimedia/metadata.xml:12: element pkg: 
>> Schemas validity error : Element 'pkg': 'media-libs/gstreamer:1.0' is not a 
>> valid value of the atomic type 'pkgType'.
>> /var/db/repos/gentoo/dev-qt/qtmultimedia/metadata.xml:13: element pkg: 
>> Schemas validity error : Element 'pkg': [facet 'pattern'] The value 
>> 'media-libs/gstreamer:0.10' is not accepted by the pattern 
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> /var/db/repos/gentoo/dev-qt/qtmultimedia/metadata.xml:13: element pkg: 
>> Schemas validity error : Element 'pkg': 'media-libs/gstreamer:0.10' is not a 
>> valid value of the atomic type 'pkgType'.
>> /var/db/repos/gentoo/dev-qt/qtmultimedia/metadata.xml fails to validate
>>
>> /var/db/repos/gentoo/dev-qt/qtwebkit/metadata.xml:12: element pkg: Schemas 
>> validity error : Element 'pkg': [facet 'pattern'] The value 
>> 'media-libs/gstreamer:1.0' is not accepted by the pattern 
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> /var/db/repos/gentoo/dev-qt/qtwebkit/metadata.xml:12: element pkg: Schemas 
>> validity error : Element 'pkg': 'media-libs/gstreamer:1.0' is not a valid 
>> value of the atomic type 'pkgType'.
>> /var/db/repos/gentoo/dev-qt/qtwebkit/metadata.xml:13: element pkg: Schemas 
>> validity error : Element 'pkg': [facet 'pattern'] The value 
>> 'media-libs/gstreamer:0.10' is not accepted by the pattern 
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> /var/db/repos/gentoo/dev-qt/qtwebkit/metadata.xml:13: element pkg: Schemas 
>> validity error : Element 'pkg': 'media-libs/gstreamer:0.10' is not a valid 
>> value of the atomic type 'pkgType'.
>> /var/db/repos/gentoo/dev-qt/qtwebkit/metadata.xml fails to validate
>>
> 
> Slots are not accepted in  elements? Is that intentional? If so,
> is there something else we can use?
> 

We should definitely include SLOTs in the allowed syntax.




Re: [gentoo-dev] XML Schema files for metadata.xml, projects.xml and repositories.xml, for review and testing

2016-03-06 Thread Justin
On 06/03/16 18:18, Michał Górny wrote:
>> We should definitely include SLOTs in the allowed syntax.
> 
> Why? What's their use? In fact, does  have any use? Because as I
> see it, it's just some fancy feature that could turn package name into
> link to packages.gentoo.org and nothing more...
> 

Using SLOTs you have more precision in what you are writing. There are
quite a number of packages where SLOTs differ a lot, e.g. grub. So
clearly specifying a SLOT make sense to me.

Take this example


 Install theme for sys-boot/grub:2


Dropping the SLOT here doesn't make sense, as the content of the package
with USE=grub2 won't work for grub-1.

I can assume there are a number of packages where file formats or such
changed between SLOTs, so it makes sense to specify it.



Re: [gentoo-dev] XML Schema files for metadata.xml, projects.xml and repositories.xml, for review and testing

2016-03-06 Thread Justin
On 06/03/16 19:28, Ulrich Mueller wrote:
>>>>>> On Sun, 6 Mar 2016, Michał Górny wrote:
> 
>> On Sun, 6 Mar 2016 19:26:15 +0100
>> Davide Pesavento  wrote:
> 
>>> So I guess we could use the following form when SLOTs are needed:
>>> media-libs/gstreamer:1.0
>>> ?
> 
>> Prolly.
> 
>> Just to be clear, I have no clue what the original use of 
>> was and what the final outcome of this will be. This thread was
>> established mostly in order to determine that. I'd wait for ulm to
>> turn up and have some suggestions ;-).
> 
> :)
> 
> No idea what the original purpose was, but  and  are
> specified in GLEP 56 [1]:
> 
>- Each  XML tag allows 0 or more nested  XML tags whose
>  character data is a valid CP or CPV as defined by the Gentoo
>  Development Manual - Ebuild File Format [2].

Michał, your current syntax breaks with multiple pkg

(sci-libs/metis or sci-libs/parmetis)

results in

metadata.xml:21: element pkg: Schemas validity error : Element 'pkg':
[facet 'pattern'] The value '' is not accepted by the pattern
'[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
metadata.xml:21: element pkg: Schemas validity error : Element 'pkg': ''
is not a valid value of the atomic type 'pkgType'.
metadata.xml:24: element pkg: Schemas validity error : Element 'pkg':
[facet 'pattern'] The value '' is not accepted by the pattern
'[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
metadata.xml:24: element pkg: Schemas validity error : Element 'pkg': ''
is not a valid value of the atomic type 'pkgType'.


Justin



Re: [gentoo-dev] XML Schema files for metadata.xml, projects.xml and repositories.xml, for review and testing

2016-03-06 Thread Justin
On 06/03/16 20:49, Michał Górny wrote:
> On Sun, 6 Mar 2016 20:22:18 +
> "Justin "  wrote:
> 
>> On 06/03/16 19:28, Ulrich Mueller wrote:
>>>>>>>> On Sun, 6 Mar 2016, Michał Górny wrote:  
>>>   
>>>> On Sun, 6 Mar 2016 19:26:15 +0100
>>>> Davide Pesavento  wrote:  
>>>   
>>>>> So I guess we could use the following form when SLOTs are needed:
>>>>> media-libs/gstreamer:1.0
>>>>> ?  
>>>   
>>>> Prolly.  
>>>   
>>>> Just to be clear, I have no clue what the original use of 
>>>> was and what the final outcome of this will be. This thread was
>>>> established mostly in order to determine that. I'd wait for ulm to
>>>> turn up and have some suggestions ;-).  
>>>
>>> :)
>>>
>>> No idea what the original purpose was, but  and  are
>>> specified in GLEP 56 [1]:
>>>
>>>- Each  XML tag allows 0 or more nested  XML tags whose
>>>  character data is a valid CP or CPV as defined by the Gentoo
>>>  Development Manual - Ebuild File Format [2].  
>>
>> Michał, your current syntax breaks with multiple pkg
>>
>> (sci-libs/metis or sci-libs/parmetis)
>>
>> results in
>>
>> metadata.xml:21: element pkg: Schemas validity error : Element 'pkg':
>> [facet 'pattern'] The value '' is not accepted by the pattern
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> metadata.xml:21: element pkg: Schemas validity error : Element 'pkg': ''
>> is not a valid value of the atomic type 'pkgType'.
>> metadata.xml:24: element pkg: Schemas validity error : Element 'pkg':
>> [facet 'pattern'] The value '' is not accepted by the pattern
>> '[A-Za-z0-9_][A-Za-z0-9+_.-]*/[A-Za-z0-9_][A-Za-z0-9+_-]*'.
>> metadata.xml:24: element pkg: Schemas validity error : Element 'pkg': ''
>> is not a valid value of the atomic type 'pkgType'.
> 
> Are you sure about this?
> 
> $ xmllint --noout --schema metadata.xsd 
> /var/db/repos/gentoo/sci-libs/spqr/metadata.xml
> /var/db/repos/gentoo/sci-libs/spqr/metadata.xml validates
> 
> What validator do you use for this?
> 

I was wrong, the output actually meant another line which contains a
. Sorry for the noise.



Re: [gentoo-dev] New gen-b0rk repository specifically for Q/A tools testing

2016-05-05 Thread Justin
On 02/05/2016 12:57 am, M. J. Everitt wrote:
> On 02/05/16 00:53, Brian Dolbec wrote:
>> In order to further improve the chances of Q/A tools catching
>> errors.  I have created a new repo (overlay) which will contain minimal
>> test case ebuilds.  The idea is to have test case ebuilds to run
>> repoman code against.  The outcome of these runs should be comparable
>> to pre-recorded output.  In that way as more code changes are applied
>> as part of the stage3 re-write as well as new test cases and checks to
>> be added to it's capabilities.  It should minimize the bugs introduced
>> in releases.
>>
>> Repoman does have some unit tests, but it is far from 100% coverage.
>> Also with the major structural changes that the code has been
>> undergoing, it is not always possible for the unit tests to be
>> compatible with the new code.
>>
>> This new repository is open to all Gentoo developers to contribute to.
>> All we ask is that you follow some simple common sense rules for adding
>> additional test ebuilds.
>>
>> The repo is located at:
>>
>> https://gitweb.gentoo.org/repo/proj/gen-b0rk.git/
>>
>> Here is the README included in the base directory.
>>
>> This repository is for the primary purpose of testing Q/A tools like repoman.
>>
>> The ebuilds it contains are for testing specific areas of tests that are
>> performed as part of the normal operation of that Q/A tool.
>>
>> This repository is open to all Gentoo developers under the following rules:
>>
>> 1) The master branch is to remain the stable Q/A testing branch.
>>
>> 2) All ebuilds are to be minimal test cases.
>>
>> 3) All ebuilds in it are to have no more than 3 or 4 flaws to detect.
>>This makes it easier to spot errors during code development.  Simply 
>> running
>>repoman in a category should be enough to test everything the module 
>> tests.
>>This excludes some commit only checks which can be run in a local only 
>> branch.
>>
>> 4) All category names are to represent the Q/A category being tested.
>>   ie:
>>   ebuild-test - tests various aspects of the ebuild repoman module
>>   eclass-test - various eclass module tests
>>   ...
>>
>> 5) like the category naming, the package naming will follow the test
>>being performed.
>>ie:
>>eclass-test/live-keywords - test the eclass module 
>> LiveEclassChecks
>>keywords check
>>ebuild-test/invalid - test for invalid package name detection
>>
>> 6) Profiles ... Not sure about this one, but probaly will have masters=gentoo
>>That should ensure it maintains co-ordination with the main gentoo repo.
>>All new or modified eclasses that affect pkg metadata should be validated 
>> in
>>a branch.
>>
>> 7) New module development and test ebuilds will be done in a branch or 
>> personal
>>repo and submitted to the gentoo-portage-dev email list for review and
>>approval to merge into master.
>>NOTE: This rule is lifted for the initial creation and population of
>>  test ebuilds to use to test out the repoman code.  An anouncemnt to
>>  the gentoo-project email list will be made when this initial 
>> population
>>  period is being ended.
>>
>> 8) Signed commits only, also signed-pushes are mandatory
>>
>> 9) The metadata category will get files of validated output that can be used
>>to verify code changes in the various categories and repo wide runs.
>>Diffing the output, should help to verify code changes did not break 
>> anything.
>>
>> 10) See rules 1-9 :-)
>>
> +1 be good to have somewhere central for this stuff :]
> 
We can also run this on our new recruits. :)



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: global USE c++11

2017-01-02 Thread Justin
Hi all

How about making USE="c++11" a global USE?

Description: Build using the C++11 standard.

Current situation:
sci-libs/dealii: Compile the library with -std=c++11
sci-physics/herwig++: Build Herwig++ using the C++11 standard.
sci-astronomy/casacore: Build casacore using the C++11 standard
sci-libs/ceres-solver: Build ceres-solver using the C++11 standard
sci-physics/herwig++: Build Herwig++ using the C++11 standard.
sci-physics/root: Build ROOT using the C++11 standard
sci-physics/thepeg: Build ThePEG using the C++11 standard.
sci-physics/yoda: Build using the C++11 standard


Seems to be very consistent in usage.

Best,
Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: Global USE cuda

2017-01-02 Thread Justin
Hi all

How about making USE=cuda a global USE?

Description: Enable support for nVidia CUDA

Current Situation:
dev-lang/pgi: Install PGI's CUDA components (e.g. for OpenACC)
dev-libs/libflatarray: Enables plugins for NVIDIA GPUs (e.g.
dev-util/VampirTrace: Enable tracing of CUDA calls and GPU kernels.
sci-chemistry/ball: Include cuda support
sci-chemistry/nwchem: Enable CUDA GPU support for the Tensor
sci-libs/arrayfire: Build CUDA backend.
sci-libs/bigdft-abi: Enable support for nVidia CUDA
sci-libs/libgeodecomp: Enables plugins for NVIDIA GPUs (e.g.
sci-libs/trilinos: Add support for cuda (dev-util/nvidia-cuda-toolkit)
sci-misc/kaldi: Build with CUDA support.
sci-physics/abinit: Enable support for nVidia CUDA
sci-physics/bigdft: Enable support for nVidia CUDA GPU acceleration
sys-cluster/openmpi: Add GPU direct support
app-crypt/johntheripper: Use nvidia cuda toolkit for speeding up
dev-libs/libdynd: Enable NVIDIA CUDA toolkit support
dev-libs/libflatarray: Enables plugins for NVIDIA GPUs (e.g.
dev-libs/starpu: Enable NVIDIA CUDA toolkit support
dev-util/nvidia-cuda-sdk: Build CUDA binaries.
media-gfx/blender: Build cycles renderer with nVidia CUDA support.
media-gfx/k3d: Use nvidia cuda toolkit for speeding up computations
media-gfx/nvidia-texture-tools: Enable NVIDIA CUDA toolkit support
media-libs/opencv: Enable NVIDIA Cuda computations support
media-libs/opensubdiv: Enable NVIDIA CUDA Toolkit support through
net-analyzer/suricata: Enable NVIDIA Cuda computations support
net-wireless/pyrit: Enable CUDA support via net-wireless/cpyrit-cuda
sci-chemistry/ball: Include cuda support
sci-chemistry/gromacs: Enable cuda non-bonded kernels
sci-chemistry/vmd: Use nvidia cuda toolkit for speeding up
sci-libs/cholmod: Use nvidia cuda toolkit for speeding up computations
sci-libs/flann: Enable support for nVidia CUDA
sci-libs/pcl: Adds support for NVIDIA CUDA.
sci-libs/suitesparse: Enable nvidia cuda toolkit for speeding up
sci-misc/boinc: Use nvidia cuda toolkit for speeding up computations.
sci-physics/espresso: Enable cuda support
sci-physics/hoomd-blue: Enable cuda non-bonded kernels
sys-apps/hwloc: Enable CUDA device discovery
sys-cluster/openmpi: Add GPU direct support

More or less consistent in enabling CUDA support.

Best,
Justin



signature.asc
Description: OpenPGP digital signature


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

2017-01-03 Thread Justin
On 03/01/2017 08:51, Kristian Fiskerstrand wrote:
> On 01/02/2017 10:34 PM, Justin  wrote:
>>
>> Seems to be very consistent in usage.
> 
> But I'm not convinced it is a correct approach to have use flag changing
> this. First thing that springs to mind is if introducing something like
> that it should be done consistently across Gentoo, so a GLEP. But
> presumably a lot of packages are already built using C++11 without a use
> flag given Qt5.7 requiring it etc.
> 
> If using C++11 enables different features the feature should be the use
> flag rather than C++11. Couldn't this just be determined using Autotools
> etc? What is the gain of the use flag? Immediately it sounds like it
> adds complexity without much gain.
> 

I tried to find some example usages from upstream. Two things I found

* Most upstreams dropped the flag in recent versions
* If present, it is used to append -std=c++11

Probably we should keep it local and wait until it is gone everywhere
upstream.

Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Lastrites: sci-libs/blas-atlas & sci-libs/lapack-atlas

2012-12-13 Thread justin
# Justin Lecher  (5 Dec 2012)
# sci-libs/(lapack/blas)-altas will be removed due to
# fragile build and runtime behaviour #372323.
# Alternatives are sci-libs/lapack-reference & sci-libs/blas-reference.
# Follow up package named sci-libs/atlas can be found in
# sci overlay and will be moved once ready for prime time
sci-libs/blas-atlas
sci-libs/lapack-atlas



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] [gentoo-dev-announce] Lastrites: sci-astronomy/sextractor & sci-astronomy/scamp

2012-12-13 Thread justin
# Sebastien Fabbro  (13 Dec 2012)
# Necessary removal to get rid of very unstable sci-libs/lapack-atlas
# Packages are in the science overlay
# until sci-libs/atlas replacement make it to the main tree
sci-astronomy/sextractor
sci-astronomy/scamp




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Moving our/portage stuff to var

2012-12-17 Thread justin
On 17/12/12 11:23, Diego Elio Pettenò wrote:
> On 17/12/2012 11:19, Tomáš Chvátal wrote:
>>
>> I've always myself override these defaults in make.conf to point for
>> /var/portage/ (not /var/lib because I never bothered enough how to
>> make world and config files to be put elsewhere :P).
> 
> I would say let's work on that so that portage can keep them there.
> Although I'm more for /var/cache/portage myself, as both distfiles and
> tree can be re-generated.
> 

fetch-restricted files are to be considered critical here. Do we want to
force the user to keep them twice? So an additional location which is
not a "cache"?
Of course PORTAGE_RO_DISTDIRS and friends are nice here, but they are
not part of a default setup.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Moving our/portage stuff to var

2012-12-17 Thread justin
On 17/12/12 12:17, Diego Elio Pettenò wrote:
> On 17/12/2012 12:06, justin wrote:
>> fetch-restricted files are to be considered critical here. Do we want to
>> force the user to keep them twice? So an additional location which is
>> not a "cache"?
>> Of course PORTAGE_RO_DISTDIRS and friends are nice here, but they are
>> not part of a default setup.
> 
> I would still think they are cache. I can re-download Oracle's JRE
> binaries; Portage's copy is a cache because I don't need to back it up.
> 

I am more thinking about packages which are not as easy accessible as
JRE. There are a couple sci packages which are distributed on request by
mail other inconvenient methods. Sometimes even not by your own, but by
your PI or other seniors. And even sometimes upstreams doesn't
distribute them anymore at all.





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 03/01/13 00:41, Pacho Ramos wrote:
> What is the purpose of this stuff:
> if [[ ${___ECLASS_ONCE_EUTILS} != "recur -_+^+_- spank" ]] ; then
> ___ECLASS_ONCE_EUTILS="recur -_+^+_- spank"
> 

I don't know exactly sure if this is the source of some recent problems,
but I assume it is.

While fixing some issues, I found a worrisome abnormally.

$ diff -uarN tcl-8.5.13-r*
--- tcl-8.5.13-r1.ebuild2013-01-09 09:05:09.342608806 +0100
+++ tcl-8.5.13-r2.ebuild2013-01-09 09:05:06.132529434 +0100
@@ -4,7 +4,7 @@

 EAPI=4

-inherit versionator autotools eutils flag-o-matic multilib toolchain-funcs
+inherit autotools eutils flag-o-matic multilib toolchain-funcs versionator

 MY_P="${PN}${PV/_beta/b}"


Only _non_ phase function exporting eclasses are used, so the order of
inheriting shouldn't matter. As you can see the only difference is the
place of the versionator.eclass during inheriting. As an result the
package builds completely different. Following diff can be seen during
configuration:

--- tcl-8.5.13-r1/temp/build.log
+++ tcl-8.5.13-r2/temp/build.log

 checking whether to use symlinks for manpages... no
 checking whether to compress the manpages... no
 checking whether to add a package name suffix for the manpages... no
 checking for x86_64-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc
+checking whether the C compiler works... yes
 checking for C compiler default output file name... a.out
-checking whether the C compiler works... yes
+checking for suffix of executables...
 checking whether we are cross compiling... no
-checking for suffix of executables...
 checking for suffix of object files... o
 checking whether we are using the GNU C compiler... yes
 checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
-checking for x86_64-pc-linux-gnu-gcc option to accept ANSI C... none needed
+checking for x86_64-pc-linux-gnu-gcc option to accept ISO C89... none
needed
 checking for inline... inline
 checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
-checking for egrep... grep -E
+checking for grep that handles long lines and -e... /bin/grep
+checking for egrep... /bin/grep -E
 checking for ANSI C header files... yes
 checking for sys/types.h... yes
 checking for sys/stat.h... yes


The changes are small but the shouldn't be there at all, as the ebuilds
are completely equal except for the inheriting order.

Also the internals of the build are affected (probably through the
difference in configure). This leads to disrespected LDFLAGS and broken
tclConfig.sh. So this simple change has deep consequences.


My question, did anybody else might have observed similar things? Is
there a flaw in this *ECLASS_ONCE_* stuff?

Thanks,
Justin




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 10:03, Zac Medico wrote:
> On 01/09/2013 12:40 AM, justin wrote:
>> My question, did anybody else might have observed similar things? Is
>> there a flaw in this *ECLASS_ONCE_* stuff?
> 
> There could well be, but even in the absence of the *ECLASS_ONCE_*
> stuff, the problem that you're describing could be attributed to eclass
> conflicts that cause order of inheritance to make a difference. For
> example, it could be that multilib.eclass definitions conflict with one
> or more other eclasses, as noted here:
> 
>   https://bugs.gentoo.org/show_bug.cgi?id=450988#c1
> 

That could be, but in this case it is a matter of the
versionator.eclass. This means only global scope variables from that
eclass (and I can't find any) would matter and conflict. So I don't
think this is the reason.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 10:26, Diego Elio Pettenò wrote:
> On 09/01/2013 09:40, justin wrote:
>>
>> Also the internals of the build are affected (probably through the
>> difference in configure). This leads to disrespected LDFLAGS and broken
>> tclConfig.sh. So this simple change has deep consequences.
> 
> This looks like the _version_ of autoconf used is different. Is the
> output from the same exact system?
> 

Yes,  I created to revisions of the ebuild, changed the order of
inherits and run ebuild on them directly after one another.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 10:26, Diego Elio Pettenò wrote:
> On 09/01/2013 09:40, justin wrote:
>>
>> Also the internals of the build are affected (probably through the
>> difference in configure). This leads to disrespected LDFLAGS and broken
>> tclConfig.sh. So this simple change has deep consequences.
> 
> This looks like the _version_ of autoconf used is different. Is the
> output from the same exact system?
> 

Okay, did some more debugging and it seems to be not the new singly
inheriting eclass.

Repeating the sequential emerge on different FS I get a completely mixed
result. Sometimes both compile are good, sometimes only one and sometime
none.
Could this be a problem with eautoreconf or is this autotools specifc
problem?

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 12:29, justin wrote:
> On 09/01/13 10:26, Diego Elio Pettenò wrote:
>> On 09/01/2013 09:40, justin wrote:
>>>
>>> Also the internals of the build are affected (probably through the
>>> difference in configure). This leads to disrespected LDFLAGS and broken
>>> tclConfig.sh. So this simple change has deep consequences.
>>
>> This looks like the _version_ of autoconf used is different. Is the
>> output from the same exact system?
>>
> 
> Okay, did some more debugging and it seems to be not the new singly
> inheriting eclass.
> 
> Repeating the sequential emerge on different FS I get a completely mixed
> result. Sometimes both compile are good, sometimes only one and sometime
> none.
> Could this be a problem with eautoreconf or is this autotools specifc
> problem?
> 

I assume it is a portage problem, because the log says autoconf is run
but configure.in didn't change.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 12:44, Diego Elio Pettenò wrote:
> On 09/01/2013 12:39, justin wrote:
>> I assume it is a portage problem, because the log says autoconf is run
>> but configure.in didn't change.
>>
> 
> What do you mean configure.in didn't change but autoconf is run?
> 

the build.log says

Running eautoreconf in
'/home/justin/extData/tmp/portage/dev-lang/tcl-8.5.13-r1/work/tcl8.5.13/unix'
...
Running autoconf ... [ok]
Running autoheader ...[!!]
>>> Source prepared.

I overlooked the failed autoheader, which interesting didn't died
(EAPI=4 ebuild). But autoconf should have been run successfully.

A diff between the original and the two run build's configure.in shows
only a difference by one of the two (in both cases the autoheader failed).


> Does it cause a maintainer-mode rebuild?

interesting not.

> 
> Did you use eautoreconf?
> 

yes



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-09 Thread justin
On 09/01/13 13:40, Diego Elio Pettenò wrote:
> On 09/01/2013 13:35, justin wrote:
>> Running autoheader ...[!!]
> 
> That is unfortunately common...
> 
>> A diff between the original and the two run build's configure.in shows
>> only a difference by one of the two (in both cases the autoheader failed).
> 
> I lost you here... can you attach the build logs?
> 

There are no differences in the build.logs. So nothing to see here.

I found the problem. The patch works on configure and configure.in. If
both files are patched sometimes autoconf doesn't run.
I fixed the patch to only touch .in and everything is fine.

autoconf or eautoconf problem?



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About *ECLASS_ONCE_* stuff at top of some eclasses but not others

2013-01-10 Thread justin
On 11/01/13 05:10, Mike Frysinger wrote:
> On Wednesday 09 January 2013 06:39:37 justin wrote:
>> On 09/01/13 12:29, justin wrote:
>>> On 09/01/13 10:26, Diego Elio Pettenò wrote:
>>>> On 09/01/2013 09:40, justin wrote:
>>>>> Also the internals of the build are affected (probably through the
>>>>> difference in configure). This leads to disrespected LDFLAGS and broken
>>>>> tclConfig.sh. So this simple change has deep consequences.
>>>>
>>>> This looks like the _version_ of autoconf used is different. Is the
>>>> output from the same exact system?
>>>
>>> Okay, did some more debugging and it seems to be not the new singly
>>> inheriting eclass.
>>>
>>> Repeating the sequential emerge on different FS I get a completely mixed
>>> result. Sometimes both compile are good, sometimes only one and sometime
>>> none.
>>> Could this be a problem with eautoreconf or is this autotools specifc
>>> problem?
>>
>> I assume it is a portage problem, because the log says autoconf is run
>> but configure.in didn't change.
> 
> this sounds like bug 417355.  the autom4te.cache dir gets busted (somehow).  
> when autotools runs, it looks at the cache dir, sees that things are up to 
> date, and then doesn't regen any files.
> -mike
> 

Yeah, it was because of the double patching of configure and
configure.in. Cleaning the patch made it work. Interestingly in the
beginning I really could reproduce a correlation between the inherit
order and this breakage. Bad that was false.

Thanks justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] tcl/tk-8.6 incompatibilities

2013-01-11 Thread justin
Hi,

some packages do not build against version 8.6 and show errors like this:

error: 'Tcl_Interp' has no member named 'result'

and

error: 'Tcl_Interp' has no member named 'errorline'

This is due to a removal of an old and deprecated (at least since 2004)
feature.

Here some simple fixes:


Version A (will stop working with tcl/tk-9.0):

append

-DUSE_INTERP_RESULT and/or -DUSE_INTERP_ERRORLINE

to the *FLAGS.



Version B (long lasting and better):

patch code (and send upstream) to use
Tcl_GetResult(), Tcl_GetStringResult(), Tcl_SetResult(),
Tcl_SetStringResult(), Tcl_GetErrorLine()

Examples:

@@ -1980,10 +1980,10 @@ void tcl_run(
 trace = (char *)Tcl_GetVar(interp, "errorInfo", 0);

 if (trace == NULL)
-  trace = interp->result;
+  trace = Tcl_GetStringResult(interp);

 fprintf(stderr, "%s: TCL error @ line %d: %s\n",
-script, interp->errorLine, trace);
+script, Tcl_GetErrorLine(interp), trace);
 }

   Tcl_DeleteInterp(interp);



Some more little facts:

* Please link against libtcl.so and libtk.so instead of libtcl8.6.so and
libtk8.6.
* Version 8.6 supports pkg-config
* Version 8.6 is subslotted.
* Reference bug https://bugs.gentoo.org/show_bug.cgi?id=451368

Thanks justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] tcl/tk-8.6 incompatibilities

2013-01-11 Thread justin
One additional note:

application-specific initialization failed: package not known
invalid command name "auto_mkindex_parser::command"


This comes from a broken dev-lang/tcl-8.6.0. Revision 1 is fixed.

Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Packages up for grabs due spock retirement

2013-01-20 Thread justin
On 1/20/13 11:09 AM, Pacho Ramos wrote:
> dev-python/pycuda

Sci is taking this.



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] tcltk herd has no active maintainer

2013-02-03 Thread Justin
On 03.02.2013 13:48, Pacho Ramos wrote:
> matsuu was its last member but nothing was really being fixed related
> with this herd for a long time.
> 
> If nobody joins this herd in a week, I would vote for moving its
> packages to maintainer-needed
> 

As I took care of packages from that herd, so I will join. But please,
if someone likes to help, please join.

justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: Gentoo GPG key policies

2013-03-14 Thread justin
On 14/03/13 04:50, gro...@gentoo.org wrote:
> Hello *,
> 
> I've followed all the instructions successfully (I think). By the way, the 
> following lines need a small correction:
> 
> perl_ldap -b user -M gpgkey  
> perl_ldap -b user -M gpgfingerprint  
> 
> perl_ldap says that attributes of type multiple cannot be modified. I had 
> to delete these attributes and then create the new ones.
> 
> But my first attempt to do a signed commit has failed:
> 
> Using commit message:
> --
> Version bump
> 
> (Portage version: 2.2.0_alpha166/cvs/Linux i686, signed Manifest commit 
> with key 00C6DAB1!)
> --
> 
> Warning: untrusted X11 forwarding setup failed: xauth key data not 
> generated
> Warning: No xauth data; using fake authentication data for X11 forwarding.
> X11 forwarding request failed on channel 0
> /var/cvsroot/gentoo-x86/dev-lisp/clozurecl/ChangeLog,v  <--  ChangeLog
> new revision: 1.9; previous revision: 1.8
> /var/cvsroot/gentoo-x86/dev-lisp/clozurecl/clozurecl-1.9.ebuild,v  <-- 
> clozurecl-1.9.ebuild
> initial revision: 1.1
> /var/cvsroot/gentoo-x86/dev-lisp/clozurecl/clozurecl-1.7.ebuild,v  <-- 
> clozurecl-1.7.ebuild
> new revision: delete; previous revision: 1.3
>>>> Creating Manifest for /home/gentoo-x86/dev-lisp/clozurecl
> gpg: no default secret key: No secret key
> gpg: /home/gentoo-x86/dev-lisp/clozurecl/Manifest: clearsign failed: No 
> secret key
> !!! !!! gpg exited with '2' status
> !!! Disabled FEATURES='sign'
> Warning: untrusted X11 forwarding setup failed: xauth key data not 
> generated
> Warning: No xauth data; using fake authentication data for X11 forwarding.
> X11 forwarding request failed on channel 0
> /var/cvsroot/gentoo-x86/dev-lisp/clozurecl/Manifest,v  <--  Manifest
> new revision: 1.10; previous revision: 1.9
> 
> Commit complete.
> RepoMan sez: "If everyone were like you, I'd be out of business!"
> 
> What else should I do?
> 

Either use a gpg agent or use a curses based version of pinentry.

Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] kdump

2013-03-27 Thread Justin
Hi all,

if someone is interested in implementing any infrastructure for a more
advanced usage of kdump for gentoo, please contact me.

justin





signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] kdump

2013-03-27 Thread Justin
On 27/03/13 12:40, Rich Freeman wrote:
> On Wed, Mar 27, 2013 at 7:27 AM, Justin  wrote:
>>
>> if someone is interested in implementing any infrastructure for a more
>> advanced usage of kdump for gentoo, please contact me.
>>
> 
> I've blogged a bit about this and wrote the wiki page.  However, the
> last time I actually tried to use kdump it wasn't working.  I don't
> remember the details.  I know I could boot another kernel immediately,
> but if I loaded a crash kernel it wouldn't actually boot on a panic.
> 
> It would be nice to have a more official solution for this on Gentoo.
> I don't mind messing around with it.  I don't have a ton of time but
> if you want to take the lead I can try to pitch in a bit.
> 
> Rich
> 

Hi,

Actually I don't need kdump that's why I asked for some input.

During the version bump today, I saw that fedora is providing lots of
script and services for it. So I thought someone might be interested and
port that to gentoo.

kexec itself is working fine on gentoo.

Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rites: sci-chemistry/talos+

2013-04-08 Thread justin
# Justin Lecher  (09 Apr 2013)
# Fetch fails and mirroring is restricted #465144
=sci-chemistry/talos+-1.2009.1013.14

Please use sci-chemistry/nmrpipe which is in the sci overlay or the
webservice at

http://spin.niddk.nih.gov/bax/nmrserver/talos/



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in media-libs/id3lib: metadata.xml ChangeLog id3lib-3.8.3-r9.ebuild

2013-05-03 Thread Justin
On 03/05/13 19:56, Samuli Suominen wrote:
> On 03/05/13 20:33, Justin Lecher (jlec) wrote:
>> jlec13/05/03 17:33:56
>>
>>Modified: metadata.xml ChangeLog
>>Added:id3lib-3.8.3-r9.ebuild
>>Log:
>>media-libs/id3lib: Fix obsolete macros to work with automake-1.13,
>> #467704; bumped to EAPI=5 and autotools-utils.eclass
>>
>>(Portage version: 2.2.0_alpha173/cvs/Linux x86_64, signed Manifest
>> commit with key 8009D6F070EB7916)
>>
>> Revision  ChangesPath
>> 1.3  media-libs/id3lib/metadata.xml
>>
>> file :
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/metadata.xml?rev=1.3&view=markup
>>
>> plain:
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/metadata.xml?rev=1.3&content-type=text/plain
>>
>> diff :
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/metadata.xml?r1=1.2&r2=1.3
>>
>>
>> Index: metadata.xml
>> ===
>> RCS file: /var/cvsroot/gentoo-x86/media-libs/id3lib/metadata.xml,v
>> retrieving revision 1.2
>> retrieving revision 1.3
>> diff -u -r1.2 -r1.3
>> --- metadata.xml16 Jul 2009 19:18:11 -1.2
>> +++ metadata.xml3 May 2013 17:33:56 -1.3
>> @@ -1,5 +1,5 @@
>>   
>>   http://www.gentoo.org/dtd/metadata.dtd";>
>>   
>> -sound
>> +  sound
>>   
> 
> What's the point of kludging unrelated commits like this one...?

You personally told me, that you want to have metadata.xml indented with
two spaces. Did you change your own style?

> 
>>
>>
>>
>> 1.81 media-libs/id3lib/ChangeLog
>>
>> file :
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/ChangeLog?rev=1.81&view=markup
>>
>> plain:
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/ChangeLog?rev=1.81&content-type=text/plain
>>
>> diff :
>> http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/id3lib/ChangeLog?r1=1.80&r2=1.81
>>
>>
>> Index: ChangeLog
>> ===
>> RCS file: /var/cvsroot/gentoo-x86/media-libs/id3lib/ChangeLog,v
>> retrieving revision 1.80
>> retrieving revision 1.81
>> diff -u -r1.80 -r1.81
>> --- ChangeLog22 Mar 2012 12:33:36 -1.80
>> +++ ChangeLog3 May 2013 17:33:56 -1.81
>> @@ -1,6 +1,13 @@
>>   # ChangeLog for media-libs/id3lib
>> -# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
>> -# $Header: /var/cvsroot/gentoo-x86/media-libs/id3lib/ChangeLog,v 1.80
>> 2012/03/22 12:33:36 ssuominen Exp $
>> +# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
>> +# $Header: /var/cvsroot/gentoo-x86/media-libs/id3lib/ChangeLog,v 1.81
>> 2013/05/03 17:33:56 jlec Exp $
>> +
>> +*id3lib-3.8.3-r9 (03 May 2013)
>> +
>> +  03 May 2013; Justin Lecher  +id3lib-3.8.3-r9.ebuild,
>> +  metadata.xml:
>> +  Fix obsolete macros to work with automake-1.13, #467704; bumped to
>> EAPI=5 and
>> +  autotools-utils.eclass
> 
> There was no reason to use autotools-utils.eclass in the ebuild.

Any reason to not using it?



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rites: sys-fs/aufs2

2013-05-25 Thread Justin
# Justin Lecher  (25 May 2013)
# Upstream dropped support long ago
# Switch to sys-fs/aufs3 or
# sys-kernel/aufs-sources
sys-fs/aufs2



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rite: sci-biology/allpaths

2013-07-16 Thread justin
# Justin Lecher  (17 Jul 2013)
# superseeded by sci-biology/allpathslg
# Upstream wants anybody to move over
sci-biology/allpaths



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: fortran-2.eclass - Support for bin package system without compiler

2013-07-18 Thread Justin
Hello,

I would like to add support for MERGE_TYPE=binary. Therefore I like to
deprecate EAPI < 4 on long term and use MERGE_TYPE now for EAPIs which
support it.

Thanks
Justin

Index: fortran-2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v
retrieving revision 1.18
diff -u -B -b -u -p -r1.18 fortran-2.eclass
--- fortran-2.eclass  18 Jul 2013 07:03:33 -  1.18
+++ fortran-2.eclass  18 Jul 2013 07:06:41 -
@@ -203,11 +203,11 @@ _fortran_test_function() {
   fi
 }

-# @FUNCTION: fortran-2_pkg_setup
+# @FUNCTION: _fortran-2_pkg_setup
+# @INTERNAL
 # @DESCRIPTION:
-# Setup functionallity,
-# checks for a valid fortran compiler and optionally for its openmp
support.
-fortran-2_pkg_setup() {
+# _The_ fortran-2_pkg_setup()
+_fortran-2_pkg_setup() {
   for _f_use in ${FORTRAN_NEEDED}; do
   case ${_f_use} in
   always)
@@ -229,6 +229,29 @@ fortran-2_pkg_setup() {
   done
 }

+
+# @FUNCTION: fortran-2_pkg_setup
+# @DESCRIPTION:
+# Setup functionallity,
+# checks for a valid fortran compiler and optionally for its openmp
support.
+fortran-2_pkg_setup() {
+ if [[ ${EAPI:-0} -lt 4 ]]; then
+ eqawarn "The fortran-2.eclass is going to deprecate support for"
+ eqawarn "EAPI < 4. Please migrate your package to a higher EAPI"
+ eqawarn "or file a bug at https://bugs.gentoo.org";
+ fi
+
+ case ${EAPI:-0} in
+ 0|1|2|3)
+ _fortran-2_pkg_setup ;;
+ 4|5)
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ _fortran-2_pkg_setup
+ fi
+ ;;
+ esac
+}
+
 case ${EAPI:-0} in
   0|1|2|3|4|5) EXPORT_FUNCTIONS pkg_setup ;;
   *) die "EAPI=${EAPI} is not supported" ;;



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: fortran-2.eclass - Support for bin package system without compiler

2013-07-18 Thread Justin
On 18/07/13 09:12, Michał Górny wrote:
>> +
>> +# @FUNCTION: fortran-2_pkg_setup
>> +# @DESCRIPTION:
>> +# Setup functionallity,
>> +# checks for a valid fortran compiler and optionally for its openmp
>> support.
>> +fortran-2_pkg_setup() {
>> + if [[ ${EAPI:-0} -lt 4 ]]; then
> 
> Someone else's going to tell you this, so I'll tell you it first hand:
> EAPI is not guaranteed to be a number and you shouldn't be using
> numerical comparison against it.
> 
> Not that you support any non-numerical EAPI. But then some people who
> fork eclasses in overlays will have to patch it more to support their
> weird EAPIs. And I'm not pointing my finger at anyone in particular.
> 

Doesn't matter to me who is doing crazy things. If I can support it
easily then I will do it.

Next try, which is removes one redundant check.

Thanks for the suggestion.

Index: fortran-2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v
retrieving revision 1.18
diff -u -B -b -u -p -r1.18 fortran-2.eclass
--- fortran-2.eclass  18 Jul 2013 07:03:33 -  1.18
+++ fortran-2.eclass  18 Jul 2013 07:28:12 -
@@ -203,11 +203,11 @@ _fortran_test_function() {
   fi
 }

-# @FUNCTION: fortran-2_pkg_setup
+# @FUNCTION: _fortran-2_pkg_setup
+# @INTERNAL
 # @DESCRIPTION:
-# Setup functionallity,
-# checks for a valid fortran compiler and optionally for its openmp
support.
-fortran-2_pkg_setup() {
+# _The_ fortran-2_pkg_setup()
+_fortran-2_pkg_setup() {
   for _f_use in ${FORTRAN_NEEDED}; do
   case ${_f_use} in
   always)
@@ -229,6 +229,26 @@ fortran-2_pkg_setup() {
   done
 }

+
+# @FUNCTION: fortran-2_pkg_setup
+# @DESCRIPTION:
+# Setup functionallity,
+# checks for a valid fortran compiler and optionally for its openmp
support.
+fortran-2_pkg_setup() {
+ case ${EAPI:-0} in
+ 0|1|2|3)
+ eqawarn "The fortran-2.eclass is going to deprecate support for"
+ eqawarn "EAPI < 4. Please migrate your package to a higher EAPI"
+ eqawarn "or file a bug at https://bugs.gentoo.org";
+ _fortran-2_pkg_setup ;;
+ 4|5)
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ _fortran-2_pkg_setup
+ fi
+ ;;
+ esac
+}
+




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: RFC: fortran-2.eclass - Support for bin package system without compiler

2013-07-18 Thread Justin
On 18/07/13 10:25, Duncan wrote:
> Justin posted on Thu, 18 Jul 2013 09:28:49 +0200 as excerpted:
> 
>> + case ${EAPI:-0} in
>> + 0|1|2|3)
>> + eqawarn "The fortran-2.eclass is going to deprecate support
> 
>   ^^^
> 
> That reads strange to me.  Deprecated doesn't mean it no longer works; it 
> means it's declared obsolete and recommended against but it still works 
> for now, thus giving users a time to migrate.[1]
> 
> So "is going to deprecate" seems strange.  It should be "has deprecated", 
> or rewording a bit more "support is deprecated for" or the like.  Because 
> by the time someone's actually reading that output, the warning is 
> already there; the deprecation has already happened.
> 
> Alternatively, keep the future tense and say "will be removed" or some 
> such, or use a hybrid, "support is deprecated and will be removed".
> 
> ---
> 
> [1] deprecate/deprecation online references:
> http://en.wiktionary.org/wiki/deprecate
> https://en.wikipedia.org/wiki/Deprecation
> http://www.thefreedictionary.com/deprecate
> http://www.google.com/search?q=define:deprecate
> 
As long as there are only wording problems...



Index: fortran-2.eclass
===
RCS file: /var/cvsroot/gentoo-x86/eclass/fortran-2.eclass,v
retrieving revision 1.18
diff -u -B -b -u -p -r1.18 fortran-2.eclass
--- fortran-2.eclass  18 Jul 2013 07:03:33 -  1.18
+++ fortran-2.eclass  18 Jul 2013 08:42:56 -
@@ -203,11 +203,11 @@ _fortran_test_function() {
   fi
 }

-# @FUNCTION: fortran-2_pkg_setup
+# @FUNCTION: _fortran-2_pkg_setup
+# @INTERNAL
 # @DESCRIPTION:
-# Setup functionallity,
-# checks for a valid fortran compiler and optionally for its openmp
support.
-fortran-2_pkg_setup() {
+# _The_ fortran-2_pkg_setup()
+_fortran-2_pkg_setup() {
   for _f_use in ${FORTRAN_NEEDED}; do
   case ${_f_use} in
   always)
@@ -229,6 +229,27 @@ fortran-2_pkg_setup() {
   done
 }

+
+# @FUNCTION: fortran-2_pkg_setup
+# @DESCRIPTION:
+# Setup functionallity,
+# checks for a valid fortran compiler and optionally for its openmp
support.
+fortran-2_pkg_setup() {
+ case ${EAPI:-0} in
+ 0|1|2|3)
+ eqawarn "Support for EAPI < 4 will be removed from the"
+ eqawarn "fortran-2.eclass in near future."
+ eqawarn "Please migrate your package to a higher EAPI"
+ eqawarn "or file a bug at https://bugs.gentoo.org";
+ _fortran-2_pkg_setup ;;
+ 4|5)
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ _fortran-2_pkg_setup
+ fi
+ ;;
+ esac
+}
+
 case ${EAPI:-0} in
   0|1|2|3|4|5) EXPORT_FUNCTIONS pkg_setup ;;
   *) die "EAPI=${EAPI} is not supported" ;;




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Re: RFC: fortran-2.eclass - Support for bin package system without compiler

2013-07-18 Thread Justin
On 18/07/13 17:39, Donnie Berkholz wrote:
> On 10:44 Thu 18 Jul , Justin wrote:
>> +fortran-2_pkg_setup() {
>> + case ${EAPI:-0} in
>> + 0|1|2|3)
>> + eqawarn "Support for EAPI < 4 will be removed from the"
>> + eqawarn "fortran-2.eclass in near future."
>> + eqawarn "Please migrate your package to a higher EAPI"
>> + eqawarn "or file a bug at https://bugs.gentoo.org";
>> + _fortran-2_pkg_setup ;;
> 
> It's more useful if you provide a date here (30+ days from the commit) 
> after which things are no longer guaranteed to work, versus "near 
> future."
> 
> I didn't catch it in your original email — have you run a scan to see 
> how many ebuilds are affected?
> 

I did.

In absolute numbers there per EAPI following consumers

1: 2
2: 24
3: 32
4: 106
5: 71

but there are only 10 packages where there is no version with a
sufficient high EAPI?

Most if not all affected packages are under the control of sci, so that
I can easily manage the transition.

I think I will place the deadline 60 days ahead after committing.
Everybody who likes to see the immediate affect just need to bump the
packages to the correct EAPI?

Justin



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] About suggesting to create a separate partition for portage tree in handbook

2013-07-21 Thread justin
On 7/21/13 4:26 PM, Michael Weber wrote:
> On 07/21/2013 01:42 PM, Pacho Ramos wrote:
>> Would be possible to generate and provide squashed files at the
>> same time tarballs with portage tree snapshots are generated?
>> mksquashfs can take a lot of resources depending on the machine,
>> but providing the squashed images would still benefit people
>> allowing them to download and mount them
> 
> I've establish a cron job on my server to generate gzip and xz
> squashed snapshots. I sync distfiles from utwente at 6:05 and generate
> the squashfs at 6:35 after verifying the gpg signatures.
> There's a 10,5h lag between snapshots and squashfs files - we could
> improve if I'm allowed to sync against master rsync/dinstfiles.
> 
> [1] http://lore.xmw.de/gentoo/genberry/snapshots/
> 
> 

I am creating them as well. Perhaps we can bundle the effort.

What I also found out that using zsync is quite efficient with squashfs
images. I normally don't sync more then 20-30% of the image.

Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] RFC: intel-sdp.eclass - support for absolute location of rpms

2013-07-22 Thread justin
Hi,

this patch adds proper support for rpm location outside the main directory.

The old API only allowed defining the rpm basic name, which gets
combined with the possible subdirs containing rpms.

The new API only allows a single main directory where it expects rpms
in. If there are rpms outside this dir, you need to give the full path.

Thanks for comments,
Justin


--- /local/home/justin/tree/eclass/intel-sdp.eclass 2013-07-19
16:00:50.0 +0200
+++ intel-sdp.eclass2013-07-22 14:02:16.686582103 +0200
@@ -65,11 +65,10 @@
 # Possibility to skip the mandatory check for licenses. Only set this
if there
 # is really no fix.

-# @ECLASS-VARIABLE: INTEL_RPMS_DIRS
+# @ECLASS-VARIABLE: INTEL_RPMS_DIR
 # @DESCRIPTION:
-# List of subdirectories in the main archive which contains the
-# rpms to extract.
-: ${INTEL_RPMS_DIRS:=rpm}
+# Main subdirectory which contains the rpms to extract.
+: ${INTEL_RPMS_DIR:=rpm}

 # @ECLASS-VARIABLE: INTEL_X86
 # @DESCRIPTION:
@@ -84,6 +83,11 @@
 # Functional name of rpm without any version/arch tag
 #
 # e.g. compilerprof
+#
+# if the rpm is located in a directory different to INTEL_RPMS_DIR you can
+# specify the full path
+#
+# e.g. CLI_install/rpm/intel-vtune-amplifier-xe-cli

 # @ECLASS-VARIABLE: INTEL_DAT_RPMS
 # @DEFAULT_UNSET
@@ -92,6 +96,11 @@
 # without any version tag
 #
 # e.g. openmp
+#
+# if the rpm is located in a directory different to INTEL_RPMS_DIR you can
+# specify the full path
+#
+# e.g. CLI_install/rpm/intel-vtune-amplifier-xe-cli-common

 # @ECLASS-VARIABLE: INTEL_SDP_DB
 # @DESCRIPTION:
@@ -328,14 +337,23 @@
INTEL_ARCH="intel64 ia32"
fi
fi
-   INTEL_RPMS=""
+   INTEL_RPMS=()
+   INTEL_RPMS_FULL=()
for p in ${INTEL_BIN_RPMS}; do
-   for a in ${arch}; do
-   INTEL_RPMS+="
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm"
-   done
+   if [ ${p} == $(basename ${p}) ]; then
+   for a in ${arch}; do
+   INTEL_RPMS+=(
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm
)
+   done
+   else
+   INTEL_RPMS_FULL+=(
${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.${a}.rpm )
+   fi
done
for p in ${INTEL_DAT_RPMS}; do
-   INTEL_RPMS+="
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm"
+   if [ ${p} == $(basename ${p}) ]; then
+   INTEL_RPMS+=(
intel-${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm
)
+   else
+   INTEL_RPMS_FULL+=(
${p}-${_INTEL_PV4}-${_INTEL_PV1}.${_INTEL_PV2}-${_INTEL_PV3}.noarch.rpm )
+   fi
done

case "${EAPI:-0}" in
@@ -347,23 +365,31 @@
 # @DESCRIPTION:
 # Unpacking necessary rpms from tarball, extract them and rearrange the
output.
 intel-sdp_src_unpack() {
-   local l r subdir rb t list=()
+   local l r subdir rb t list=() debug_list

for t in ${A}; do
-   for r in ${INTEL_RPMS}; do
-   for subdir in ${INTEL_RPMS_DIRS}; do
-   rpmdir=${t%%.*}/${subdir}
-   debug-print "Adding to decompression list: 
${rpmdir}/${r}"
-   list+=( ${rpmdir}/${r})
-   done
+   for r in ${INTEL_RPMS[@]}; do
+   rpmdir=${t%%.*}/${INTEL_RPMS_DIR}
+   list+=( ${rpmdir}/${r} )
+   done
+
+   for r in ${INTEL_RPMS_FULL[@]}; do
+   list+=( ${t%%.*}/${r} )
done
-   tar xvf "${DISTDIR}"/${t} ${list[@]} &> 
"${T}"/rpm-extraction.log || die
+
+   debug_list="$(IFS=$'\n'; echo ${list[@]} )"
+
+   debug-print "Adding to decompression list:"
+   debug-print ${debug_list}
+
+   tar xvf "${DISTDIR}"/${t} ${list[@]} &> 
"${T}"/rpm-extraction.log
+
for r in ${list[@]}; do
rb=$(basename ${r})
l=.${rb}_$(date +'%d%m%y_%H%M%S').log
einfo "Unpacking ${rb}"
rpm2tar -O ${r} | tar xvf - | sed -e \
-   "s:^\.:${EROOT#/}:g" > ${l} || die "unpacking 
${r} failed"
+   "s:^\.:${EROOT#/}:g" > ${l}; assert "unpacking 
${r} failed"
mv ${l} opt/intel/ || die "failed moving extract log 
file"
done
done




signature.asc
Description: OpenPGP digital signature


[gentoo-dev] "Upgraded" Developer Joachim Bartosik (jbartosik)

2013-08-09 Thread Justin
Hi,

I would like to announce that Joachim Bartosik (jbartosik) just joined
the team as a "full" dev.

He contributed as a staffer before and would like to help now various
areas, among others in the gnome project.

Please give him again a warm welcome.


Justin



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last Rite: sci-libs/mccp4

2013-08-11 Thread Justin
+# Justin Lecher  (11 Aug 2013)
+# Not needed anymore
+# All consumer upstreams moved away from it
+sci-libs/mccp4
+



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] [gentoo-project] New developer: Alexander Berntsen (bernalex)

2014-01-29 Thread justin
Hello everyone,

please join me in giving Alexander (bernalex) a very warm welcome.

When asking for his reason to be become a member of the dev team, he
said among other things "I would be proud to be a Gentoo dev". I like it
very much, that one can still be proud to be part of this team and
community. Let's spread this spirit.

He is joining us as staffer (for now, let's see what the future brings)
to work on portage (the PM) development, where he already contributed code.
He also has been actively helping with Gentoo Haskell, which will be
another region of interest for him.
And finally he also is in contact with the licensing team.

One of the questions we asked him and where we got some impressive
answer, was

What other projects have you contributed to, if any?

Some of the more mentionable ones follows.
bweakfwu
F-Droid
GNU LibreJS
i3
Libregamewiki
LIMBS OFF
ndla
OpenRC
quizbot
Portage
Project Sunrise
PRISM break
reactive-banana


So it seems he loves to contribute to voluntary project, which we
greatly appreciate.

This also resembles in the lines he wrote about himself.

I'm a free software hacker wizard who lives in Norway with my cohabitant
who occasionally bakes me muffins. I have used Gentoo for many years,
and am particularly interested in Portage. My main interests are
hacking, free software, free culture, computer games, interactive
fiction, role-playing games, fantasy literature, science fiction cinema,
anime, music, and cosmology.


Feel very welcome, Alexander,

Justin


P.s. And don't worry, Diego already kindly asked him to not port portage
to haskell ;).





signature.asc
Description: OpenPGP digital signature


  1   2   3   4   >