jhbuild on Mac OS X
This is a scratch space with notes on getting jhbuild working on Mac OS X.
So far it is a step-by-step list of things to do with notes about problems to expect and a TODO list of things to work on.
Getting started
Here's a rough list of instructions. It assumes that you start from a Mac OS system with the command line developer tools installed (xcode-select --install on newer Mac OS versions). It is also assumed that you are not using anything like brew, fink, macports, etc.
First, download and install jhbuild:
$ mkdir ~/jhbuild $ cd ~/jhbuild $ git clone --depth=1 git://git.gnome.org/jhbuild $ cd ~/jhbuild/jhbuild $ ./autogen.sh --simple-install $ make $ make install DISABLE_GETTEXT=1
You should end up with jhbuild in ~/.local/bin. Add that to your path to make things more convenient.
Next, you need to use jhbuild bootstrap to install some basic dependencies that are missing from Mac OS.
$ jhbuild bootstrap
That should take a while downloading and building.
After that is done, build up to glib:
$ jhbuild build --nodeps glib
at which point you will need to bootstrap the vala compiler:
$ jhbuild bootstrap vala-bootstrap
Things have to be done in this order because the vala compiler depends on glib being installed already.
Finally, you should be able to build some more modules:
$ jhbuild build --nodeps gtk+ adwaita-icon-theme
You are going to hit some problems along the way.
libxml can't find the xml catalog. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=742411
$ XML_CATALOG_FILES=~/jhbuild/install/share/xml/catalog jhbuild buildone gvfs
cairo GL support must be disabled. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=87707
- probably some other problems as well
Things you can help with
GtkApplication support for Mac OS could be improved: https://bugzilla.gnome.org/show_bug.cgi?id=722476
gdk-pixbuf could use a native Mac OS backend: https://bugzilla.gnome.org/show_bug.cgi?id=720762
- things don't work very far past Gtk+; help is welcome expanding the number of buildable modules
a daily tinderbox would be awesome (similar to what ../FreeBSD is doing)
- some of the sysdeps we bootstrap (like python) are available as system frameworks that we could try to use instead
- ability to target specific OSX SDK for distributing builds
See also
Some osx-specific patches for jhbuild: https://github.com/TingPing/jhbuild/commits/tingping/osx