1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 23/03/12 12:02 PM, Ciaran McCreesh wrote: |
5 |
> On Fri, 23 Mar 2012 11:58:47 -0400 Mike Gilbert |
6 |
> <floppym@g.o> wrote: |
7 |
>>> oasis_src_compile() { oasis_src_compile_no_doc if has doc |
8 |
>>> ${IUSE} && use doc; then ocaml setup.ml -doc || die fi } |
9 |
>> |
10 |
>> This should probably call use_if_iuse from eutils.eclass, which |
11 |
>> handles IUSE="[+-]doc". |
12 |
> |
13 |
> Actually, neither way works. The spec says: |
14 |
> |
15 |
> Global variables must only contain invariant values |
16 |
> (see~\ref{sec:metadata-invariance}). If a global variable's value |
17 |
> is invariant, it may have the value that would be generated at any |
18 |
> given point in the build sequence. |
19 |
> |
20 |
> So you can't rely upon IUSE having the "merged" value in an |
21 |
> eclass. |
22 |
> |
23 |
|
24 |
I don't know if I follow this one or not. When inheriting an eclass, |
25 |
all entities within the eclass get merged into the ebuild. As long as |
26 |
there aren't any special conditional tricks being used to assign to |
27 |
global variables like IUSE, it would still be invariant wouldn't it? |
28 |
|
29 |
I think 'any point in the build sequence' is still |
30 |
post-eclass-inheritance isn't it? |
31 |
|
32 |
|
33 |
|
34 |
-----BEGIN PGP SIGNATURE----- |
35 |
Version: GnuPG v2.0.17 (GNU/Linux) |
36 |
|
37 |
iF4EAREIAAYFAk9soW8ACgkQAJxUfCtlWe1UJQEAuTQriXmsu6YKcpeADGusTNdZ |
38 |
k8Vr99LdEFwyXicZHMsBAN2bo95GvLvdrpVEj8h1THQ4HMZDvPRx0o/yrWzjxGNZ |
39 |
=+e3P |
40 |
-----END PGP SIGNATURE----- |