Macports Reduce build

Ryan Schmidt ryandesign at macports.org
Sun Sep 23 23:34:06 UTC 2018



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.




More information about the macports-dev mailing list