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 |