1 |
Dirkjan Ochtman wrote: |
2 |
> On Mon, Jun 27, 2011 at 15:08, Fabian Groffen <grobian@g.o> wrote: |
3 |
>> On 27-06-2011 14:28:34 +0200, Dirkjan Ochtman wrote: |
4 |
>> It would be nice when a similar technique could be implemented only |
5 |
>> once, in a consistent way. In a way, multilib-portage can be considered |
6 |
>> equal to one of the objectives of the python (and ruby) eclass: |
7 |
>> multiple times compiling and installing for different ABIs. |
8 |
> |
9 |
> Yeah, but it'd be nice not to have to compile subversion three times |
10 |
> just because we want the python bindings installed in three different |
11 |
> Python environments. |
12 |
|
13 |
You wont be able to prevent this with a general solution, only with some specialized solution inside |
14 |
the build, if you really want and need that. |
15 |
Currently, if you want python bindings for three different python environments, you will have to |
16 |
build everything for all three python environments, even if you only need a subset. Moving to a |
17 |
similar system like ruby, in the long term maybe based on a general PM-implementation, would users |
18 |
at least allow to select the targets per package and not just global like now. |
19 |
|
20 |
> On Mon, Jun 27, 2011 at 17:53, Petteri Räty <betelgeuse@g.o> wrote: |
21 |
>> I like the ruby approach for the reason that it doesn't require users to |
22 |
>> run update scripts like python-updater. |
23 |
> |
24 |
> Sure, but if that means the developers now have to bump every package |
25 |
> in the tree when a new version of Python comes out, I'm not sure |
26 |
> that's the best trade-off. |
27 |
|
28 |
For multilib-portage, packages dont need to define the possible cross-compile targets, they have all |
29 |
possible options in the USE flag list. Something similar could be done for this case: |
30 |
|
31 |
Simplified: Define the range of supported python versions in the dependency section and allow the |
32 |
eclass or PM to sort out the rest (you of course need a bit more, but this should be the only |
33 |
required dependency/python-version related part). |