Tyler Smith <ty...@plantarum.ca> writes:

> Hi,
>
> I'm updating my Emacs grass-mode (available on MELPA, and also here:
> https://bitbucket.org/tws/grass-mode.el/wiki/Home ).
>
> Part of the configuration requires that users tell me where their grass
> binary, script and documentation files are. Since people may be using
> different versions, multiple versions, pre-packaged or compiled from
> source, I can't hard-code paths for this. 
>
> I work on Linux, and I think a reasonably robust way for users to find
> the information is:
>

Mac OS X and multiple homebrew installations. Comments refer to this scenario.

>     which grass (i.e., /usr/bin/grass)
>
> to find the binary.

That will work. But the name of the binary is not necessarily grass, but
grass64 or grass70.

>
>     locate bin/d.title (i.e., /usr/local/grass-7.0.0svn , after trimming
>     off 'bin/d.title')
>
> to find the script directory (actually a file nested two beneath the
> script directory, but close enough as a landmark)
>
> and 
>
>    locate html/d.title (i.e., /usr/local/grass-7.0.0svn/docs/html ,
>    after trimming off 'd.title')
>
> to find the documentation directory. I'm assuming users with multiple
> installations will be savvy enough to pick among the options they get
> back from these commands.
>
> Questions for this list:
>
> 1. Are the html docs *always* installed in the same place relative to
> the scripts? If so, I would only need the binary and script locations,
> and can derive the doc path from there.

No idea - can't comment here.

> 2. Will this work as I expect? I know it works on my own machine, but
> I'm not sure if it is truly portable across Linux flavours.
> 3. Will it also work on Mac, or are there better ways to get this
> information?

I know about three ways (apart from own compiling) to install grass on a
mac:

1) The "official" frameworks by Michael Barton [[http://grassmac.wikidot.com/]] 
2) MacPorts
3) Homebrew, using either the homebrew grass recipe or the osgeo4mac repos 
[[https://github.com/OSGeo/homebrew-osgeo4mac]]

I can only talk about the homebrew installations. these are installed at

/usr/local/Cellar/RECIPENAME

where RECIPENAME is grass-64, grass-70 or (which does not work at the
moment) grass
The tree structure looks in principle as follow where "7.0.2" will be
added when this is released and installed. 

,----
| .
| └── 7.0.1
|     ├── AUTHORS
|     ├── CHANGES
|     ├── COPYING
|     ├── INSTALL_RECEIPT.json
|     ├── README
|     ├── TODO
|     ├── bin
|     │   └── grass70
|     ├── grass-7.0.1
|     │   ├── AUTHORS
|     │   ├── CHANGES
|     │   ├── COPYING
|     │   ├── GPL.TXT
|     │   ├── REQUIREMENTS.html
|     │   ├── bin
|     │   ├── config.status
|     │   ├── contributors.csv
|     │   ├── contributors_extra.csv
|     │   ├── demolocation
|     │   ├── docs
|     │   ├── driver
|     │   ├── etc
|     │   ├── fonts
|     │   ├── grass70.sh -> ../bin/grass70
|     │   ├── gui
|     │   ├── include
|     │   ├── lib
|     │   ├── locale
|     │   ├── scripts
|     │   ├── share
|     │   ├── tools
|     │   ├── translation_status.json
|     │   └── translators.csv
|     └── grass-base -> grass-7.0.1
`----

So for homebrew, it would be easy to scan the /usr/local/Cellar* for the
directories.

The same (or similar) should be doable for MacPorts and the frameworks.

So I think the best approach would be here to create a function which
scans for the homebrew, official and MacPorts installations of GRASS and
offers to either populate the variable or to print the customization in
the Messages buffer so that it can be copied in the emacs.el file.


> 4. How would I direct Windows users to find the equivalent locations on
> their systems?

No idea - never used GRASS on windows.

>
> Thanks for your help.

Pleasure,

Rainer

>
> Tyler

-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology, 
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax :       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      rai...@krugs.de

Skype:      RMkrug

PGP: 0x0F52F982

Attachment: signature.asc
Description: PGP signature

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to