setting a variable in a variant for later use
Joshua Root
jmr at macports.org
Thu Oct 18 08:54:08 PDT 2012
On 2012-10-19 02:49 , Jonathan Stickel wrote:
> On 10/18/12 09:35 , Joshua Root wrote:
>> On 2012-10-19 02:16 , Jeremy Lavergne wrote:
>>>> I am trying to set a variable in a variant for later use in
>>>> another variant, but I am getting errors that the variable does
>>>> not exist. Here are the relevant lines:
>>>
>>> Try wrapping your code in "if {[variant_isset ...]} {...}" rather
>>> than inside a variant block--much like how default_variants is used
>>> in your code.
>>
>> That's probably the best approach, since variants aren't guaranteed
>> to be evaluated in any particular order.
>>
>> - Josh
>>
>
> Thanks for the prompt, although terse, responses. I am not sure I
> follow. It seems like this would create verbose, nested variants, which
> I was hoping to avoid. Can you provide a simple example?
variant python26 conflicts python27 description {Configure to use Python
version 2.6} {}
variant python27 conflicts python26 description {Configure to use Python
version 2.7} {}
if { ![variant_isset python26] } {
default_variants +python27
}
if {[variant_isset python26]} {
set python.version 26
} elseif {[variant_isset python27]} {
set python.version 27
}
variant tkinter description {use py-tkinter backend} {
depends_lib-append port:py${python.version}-tkinter
}
variant pygtk description {use py-gtk backend} {
depends_lib-append port:py${python.version}-gtk
}
default_variants-append +pygtk
More information about the macports-dev
mailing list