Gentoo Archives: gentoo-dev

From: Pacho Ramos <pacho@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] autotools-multilib: wrapper eclass for multilib builds.
Date: Sun, 23 Sep 2012 11:32:10
Message-Id: 1348399841.2085.87.camel@belkin4
In Reply to: Re: [gentoo-dev] [PATCH] autotools-multilib: wrapper eclass for multilib builds. by "Michał Górny"
1 El dom, 23-09-2012 a las 13:13 +0200, Michał Górny escribió:
2 > On Sun, 23 Sep 2012 13:03:56 +0200
3 > Pacho Ramos <pacho@g.o> wrote:
4 >
5 > > El dom, 23-09-2012 a las 12:40 +0200, Michał Górny escribió:
6 > > > On Sun, 23 Sep 2012 12:33:58 +0200
7 > > > Pacho Ramos <pacho@g.o> wrote:
8 > > >
9 > > > > El dom, 23-09-2012 a las 11:56 +0200, Michał Górny escribió:
10 > > > > > On Sun, 23 Sep 2012 11:07:30 +0200
11 > > > > > Thomas Sachau <tommy@g.o> wrote:
12 > > > > >
13 > > > > > > Matt Turner schrieb:
14 > > > > > > > On Sat, Sep 22, 2012 at 2:24 PM, Michał Górny <mgorny@g.o> wrote:
15 > > > > > > >> It is a simple eclass using autotools out-of-source builds to build
16 > > > > > > >> packages for multiple ABIs when multilib is supported.
17 > > > > > > >
18 > > > > > > > Thanks a lot, Michał! This looks good to me.
19 > > > > > > >
20 > > > > > > >> Use case: xorg packages, ask Matt.
21 > > > > > > >
22 > > > > > > > So the idea is that users want up-to-date 32-bit drivers for games and
23 > > > > > > > WINE. The emul- packages aren't a very good solution for a number of
24 > > > > > > > reasons.
25 > > > > > > >
26 > > > > > > > I'd like to add multilib USE flags to Mesa and thus its dependencies.
27 > > > > > > > I realized that almost everything in x11-libs/ could be converted very
28 > > > > > > > easily, which would allow us to get rid of emul-linux-x86-xlibs in
29 > > > > > > > addition to emul-linux-x86-opengl.
30 > > > > > > >
31 > > > > > > >
32 > > > > > >
33 > > > > > > This looks like a shortened duplication of a subset of multilib-portage
34 > > > > > > features. While this wont hurt multilib-portage (since it does exclude
35 > > > > > > most actions on ebuilds with USE=multilib), it will mean a rewrite for
36 > > > > > > many ebuilds, which then again need another rewrite (or more likely
37 > > > > > > revert), when multilib-portage is accepted in a future EAPI.
38 > > > > >
39 > > > > > s/when/if/
40 > > > > >
41 > > > > > > So i would prefer some help/support with multilib-portage to get it
42 > > > > > > accepted sooner, instead of this additional workaround for a subset of
43 > > > > > > packages.
44 > > > > >
45 > > > > > I prefer the simpler solution.
46 > > > > >
47 > > > > > > P.S.: I know, that users, who want up-to-date 32bit drivers for games
48 > > > > > > and wine do use multilib-portage, so we already have a working solution
49 > > > > > > for this issue.
50 > > > > >
51 > > > > > They will no longer have to do that.
52 > > > > >
53 > > > >
54 > > > > I would prefer if eclass way could be extended to packages not using
55 > > > > autotools too, otherwise, we will still need emul packages for, for
56 > > > > example, qt libs. If that would be possible via eclass, maybe
57 > > > > multilib-portage wouldn't be needed but, if not, we will still need it
58 > > > > and, then, would be nice if this inclussion for autotools packages
59 > > > > wouldn't cause more problems to get the "strong" solution land in the
60 > > > > "near" future :/
61 > > > >
62 > > > > The simpler solution (eclass) looks fine to me, but it would need to be
63 > > > > extended to more packages than autotools based ones to let it replace
64 > > > > portage-multilib/emul packages
65 > > >
66 > > > Qt uses cmake, doesn't it?
67 > > >
68 > > > I don't mind having cmake-multilib as well? We could probably move
69 > > > the foreach_abi() function to some more common eclass, like multilib
70 > > > eclass.
71 > > >
72 > >
73 > > Looks interesting, yes, it uses cmake. I guess we would need to move all
74 > > packages needing 32bits libs to this eclasses. Are you sure wouldn't be
75 > > better to try to go to an "upper" level like Alexis Ballier suggested
76 > > some messages ago?:
77 > > "On Sat, 22 Sep 2012 23:24:46 +0200
78 > > Michał Górny <mgorny@g.o> wrote:
79 > >
80 > > > It is a simple eclass using autotools out-of-source builds to build
81 > > > packages for multiple ABIs when multilib is supported.
82 > > >
83 > >
84 > > to some extent, can't you do the same by unpacking twice to different
85 > > $S and calling src_prepare/compile/install instead of their
86 > > autotools-utils counterpart with tweaked $S so that it works with almost
87 > > every ebuild ?
88 > >
89 > > -- this really starts to resemble multilib portage :)"
90 > >
91 > > That would be better as there are a ton of ebuilds not inheritting
92 > > autotools-utils.eclass even being autotools based (think for example in
93 > > gnome packages or many others)
94 >
95 > You could fix those ebuilds to inherit it too ;). autotools-utils was
96 > especially designed to use out-of-source builds for multilib
97 > in the future.
98 >
99 > I'm afraid the 'upper level' is technically impossible without either
100 > going into PM itself (which means waiting for EAPI 6 at least
101 > and getting some scary logic into it) or reinventing the phases alike
102 > ruby-ng/python-distutils-ng. Well, the latter may be useful to some
103 > degree; still, it would require each ebuild to redefine all phases.
104 >
105
106 Then, I think that main blocker to use autotools-utils.eclass more
107 widely is that it needs at least eapi2, then, I am unsure if all
108 packages currently shipped in emul packages could bump their eapi due
109 compat with old systems.

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies