On Dec 16, 2012, at 14:49, Craig Treleaven wrote:
> At 12:10 AM +1100 12/17/12, Joshua Root wrote:
>> On 2012-12-16 19:46 , vincent habchi wrote:
>>> Some scripts of a port I'm trying to set up use #!/usr/bin/env python, 
>>> which seem to always point to Apple's python. Which environment variable 
>>> have I to change so that 'env' will return a MacPorts python instead?
>> 
>> There is no environment variable that will help here; 'python' is not
>> guaranteed to be present in ${prefix}/bin.
>> 
>> The reason /usr/bin/env is used in the shebang line here is that the
>> interpreter for a script must be an absolute path, but the author
>> doesn't know where python will be on the user's system. The env command
>> is for altering the environment, but is used without setting any
>> variables, and is thus a noop that gets around the absolute path
>> requirement. Only PATH has any effect on which python is found.
> 
> For my edification...I see this all the time with Python but never Perl.  Is 
> there some reason the former needs it and the latter doesn't?  Do other 
> scripting languages require the env 'trick'?

We usually want to use only MacPorts software, but this is not enforced for 
little utilities like awk, sed and grep, and perl sometimes fits into that 
category too. For one thing, perl has been around for such a long time that 
every version of OS X MacPorts runs on contains a sufficiently-new version of 
perl. The exception, and the case when you definitely should depend on and 
ensure you're executing a specific MacPorts perl, is when the script requires 
the use of perl modules.

perl is also unusual compared to the other multi-version scripting languages in 
MacPorts in that we actually do have a port that provides ${prefix}/bin/perl. 
That's an aberration, not something we want to emulate elsewhere, and it should 
probably be changed: https://trac.macports.org/ticket/29763


_______________________________________________
macports-dev mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to