Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: ssuominen@g.o
Subject: Re: [gentoo-dev] New eclass: autotools-multilib-minimal
Date: Sun, 24 Feb 2013 18:56:08
Message-Id: 20130224195612.01a7e528@pomiocik.lan
In Reply to: Re: [gentoo-dev] New eclass: autotools-multilib-minimal by Samuli Suominen
1 On Sun, 24 Feb 2013 18:58:08 +0200
2 Samuli Suominen <ssuominen@g.o> wrote:
3
4 > On 24/02/13 17:53, Michał Górny wrote:
5 > >> I still try to use plain ebuilds without
6 > >> inheritting autotools-utils.eclass as I usually don't need it, probably
7 > >> others do the same and refuse to have to inherit it only for multilib
8 > >> support :/ How do you plan to solve this problem?
9 > >
10 > > You generally have two options on doing multilib builds: either using
11 > > out-of-source builds or in-source builds. If you decide on the latter,
12 > > you unnecessarily waste users' time and disk space to create two more
13 > > copies of sources. I don't think we should go this way.
14 > >
15 > > If you decide on out-of-source builds, you basically need proper
16 > > src_{configure,compile,test,install} and that's what autotools-utils
17 > > does. Plus:
18 > >
19 > > - patch applying and autoreconf in src_prepare() -- which are
20 > > completely optional, you are free to write your own src_prepare().
21 > > If you wanted to apply patches by hand, you'd need to write
22 > > src_prepare() anyway.
23 >
24 > It's that "Plus" part that is my problem with autotools-multilib.eclass
25 > currently, it adds EXPORT_FUNCTIONS of src_prepare() from
26 > autotools-utils.eclass which is irrelevant to the autotools-multilib.eclass
27 > adds just another eclass/phase function to worry about for inherit order
28
29 I understand your concern but I see no way around it. The alternative
30 solution exports src_prepare() as well to copy the sources -- so it's
31 even more to worry about than the no-op-by-default.
32
33 > > - prune_libtool_files in src_install() which most people want to do
34 > > anyway, so that doesn't hurt -- and the pkg-config dep is going to
35 > > be removed, by the patch I sent already.
36 >
37 > but lacks a way to pass arguments to prune_libtool_files, like --all,
38 > since prune_libtool_files isn't that smart it gets it right everytime
39 > i propably prefer to stick to manually calling it with or without --all
40 > and well, this is not related to the multilib conversion so it shouldn't
41 > be executed anyway
42
43 I can add the ability to pass arguments. So far, hasn't considered it
44 necessary since the single run doesn't really hurt anything noticeably.
45
46 > > - adding libtool args for shared/static libs if IUSE=static-libs --
47 > > which I wanted to remove but people considered it useful.
48 >
49 > if it's not related to the multilib conversion, it shouldn't be executed...
50
51 It's not about multilib conversion solely.
52
53 Multilib conversion requires out-of-source build support. Out-of-source
54 build support is established using autotools-utils. The logical
55 conversion order is to:
56
57 1) convert the ebuild to autotools-utils, make sure that out-of-source
58 builds work,
59
60 2) convert the ebuild to autotools-multilib.
61
62 Some of my conversions actually follow that split, providing two
63 patches instead of one.
64
65 --
66 Best regards,
67 Michał Górny

Attachments

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

Replies

Subject Author
Re: [gentoo-dev] New eclass: autotools-multilib-minimal hasufell <hasufell@g.o>