[GRASS-dev] New attempt to update GRASS for Mac

Michael Barton Michael.Barton at asu.edu
Tue Jul 18 13:26:18 PDT 2017


Yesterday, I sent this message off-list to Anna and Vaclav. Anna asked if I could repost to the dev list. So I'm doing so here.

I have some time (I hope) on an upcoming research trip to NCAR, along with some promised help of software engineers at the CSDMS NSF facility. So I'm going to try again to come up with a new GRASS compiling and binary creation protocol.

I think this will involve the following components:

1. Switch from the outdated PackageMaker.app to the current way of making Mac packages. This requires changes to the current binary bundling scripts.

2. Bundle all dependencies (including the current, separate frameworks) into the new package distribution so that everything needed is in the grass7.app Can this be done with binary "framework" installations of dependencies or is it necessary to compile all from scratch to do this?

3. As part of 2, make sure that all dependencies are compiled outside of the /usr folders on the Mac to avoid SIP conflicts

4. To accomplish #2 and #3 for wxPython, we probably need to switch to wxPython 3 (or the new wxPython Phoenix if it is working correctly). This would also permit compiling ALL GRASS 64 bit, alleviating additional issues.

5. Because of recent change to GRASS GUI and a bug in Mac system Python 2.7.10, it may be necessary to also bundle an updated Python (2.7.11 or higher) with the new grass7.app. This (and #2) would make the installation package significantly larger, but would avoid mismatched versions of Python and wxPython. It would also avoid potential conflicts between Mac system Python and other versions a user might have installed (e.g., with Anaconda).

Last fall, I was stuck on gettext. I will try again with bundline it, but this may not be solvable by me because it involves a hard-coded path in the build files that point to gettext files in /usr/local and no way to send an alternate path (e.g., a configure argument like '--with_gettext_libs='. This will need to be fixed by whoever manages the build system. Otherwise, I'll have to drop internationalization support for the Mac, which would be a shame.

An additional thing to note. While it may be possible for some to get GRASS compiled on the Mac using Homebrew, Macports, etc., the goal here is to create a normal DMG binary that any Mac user can download and install, without having to compile GRASS--or to install Linux like package managers first.

If anyone has experience in creating Mac DMGs, with bundled dependencies, I'd love to hear from you. Any other suggestions are welcome too.


Cheers
Michael
____________________
C. Michael Barton
Director, Center for Social Dynamics & Complexity
Professor of Anthropology, School of Human Evolution & Social Change
Head, Graduate Faculty in Complex Adaptive Systems Science
Arizona State University

voice:  480-965-6262 (SHESC), 480-965-8130/727-9746 (CSDC)
fax: 480-965-7671 (SHESC),  480-727-0709 (CSDC)
www: http://www.public.asu.edu/~cmbarton, http://csdc.asu.edu















-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20170718/0d6228d8/attachment.html>


More information about the grass-dev mailing list