On Tue, Jul 09, 2013 at 06:39:48PM +0200, Mojca Miklavec wrote:
> subport foo-${foo.version} {
> pre-fetch {
> system "echo ${foo.version}"
> }
> fetch {}
> extract {}
> use_configure no
> build {}
> destroot {}
> }
The contents of the pre-fetch block are not expanded when defining it.
Consider the pre-fetch block to work like this:
pre-fetch "a string that will be executed pre-fetch. At this point, it does
not matter whether the contents are valid Tcl."
This explains the result: the last value for foo.version is 4.1, which
is still in the variable when the pre-fetch block is evaluated. I've
stumbled on this a couple of times, too, and haven't yet found a good
solution. A solution that works is forcing variable substitution on the
whole pre-fetch block, e.g. using:
eval "pre-fetch { system \"echo ${foo.version}\" }"
with all the ugly quoting that will be caused by this.
--
Clemens Lang
_______________________________________________
macports-dev mailing list
[email protected]
https://lists.macosforge.org/mailman/listinfo/macports-dev