On Sun, 2010-06-06 at 12:40 +0200, Thomas Sachau wrote:

> Every package defines the language(s), where it could be installed for 
> multiple slots, e.g.:
> 
> MULTI_SLOT="python" or
> MULTI_SLOT="python ruby"
> 
> Additionally, it should define the supported slots, something like this:
> 
> SUPPORTED_RUBY_SLOTS="1.8 1.9" or
> SUPPORTED_PYTHON_SLOTS="2.5 2.6 3.0 3.1"
> 
> Now the package manager should take those vars and convert them to some 
> expanded USE vars like:
> 
> RUBY_SLOTS="1.8 1.9" or
> PYTHON_SLOTS="2.5 2.6 3.0 3.1"
> 
> By default, the current active version should be enabled, the others 
> disabled. In addition, every
> dependency, which requires ruby/python should get internal usedeps, so that 
> they require the same
> slots as this package. Every enabled slot should of course pull in that slot 
> of the language.

Something like this is already implemented for ruby. See our
ruby-ng.eclass for details. Note that thinking in terms of slots here is
too limiting. For ruby we currently have four targets, two of which are
slotted versions of the same implementation, and two of which are
independent implementations.

> I currently have a branch of portage ("multilib-portage"), which can install 
> a package for different
> platforms, it could be extended to implement the above idea and i plan to do 
> that. Since i am the
> only person working on it and me only having limited time and knowledge, it 
> could still take some
> time, if noone else wants to step in and help with it.

It might be nice to have generic support for this, especially in light
of packages that have bindings in multiple languages. Please have a look
at ruby-ng.eclass to see our current requirements and feel free to drop
by in #gentoo-ruby for further discussion if needed.

Hans

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

Reply via email to