Gentoo Archives: gentoo-dev

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

Attachments

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

Replies