public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Cc: pacho@gentoo.org
Subject: Re: [gentoo-dev] [PATCH] autotools-multilib: wrapper eclass for multilib builds.
Date: Sun, 23 Sep 2012 13:13:46 +0200	[thread overview]
Message-ID: <20120923131346.0f7eae26@pomiocik.lan> (raw)
In-Reply-To: <1348398236.2085.83.camel@belkin4>

[-- Attachment #1: Type: text/plain, Size: 4684 bytes --]

On Sun, 23 Sep 2012 13:03:56 +0200
Pacho Ramos <pacho@gentoo.org> wrote:

> El dom, 23-09-2012 a las 12:40 +0200, Michał Górny escribió:
> > On Sun, 23 Sep 2012 12:33:58 +0200
> > Pacho Ramos <pacho@gentoo.org> wrote:
> > 
> > > El dom, 23-09-2012 a las 11:56 +0200, Michał Górny escribió:
> > > > On Sun, 23 Sep 2012 11:07:30 +0200
> > > > Thomas Sachau <tommy@gentoo.org> wrote:
> > > > 
> > > > > Matt Turner schrieb:
> > > > > > On Sat, Sep 22, 2012 at 2:24 PM, Michał Górny <mgorny@gentoo.org> wrote:
> > > > > >> It is a simple eclass using autotools out-of-source builds to build
> > > > > >> packages for multiple ABIs when multilib is supported.
> > > > > > 
> > > > > > Thanks a lot, Michał! This looks good to me.
> > > > > > 
> > > > > >> Use case: xorg packages, ask Matt.
> > > > > > 
> > > > > > So the idea is that users want up-to-date 32-bit drivers for games and
> > > > > > WINE. The emul- packages aren't a very good solution for a number of
> > > > > > reasons.
> > > > > > 
> > > > > > I'd like to add multilib USE flags to Mesa and thus its dependencies.
> > > > > > I realized that almost everything in x11-libs/ could be converted very
> > > > > > easily, which would allow us to get rid of emul-linux-x86-xlibs in
> > > > > > addition to emul-linux-x86-opengl.
> > > > > > 
> > > > > > 
> > > > > 
> > > > > This looks like a shortened duplication of a subset of multilib-portage
> > > > > features. While this wont hurt multilib-portage (since it does exclude
> > > > > most actions on ebuilds with USE=multilib), it will mean a rewrite for
> > > > > many ebuilds, which then again need another rewrite (or more likely
> > > > > revert), when multilib-portage is accepted in a future EAPI.
> > > > 
> > > > s/when/if/
> > > > 
> > > > > So i would prefer some help/support with multilib-portage to get it
> > > > > accepted sooner, instead of this additional workaround for a subset of
> > > > > packages.
> > > > 
> > > > I prefer the simpler solution.
> > > > 
> > > > > P.S.: I know, that users, who want up-to-date 32bit drivers for games
> > > > > and wine do use multilib-portage, so we already have a working solution
> > > > > for this issue.
> > > > 
> > > > They will no longer have to do that.
> > > > 
> > > 
> > > I would prefer if eclass way could be extended to packages not using
> > > autotools too, otherwise, we will still need emul packages for, for
> > > example, qt libs. If that would be possible via eclass, maybe
> > > multilib-portage wouldn't be needed but, if not, we will still need it
> > > and, then, would be nice if this inclussion for autotools packages
> > > wouldn't cause more problems to get the "strong" solution land in the
> > > "near" future :/
> > > 
> > > The simpler solution (eclass) looks fine to me, but it would need to be
> > > extended to more packages than autotools based ones to let it replace
> > > portage-multilib/emul packages
> > 
> > Qt uses cmake, doesn't it?
> > 
> > I don't mind having cmake-multilib as well? We could probably move
> > the foreach_abi() function to some more common eclass, like multilib
> > eclass.
> > 
> 
> Looks interesting, yes, it uses cmake. I guess we would need to move all
> packages needing 32bits libs to this eclasses. Are you sure wouldn't be
> better to try to go to an "upper" level like Alexis Ballier suggested
> some messages ago?:
> "On Sat, 22 Sep 2012 23:24:46 +0200
> Michał Górny <mgorny@gentoo.org> wrote:
> 
> > It is a simple eclass using autotools out-of-source builds to build
> > packages for multiple ABIs when multilib is supported.
> >
> 
> to some extent, can't you do the same by unpacking twice to different
> $S and calling src_prepare/compile/install instead of their
> autotools-utils counterpart with tweaked $S so that it works with almost
> every ebuild ?
> 
> -- this really starts to resemble multilib portage :)"
> 
> That would be better as there are a ton of ebuilds not inheritting
> autotools-utils.eclass even being autotools based (think for example in
> gnome packages or many others)

You could fix those ebuilds to inherit it too ;). autotools-utils was
especially designed to use out-of-source builds for multilib
in the future.

I'm afraid the 'upper level' is technically impossible without either
going into PM itself (which means waiting for EAPI 6 at least
and getting some scary logic into it) or reinventing the phases alike
ruby-ng/python-distutils-ng. Well, the latter may be useful to some
degree; still, it would require each ebuild to redefine all phases.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 316 bytes --]

  reply	other threads:[~2012-09-23 11:14 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-22 21:24 [gentoo-dev] [PATCH] autotools-multilib: wrapper eclass for multilib builds Michał Górny
2012-09-22 21:44 ` Luca Barbato
2012-09-22 22:02   ` Michał Górny
2012-09-23  0:46 ` Alexis Ballier
2012-09-23  7:21   ` Michał Górny
2012-09-23 15:47     ` Alexis Ballier
2012-09-23 16:31       ` Michał Górny
2012-09-24 15:17         ` Alexis Ballier
2012-09-24 17:32           ` Michał Górny
2012-09-24 17:53             ` Alexis Ballier
2012-09-24 18:12               ` Michał Górny
2012-09-24 19:16                 ` Alexis Ballier
2012-09-24 20:47                   ` Michał Górny
2012-09-24 21:19                     ` Alexis Ballier
2012-09-24 21:51                       ` Michał Górny
2012-09-24 21:59                         ` Alexis Ballier
2012-09-24 22:10                           ` Michał Górny
2012-09-24 22:22                             ` Alexis Ballier
2012-09-25  0:44                               ` Matt Turner
2012-09-25 11:37                                 ` Alexis Ballier
2012-09-23  1:54 ` Matt Turner
2012-09-23  1:59   ` Diego Elio Pettenò
2012-09-23  3:42     ` Matt Turner
2012-09-23 16:07       ` Diego Elio Pettenò
2012-09-23 16:57         ` Matt Turner
2012-09-23  9:07   ` Thomas Sachau
2012-09-23  9:56     ` Michał Górny
2012-09-23 10:02       ` hasufell
2012-09-23 10:40         ` Michał Górny
2012-09-23 12:05           ` hasufell
2012-09-23 12:30             ` Michał Górny
2012-09-23 17:01         ` Matt Turner
2012-09-23 19:16         ` Zac Medico
2012-09-23 10:33       ` Pacho Ramos
2012-09-23 10:40         ` Michał Górny
2012-09-23 11:03           ` Pacho Ramos
2012-09-23 11:13             ` Michał Górny [this message]
2012-09-23 11:30               ` Pacho Ramos
2012-09-23 11:57                 ` Michał Górny
2012-09-23 14:26               ` Peter Stuge
2012-09-23 16:32                 ` Michał Górny
2012-09-24  3:18           ` Ben de Groot
2012-09-23 11:52         ` Thomas Sachau
2012-09-23 12:18           ` Pacho Ramos
2012-09-23 14:49             ` Thomas Sachau
2012-09-25 13:21               ` Alexis Ballier
2013-01-02 23:25                 ` Pacho Ramos
2013-01-03 10:44                   ` Thomas Sachau
2013-01-14 18:04                     ` Alexis Ballier
2013-01-14 18:45                       ` Michał Górny
2013-01-03  0:14                 ` Peter Stuge
2012-09-23 17:07     ` Matt Turner
2012-09-23 12:30 ` Pacho Ramos
2012-09-23 17:10   ` Matt Turner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120923131346.0f7eae26@pomiocik.lan \
    --to=mgorny@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=pacho@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox