OSX Client/Build

From Spice

Revision as of 13:38, 8 July 2015 by ChristopheFergeau (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

spice-osx is a jhbuild moduleset to build remote-viewer on Mac OSX.


Before using it, you need to install XCode. I'm using XCode 4.3.3 for Lion. After installing it, I had to run the command below to setup everything as expected:

 sudo xcode-select --switch /Applications/Xcode.app/ContentsDeveloper

If you want to build spice-gtk from git (the default moduleset is building it from tarballs), you also need the Perl module Text::CSV. To install it you can run:

 sudo cpan Text::CSV


Once these prerequisite are addressed, you can download the spice-osx-build-setup.sh script and run it:

 sh spice-osx-build-setup.sh

It will download the gtk-osx jhbuild moduleset using the gtk-osx-build-setup.sh script from the gtk-osx project. This in turn installs jhbuild in ~/Source and creates ~/.local/bin/jhbuild. It will also install ~/.jhbuildrc and ~/.jhbuildrc-custom and will copy the current gtk-osx modules into ~/Source/jhbuild/modulesets.

After the script runs, ~/Source/spice-jhbuild will contain a jhbuildrc file. You can copy it to ~/.jhbuildrc-custom and jhbuild (as setup by the ~/.jhbuildrc file created by gtk-osx) will pick it automatically. Alternatively, you can copy it to ~/.jhbuildrc-spice and set the JHB environment variable to 'spice' (or use any other prefix of your liking). You can edit this jhbuildrc file if you want to configure the location where source will be downloaded/expanded, and the location where the built binaries/libraries will be installed.


Make sure ~/.local/bin is in your PATH, this is where the jhbuild binary is located. You can then run

 jhbuild bootstrap
 jhbuild build

This will download and build virt-viewer and all its dependencies. Once this is done, you can start remote-viewer with

 jhbuild run remote-viewer

If a weird build error happens while building freetype, exit jhbuild, run

 jhbuild buildone -cfa freetype

and then restart jhbuild with

 jhbuild build