Mac OS X:Build from source:Native OS X

From Gramps
Jump to: navigation, search

2.2.x series (Native PPC only)

GRAMPS on OS X native does just about work. It is not as functional as the X11 version (see ) but it does require fewer dependencies.


  • Only a few people are known to have got this to work (let me know if you know different: rjt-gramps (at)
  • If you loose your database don't blame me.
  • This is in no way a supported port.

Note: there is no compiling or any scary geekery necessary to make this work!

Installing dependencies

You will need gtk and pygtk and these in turn require Python 2.4.4. The only packaged builds of pygtk/gtk that I know of are at: , these are only for PPC. If you know of any other packaged builds please let me know. The lack of a universal binary package is the only reason why these instructions will not work on Intel Macs.

Patching GRAMPS

Once you unpack GRAMPS you need to make one small change. The pygtk build has a broken cairo so you need to turn off the cairo support in the Pedigree view, otherwise bad things happen.

cd src/DataViews

edit, remove the following lines:

    import cairo
    cairo_available = True
    cairo_available = False

replace them with:

cairo_available = False


To run GRAMPS from the terminal you need to do the following:

cd src/

If you would rather have an OS X style bundle (.app) you may follow these steps:

  • Using Script Editor save the following AppleScript as an application bundle
tell application "Terminal"<br/>
	do script "Python /Applications/"<br/>
end tell<br/>
tell application "System Events"<br/>
	set visible of process "Terminal" to false<br/>
end tell

Or, you may download this readymade bundle -

If you have python installed in a different place than /usr/bin, or you have several versions installed in different places (such as /opt/local/bin), then just open the main.scpt file in Script Editor in the GRAMPS package and edit the script.

  • Then, copy the "src" directory from the GRAMPS source code to the Resources directory of

That is it. This can be used like any other application. However, unless you change the path in the script the bundle must reside in /Applications.


I had to export my database from my existing fink based install into GRAMPS XML format and then import it into the native version. I doubt that the two versions will coexist very nicely.

Many things don't work. I know that drag and drop does not work, there are issues with mouse click on menus going missing and anything that calls an external program will not work e.g. help etc.