This is a general overview (from memory) of the steps I used to install graphite (http://graphite.wikidot.com) on OS X Lion. I think the steps are in order but YMMV. Please fork and fix if you find an error.
brew install python
$ python --version
Python 2.7.3
$ type python
python is /usr/local/bin/python
$ file /usr/local/bin/python
/usr/local/bin/python: Mach-O 64-bit executable x86_64
$ brew --version
0.9
brew install cairo
git clone git://git.cairographics.org/git/py2cairo
# Open wscript and below `env = ctx.env` add `env.append_unique('CFLAGS', ['-arch', 'x86_64'])`
python waf clean
export PATH=/usr/local/Cellar/python/2.7.3/bin:$PATH
export PYTHONPATH=/usr/local/Cellar/python/2.7.3
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.3:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.3/lib:$LD_LIBRARY_PATH
export LINKFLAGS='-search_dylibs_first -L /usr/local/Cellar/python/2.7.3/lib/'
export ARCHFLAGS='-arch x86_64'
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig
python waf configure
python waf build
python waf install
pip install carbon
pip install whisper
pip install django
pip install django-tagging
pip install graphite-web
cd /opt/graphite/webapp/graphite
sudo python manage.py syncdb
sudo chown -R nobody:nobody /opt/graphite/storage/
cd /opt/graphite/conf
cp storage-schemas.conf.example storage-schemas.conf
cp carbon.conf.example carbon.conf
mkdir /opt/graphite/bin
ln -s /usr/local/share/python/carbon-cache.py bin
python ./bin/carbon-cache.py start
python /usr/local/share/python/run-graphite-devel-server.py /opt/graphite
http://localhost:8080
If it works correclty you should see a black image with "No Data" in the Graphite Composer. If you see a broken image, it's probably something to do with py2cairo and cairo.