1 |
El mar, 25-09-2012 a las 10:21 -0300, Alexis Ballier escribió: |
2 |
> On Sun, 23 Sep 2012 16:49:13 +0200 |
3 |
> Thomas Sachau <tommy@g.o> wrote: |
4 |
> |
5 |
> > It is not hard by itself to inherit an eclass. There is just the |
6 |
> > limitation, that occurs with an eclass, e.g.: |
7 |
> > |
8 |
> > -the one from mgorny only does it for autotools based ebuilds only and |
9 |
> > even there only for libraries, headers and binaries are not done. |
10 |
> > While one may create the same for cmake based ones, those are still |
11 |
> > only for a subset of packages, since not all do use autotools/cmake |
12 |
> > or are satisfied with a libs only solution |
13 |
> > -the multilib-native eclass does extend it way more, but still has its |
14 |
> > limitations, e.g. what happens with a new target ABI (like x32 on the |
15 |
> > amd64 profile) or how are dependencies handled? |
16 |
> > |
17 |
> > multilib-portage is the answer to those limitations, since it does |
18 |
> > work for any target with multilib cross-compile support, can handle |
19 |
> > things like the dependencies internally and can even work on not |
20 |
> > prepared/modified ebuilds. |
21 |
> > |
22 |
> > So before i invest even more time in getting this official, we should |
23 |
> > better get to some conclusion, if we either go the route with eclass |
24 |
> > based multilib cross-compile support with its limitations or if we |
25 |
> > move this up to the package manager level. |
26 |
> > |
27 |
> |
28 |
> Can't we get something in between ? |
29 |
> |
30 |
> Unless I'm mistaken, portage-multilib has its limitations also: |
31 |
> |
32 |
> - I have package foo and package bar, both depending on ffmpeg and |
33 |
> canditates for a multilib build. However, package foo does not link to |
34 |
> ffmpeg but simply spawns the 'ffmpeg' binary to process some files, |
35 |
> package bar links to libavcodec. You need ffmpeg[multilib] for a |
36 |
> multilib build of bar but not for foo. How do you distinguish between |
37 |
> the two ? |
38 |
> |
39 |
> - When an out-of-tree build is possible, it is more efficient to do it |
40 |
> that way while multilib-portage will probably run the full src_* |
41 |
> phases twice. mgorny's eclass is a solution to this for |
42 |
> autotools-utils based ebuilds. I have added basic support for this in |
43 |
> freebsd-lib some time ago also. |
44 |
> |
45 |
> |
46 |
> |
47 |
> However, it is clear that USE=multilib is limited too. What we probably |
48 |
> need, as I read in the draft you posted some time ago, is a |
49 |
> MULTILIB_ABI use-expand. Keep a list of all the MULTILIB_ABIs in an |
50 |
> eclass, add them to IUSE of multilib-enabled packages and then you can |
51 |
> use the USE-deps. When a new ABI gets added, add it to the list in the |
52 |
> eclass and be done. You already have PM support for this :) |
53 |
> |
54 |
> You can leverage the generic multilib building code you have to an |
55 |
> eclass, so that you don't need to spec it; spec-ing it has its problems |
56 |
> too: what happens if next year pkg-config is deprecated and now we |
57 |
> shall all use foo-config ? your spec adjusts PKG_CONFIG_PATH but not |
58 |
> FOO_CONFIG_PATH. You probably need a small EAPI change to be able to |
59 |
> implement sanely a generic solution into an eclass though. |
60 |
> |
61 |
> My question to you would be: what are we missing from current EAPIs to |
62 |
> be able to perfectly support multilib builds ? |
63 |
> |
64 |
> A. |
65 |
> |
66 |
> |
67 |
|
68 |
What finally occurred with this? What would be the problem of opting by |
69 |
this "mixed" solution (eclass for some packages and PM features |
70 |
requiring newer eapi for others)? |
71 |
|
72 |
Thanks |