1 |
On Fri, Mar 23, 2012 at 12:02 PM, Ciaran McCreesh |
2 |
<ciaran.mccreesh@××××××××××.com> wrote: |
3 |
> On Fri, 23 Mar 2012 11:58:47 -0400 |
4 |
> Mike Gilbert <floppym@g.o> wrote: |
5 |
>> > oasis_src_compile() { |
6 |
>> > oasis_src_compile_no_doc |
7 |
>> > if has doc ${IUSE} && use doc; then |
8 |
>> > ocaml setup.ml -doc || die |
9 |
>> > fi |
10 |
>> > } |
11 |
>> |
12 |
>> This should probably call use_if_iuse from eutils.eclass, which |
13 |
>> handles IUSE="[+-]doc". |
14 |
> |
15 |
> Actually, neither way works. The spec says: |
16 |
> |
17 |
> Global variables must only contain invariant values |
18 |
> (see~\ref{sec:metadata-invariance}). If a global variable's value is |
19 |
> invariant, it may have the value that would be generated at any |
20 |
> given point in the build sequence. |
21 |
> |
22 |
> So you can't rely upon IUSE having the "merged" value in an eclass. |
23 |
> |
24 |
|
25 |
use_if_iuse is called from functions in several eclasses already in |
26 |
the tree. See chromium, kde4-base, qt4-build, and toolchain. |
27 |
|
28 |
Are all of these usages incorrect? Do you have an alternate solution? |