On Sep 23, 2018, at 18:25, Mark Brethen wrote:
> On Sep 23, 2018, at 5:42 PM, Ryan Schmidt wrote:
>> On Sep 23, 2018, at 08:17, Mark Brethen wrote:
>>
>>> I have updated the Macports portfile for Reduce snapshot 2018-08-08.
>>> Everything seems to function properly, with one exception: reduce.app. When
>>> launched in gui mode under X11 the plot command does not open AquaTerm, as
>>> if it does not recognize $PATH. When run from the command line, AquaTerm
>>> opens and a graph is displayed.
>>
>> What do you mean by "launched in gui mode"? Do you mean launching reduce.app
>> using launch services, such as by double-clicking it in the Finder or
>> clicking it in the Dock or selecting it in Spotlight or by using the `open`
>> command at the command line?
>
> double-clicking creates a new window in XQuartz and uses its own windowed
> interface (fox toolkit).
Ok, so it's not a real macOS app then, it's just some wrapper script. It's hard
for me to make any statements about how it does or should function without
seeing it.
> In Terminal 'reduce -w’ indicates that the system should run reduce in the
> command line interface.
>
> Actually ‘open reduce.app’ will pass along the environment $PATH
Oh, good to know.
> but double-clicking or selecting it from the Applications Menu on the dock
> does not.
>
>> What do you mean by "under X11"?
>>
>> What is "the plot command"? Is that some feature of reduce? It is supposed
>> to open AquaTerm, which is in $PATH, but it can't find it?
>>
> Reduce interfaces with gnuplot when you load the gnuplot package, i.e.
> ‘load_package gnuplot;’ You can then plot functions, e.g. 'plot cos(x);'
>
>> It is normal that apps launched by launch services are not aware of the
>> $PATH you set in the terminal shell, since launch services has nothing to do
>> with terminals.
>>
>
> I vaguely recall there was a way in mac os to pass the environment to
> applications using launch services.
>
>
>>> I might add that the application bundles reside in
>>> /opt/local/libexec/reduce and are symlinked to
>>> /Applications/MacPorts/reduce.
>> ...
>>> Port reduce contains:
>>> /Applications/MacPorts/reduce/bootstrapreduce.app
>>> /Applications/MacPorts/reduce/csl.app
>>> /Applications/MacPorts/reduce/reduce.app
>>> /opt/local/bin/bootstrapreduce
>>> /opt/local/bin/csl
>>> /opt/local/bin/redcsl
>>> /opt/local/bin/redpsl
>>> /opt/local/bin/rfcsl
>>> /opt/local/bin/rfpsl
>>> /opt/local/libexec/reduce/README
>>> /opt/local/libexec/reduce/csl/bootstrapreduce.app
>>> /opt/local/libexec/reduce/csl/csl.app
>>> /opt/local/libexec/reduce/csl/reduce.app
>>
>> According to this, these ".app"s are files. Real ".app"s are directories. So
>> what are these files?
>>
>>
> This is just the output from ‘port contents reduce’. From the terminal:
>
> cd /Applications/MacPorts/reduce
> ls -al
> total 24
> drwxr-xr-x 5 root admin 170 Sep 22 13:49 .
> drwxr-xr-x 9 root admin 306 Sep 22 13:49 ..
> lrwxr-xr-x 1 root admin 49 Sep 22 13:49 bootstrapreduce.app ->
> /opt/local/libexec/reduce/csl/bootstrapreduce.app
> lrwxr-xr-x 1 root admin 37 Sep 22 13:49 csl.app ->
> /opt/local/libexec/reduce/csl/csl.app
> lrwxr-xr-x 1 root admin 40 Sep 22 13:49 reduce.app ->
> /opt/local/libexec/reduce/csl/reduce.app
>
> cd /opt/local/libexec/reduce/csl/
> ls -al
> total 0
> drwxr-xr-x 5 root admin 170 Sep 22 13:49 .
> drwxr-xr-x 6 root admin 204 Sep 22 13:49 ..
> drwxr-xr-x 3 root admin 102 Sep 22 13:49 bootstrapreduce.app
> drwxr-xr-x 3 root admin 102 Sep 22 13:49 csl.app
> drwxr-xr-x 3 root admin 102 Sep 22 13:49 reduce.app
This "ls" output shows the apps are directories. But "port contents" showed
they're files. I don't understand this contradiction; it should not be possible.