3rd reply to the same thread. Sorry, I am catching up on a ton of email...
> My current MacPorts prefix is '/Volumes/blue/mp'.
> '/opt/local' doesn't exist on my system.
That reminds me of another issue we have with the way we currently add
items to the PATH. Right now, we are (well, I am, since I coded that
part) brutal and stupid: just add "common" locations to the PATH and
do not even try to deal with user-specific configuration.
In you case that could mean that, even though you probably configured
your shell to use /Volumes/blue/tmp, Inkscape does not know about it.
I suspect (but would welcome confirmation) that if you set the PATH in
it should work. As far as I know, this is the standard way of setting
environment variables for GUI apps on OS X.
However, even if you use environment.plist, you still need to set the
PATH in the shell. If I understand this issue well, this is because
Terminal will first execute bash and the system level bashrc resets
the PATH. So, to recapitulate, when Terminal starts, since it is an
regular OS X app, it has PATH set (from environment.plist), then it
executes bash, which sets PATH to /usr/bin:/usr/sbin and not much
else, then bash reads the user configuration file and does the PATH
modifications set there.
Since Inkscape is a GUI app that starts with a shell script, the
situation might be confusing and this is where some testing would be
In addition, there has been some debate (notably in the MacPorts
community) about using environment.plist: why set environment
variables in the plist if the shell, which is where you are most
likely to use them, does not even honor them? The second issue is that
you might want to keep your newest versions of ruby, python etc. for
custom shell level stuff and make sure you don't break any major GUI
app and keep the default system versions for those. I personally
disagree with that: when you install newer versions of some software,
you generally want to use it.
So to sum up, if setting stuff in environment.plsit works for
Inkscape, I would be for writing a FAQ about setting PATH in
environment.plist and remove our PATH stuff from the bin/inkscape
script. Removing it will cause people to ask about what changed and
this should diffuse knowledge of environment.plist.
Then, if someone comes with a clever way of extracting the PATH
modifications from the shell configuration file of the user, that
would be a plus, and would make things more transparent. However, this
is no easy task: BASH alone has many possible user level config files
(.profile, .bashrc, .bash_profile and there might be others). And then
there are the csh, ksh aficionados ;)
Please let me know what you think,