-
Notifications
You must be signed in to change notification settings - Fork 168
Building Shoes on Mac OS X 10.6 and 10.7
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
cd shoes
bundle install
rake osx:deps:install
rake
Aaaand you should end up with a .app!
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'
Replace with:
dylibs << '/opt/local/etc/pango/pango.modules'
-
Run rake to build.
% rake
-
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.
% open Shoes.app
To make a disk image containing Shoes and lots of samples,
rake installer
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,
open pkg/shoes-0.r1761.dmg
To build and package all at once,
rake package