fetch aliases?
Ryan Schmidt
ryandesign at macports.org
Tue May 12 22:15:52 PDT 2009
On May 11, 2009, at 13:37, Darren Weber wrote:
> I'm getting a little confused. There must be some discussion of
> this in another thread. It may be that in some places I've defined
> a variable within a variant and it doesn't pass into the post-
> destroot of that variant, so even though the syntax appears to wrap
> the post-destroot within the variant, that's not actually what
> happens. That is, this fails:
>
> variant foo {
> set myPortLibPath ${prefix}/lib/myPort
> configure.args-append LIB=${myPortLibPath}
> ...
> post-destroot {
> move ${build.dir}/bin/*.dylib ${myPortLibPath}
> }
> }
I can see that it can be confusing.
What is happening is that within the variant you are declaring and
setting a local variable (myPortLibPath). That variable ceases to
exist once the variant has been processed. Yes, your variant lists a
post-destroot phase, but all MacPorts does at the time that it parses
the variant is to add that post-destroot phase to its list of things
to do at post-destroot time. By the time that code actually gets
executed, the myPortLibPath has long since gone out of scope.
> However, I think what your saying is that this works for both the
> variant and the post-destroot, without global:
>
> set myPortLibPath ${prefix}/lib/myPort
>
> variant foo {
> configure.args-append LIB=${myPortLibPath}
> ...
> post-destroot {
> move ${build.dir}/bin/*.dylib ${myPortLibPath}
> }
> }
Yes, that will work, because here you are declaring myPortLibPath as
a global variable, so it is available everywhere.
I don't know whether the current behavior should be considered a bug,
but at least, that is how it behaves, so now you know.
More information about the macports-dev
mailing list