Skip to content

Instantly share code, notes, and snippets.

@pudquick
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save pudquick/b81d4e3ca7afb2bb4d25 to your computer and use it in GitHub Desktop.

Select an option

Save pudquick/b81d4e3ca7afb2bb4d25 to your computer and use it in GitHub Desktop.
Steps to install (most of) pygame cleanly for 10.9

Downloads:

Install:

  • Xcode command line tools
  • XQuartz
  • Packages
  • libpng & libjpeg combo package

SDL:

The point of this section is easy, proper installation of the SDL framework files into /Library/Frameworks without messing about with permissions. If you know what you're doing here, by all means, go for it :)

  • Mount all of the .dmg files for SDL
  • Open 'Packages' app, create a new 'Raw Package' project
  • Give it a name and identifier (doesn't really matter)
  • Click on 'Payload' tab
  • Select the '/Library/Frameworks' folder in the 'Payload' tab view and use the '+' button at the bottom left to add each SDL framework into this folder.
  • Build menu -> 'Build and Run' (and actually go through the install process)

Build and install pygame:

  • Open Terminal
  • hg clone https://bitbucket.org/pygame/pygame
  • cd pygame
  • export CPPFLAGS=-I/opt/X11/include
  • python setup.py build
  • sudo python setup.py install

To verify that things are working correctly:

Bonus pygame OpenGL support:

Additional notes:

  • smpeg.framework, precompiled, is inside the SDL_mixer.framework. For pygame to see/use it, you have to extract/link a copy into /Library/Frameworks

Things that are missing:

  • Movie support (requires libavfoundation/ffmpeg stuff, big compile)
  • Computer camera support
  • MIDI support

Misc. notes about opencv and simplecv:

  • git clone https://github.com/Itseez/opencv.git git checkout 2.4.9
  • Compile string for opencv: cmake .. -DCMAKE_OSX_DEPLOYMENT_TARGET= -DWITH_QUICKTIME=OFF -DPYTHON_PACKAGES_PATH=/Library/Python/2.7/site-packages -DINSTALL_PYTHON_EXAMPLES=ON
  • git clone https://github.com/sightmachine/SimpleCV
  • Not all files in simplecv are correctly installed into the module:
  • SimpleCV/Features/*.txt; *.png
  • SimpleCV/Features/FaceRecognizerData/*.xml
  • SimpleCV/MachineLearning/*.txt; *.png
  • SimpleCV/MachineLearning/query_imgs/*
Final linkage output for *.so in the pygame egg:
mba:pygame mike$ pwd
/Library/Python/2.7/site-packages/pygame-1.9.2a0-py2.7-macosx-10.9-intel.egg/pygame
mba:pygame mike$ otool -L *.so
_freetype.so:
/opt/X11/lib/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libbz2.1.0.dylib (compatibility version 1.0.0, current version 1.0.5)
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
_numericsndarray.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
@rpath/SDL_mixer.framework/Versions/A/SDL_mixer (compatibility version 1.0.0, current version 13.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
_numericsurfarray.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
base.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
bufferproxy.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
cdrom.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
color.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
constants.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
display.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
draw.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
event.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
fastevent.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
font.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
@rpath/SDL_ttf.framework/Versions/A/SDL_ttf (compatibility version 1.0.0, current version 11.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
gfxdraw.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
image.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
imageext.so:
/opt/X11/lib/libpng15.15.dylib (compatibility version 34.0.0, current version 34.0.0)
/usr/local/lib/libjpeg.8.dylib (compatibility version 9.0.0, current version 9.2.0)
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
@rpath/SDL_image.framework/Versions/A/SDL_image (compatibility version 1.0.0, current version 9.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
joystick.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
key.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
mask.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
math.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
mixer.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
@rpath/SDL_mixer.framework/Versions/A/SDL_mixer (compatibility version 1.0.0, current version 13.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
mixer_music.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
@rpath/SDL_mixer.framework/Versions/A/SDL_mixer (compatibility version 1.0.0, current version 13.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
mouse.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
newbuffer.so:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
overlay.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
pixelarray.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
pixelcopy.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
rect.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
rwobject.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
scrap.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
sdlmain_osx.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
surface.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
surflock.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
time.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
transform.so:
@rpath/SDL.framework/Versions/A/SDL (compatibility version 1.0.0, current version 12.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment