Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Building Shoes on Mac OS X 10.6 and 10.7
Clone this wiki locally
A Note about Lion
We're still shaking out 10.7 support. Bug reports very welcome! We've got a bug tracker thread about it already.
You will need to have installed Xcode to build shoes. Attempting to build shoes (really pango and glib) will fail if you try to use the osx-gcc-installer.
Here's what you have to do to build shoes:
- make sure you have homebrew and git installed. And a Ruby, 1.9.3 seems fine, with the Bundler gem installed.
- Make sure to run a
brew update! Even if you just installed homebrew. It makes some git directories that are important. :)
git clone https://github.com/shoes/shoes.git
Aaaand you should end up with a .app!
Building with MacPorts
Some people have already made the choice to use macports instead of brew. Both packaging systems are (at this writing) incompatible, so it isn't possible to use the usual instructions for building Shoes.
First, make sure all of the dependencies are satisfied.
% sudo port install cairo +quartz
% sudo port install pango jpeg giflib portaudio gettext
Edit the Shoes Rakefile to point the environment variables to macports (by default at /opt/local). Search for DYLD_LIBRARY_PATH. You should see code similar to this:
ENV['DYLD_LIBRARY_PATH'] = '/usr/local/Cellar/cairo/1.10.2/lib:/usr/local/Cellar/cairo/1.10.2/include/cairo' ENV['LD_LIBRARY_PATH'] = '/usr/local/Cellar/cairo/1.10.2/lib:/usr/local/Cellar/cairo/1.10.2/include/cairo' ENV['CAIRO_CFLAGS'] = '-I/usr/local/Cellar/cairo/1.10.2/include/cairo' ENV['SHOES_DEPS_PATH'] = '/usr/local'
Change this to:
ENV['DYLD_FALLBACK_LIBRARY_PATH'] = '/opt/local/lib:/opt/local/lib/cairo:/opt/local/include:/opt/local/lib/cairo:/opt/local/include/glib:/opt/local/include/glib-2.0' ENV['LD_LIBRARY_PATH'] = '/opt/local/lib:/opt/local/lib/cairo:/opt/local/include:/opt/local/include/cairo:/opt/local/include/glib:/opt/local/include/glib-2.0' ENV['CAIRO_CFLAGS'] = '-I/opt/local/include/cairo' ENV['SHOES_DEPS_PATH'] = '/opt/local'
Yes, use DYLD_FALLBACK_LIBRARY_PATH instead of DYLD_LIBRARY_PATH otherwise the linker will fail to find certain symbols in your system frameworks.
Edit another line in the same Rakefile. Search for 'pango.modules' in the code.
dylibs << '/usr/local/etc/pango/pango.modules'
dylibs << '/opt/local/etc/pango/pango.modules'
Run rake to build.
There will be a lot of warnings printed. Repair of these warnings is an open project (patches welcome) but for now they can be ignored. The build takes about 60 seconds to complete. It should place a Shoes.app file in the top directory of the git clone.
% open Shoes.app
Packaging as a .dmg
To make a disk image containing Shoes and lots of samples,
Look for the
.dmg file in the
pkg directory. It will be named something like
shoes-0.r1761.dmg. Mount it using the Finder, or from the command line,
To build and package all at once,