[41395] trunk/dports/devel/autoconf/Portfile

Joshua Root jmr at macports.org
Sat Nov 1 12:15:08 PDT 2008


Ryan Schmidt wrote:
> On Nov 1, 2008, at 13:29, jmr at macports.org wrote:
> 
>> Revision: 41395
>>           http://trac.macports.org/changeset/41395
>> Author:   jmr at macports.org
>> Date:     2008-11-01 11:29:13 -0700 (Sat, 01 Nov 2008)
>> Log Message:
>> -----------
>> autoconf: fix path to perl in dependency
>>
>> Modified Paths:
>> --------------
>>     trunk/dports/devel/autoconf/Portfile
>>
>> Modified: trunk/dports/devel/autoconf/Portfile
>> ===================================================================
>> --- trunk/dports/devel/autoconf/Portfile    2008-11-01 18:05:23 UTC
>> (rev 41394)
>> +++ trunk/dports/devel/autoconf/Portfile    2008-11-01 18:29:13 UTC
>> (rev 41395)
>> @@ -31,7 +31,7 @@
>>                  sha1 f15e14aa34acf871b47f659ef99a2e6707db4a18 \
>>                  rmd160 273448a60bc4dfcfcb3ee455ef012333eeca3256
>>
>> -depends_lib     path:${prefix}/bin/perl:perl5 \
>> +depends_lib     path:bin/perl:perl5 \
>>                  port:m4 \
>>                  port:help2man
> 
> Why remove ${prefix} from the path? That doesn't seem right to me...
> I've always included ${prefix} when defining a path:-style dependency.
> The Guide also shows that the ${prefix} should be there in its lone
> path:-style dependency example:
> 
> http://guide.macports.org/#reference.dependencies.types

Because I noticed that when I upgraded autoconf, it was trying to
install perl5 despite ${prefix}/bin/perl existing due to perl5.8 being
installed, and I therefore went and read the actual code. :-)

Turns out that depspecs are escaped, so variable substitution is not
performed. Additionally, ${prefix} is prepended to any path that doesn't
start with a slash. So it was actually looking for
/opt/local/\${prefix}/bin/perl.

- Josh


More information about the macports-dev mailing list