1 |
On Sun, 2010-06-06 at 12:40 +0200, Thomas Sachau wrote: |
2 |
|
3 |
> Every package defines the language(s), where it could be installed for multiple slots, e.g.: |
4 |
> |
5 |
> MULTI_SLOT="python" or |
6 |
> MULTI_SLOT="python ruby" |
7 |
> |
8 |
> Additionally, it should define the supported slots, something like this: |
9 |
> |
10 |
> SUPPORTED_RUBY_SLOTS="1.8 1.9" or |
11 |
> SUPPORTED_PYTHON_SLOTS="2.5 2.6 3.0 3.1" |
12 |
> |
13 |
> Now the package manager should take those vars and convert them to some expanded USE vars like: |
14 |
> |
15 |
> RUBY_SLOTS="1.8 1.9" or |
16 |
> PYTHON_SLOTS="2.5 2.6 3.0 3.1" |
17 |
> |
18 |
> By default, the current active version should be enabled, the others disabled. In addition, every |
19 |
> dependency, which requires ruby/python should get internal usedeps, so that they require the same |
20 |
> slots as this package. Every enabled slot should of course pull in that slot of the language. |
21 |
|
22 |
Something like this is already implemented for ruby. See our |
23 |
ruby-ng.eclass for details. Note that thinking in terms of slots here is |
24 |
too limiting. For ruby we currently have four targets, two of which are |
25 |
slotted versions of the same implementation, and two of which are |
26 |
independent implementations. |
27 |
|
28 |
> I currently have a branch of portage ("multilib-portage"), which can install a package for different |
29 |
> platforms, it could be extended to implement the above idea and i plan to do that. Since i am the |
30 |
> only person working on it and me only having limited time and knowledge, it could still take some |
31 |
> time, if noone else wants to step in and help with it. |
32 |
|
33 |
It might be nice to have generic support for this, especially in light |
34 |
of packages that have bindings in multiple languages. Please have a look |
35 |
at ruby-ng.eclass to see our current requirements and feel free to drop |
36 |
by in #gentoo-ruby for further discussion if needed. |
37 |
|
38 |
Hans |