[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[pygame] Recent Mac OS X fixes for pygame
I've fixed up the MacOS X support for pygame to:
only look for framework versions of SDL
depend on PyObjC and use python code to init instead of some gnarly
ObjC code
remove support for ghetto versions of python (i.e. Jaguar 2.2)
remove support for "hacking the window manager".. just execute with
the pythonw script for christ sake :)
The reason for this is that Python 2.3 is at rc2 (likely to be the
final release), and this release of Python will be in Panther. The
version in Panther DP is a beta of 2.3, which is largely compatible
with 2.3rc2.
The binary installer for Python 2.3rc2 is at:
http://www.cwi.nl/ftp/jack/python/mac/MacPython-OSX-2.3rc2-3.dmg
My pygame sourcetree is at: http://undefined.org/python/pygame.tgz
In order to build, you'll need SDL, SDL_image, SDL_ttf, Numeric, etc.
http://www.libsdl.org/ has installers for all of these, except smpeg,
which you'll have to compile yourself. It's easy, just untarball
PBProjects.tar.gz and compile the Project Builder file. Make sure the
install path is /Library/Frameworks not
@executable_path/../Library/Frameworks. As for Numeric, Package
Manager has a copy of Numeric (either source or binary) that works just
fine on both 10.2.6 and Panther DP. If you're on Panther DP, you'll
have to use this Package Manager URL:
http://www.python.org/packman/version-0.3/darwin-6.6-
Power_Macintosh.plist because I don't think Jack has setup the Panther
DP specific repository yet. You can get PyObjC from Package Manager as
well, but you may have to compile it yourself if on Panther DP.
Here's the 'changelog':
Removed the EXTRABASE hacks from Setup.in, config.py
Fixed up config_darwin.py to no longer bother with sdl-config (the
libsdl.org installers don't install it), but just look for the
frameworks and do the right thing. Also cleaned up compile flags.
Removed src/CPS.h src/SDLmain.m src/setproctitle.c src/setproctitle.h
Added lib/macosx.py (pyobjc init stuff)
Changed lib/__init__.py to make sure Window Manager access is
available, and shadow pygame.base.init() with an init function that
does the PyObjC initialization (SDL on MacOS X uses Cocoa).
Removed stupid OS X hacks from src/base.c
The rest of the codebase is just included for completeness so someone
on OS X can just download and build it.
I'll be adding this to my Package Manager repository sometime in the
near future, when I get around to writing installers and dependency
checkers for the SDL frameworks, and I'll get Jack to put it in the
official repository when he gets the time (he's extremely busy trying
to get Python 2.3 final ready for the Aug 1 deadline for OS X
10.3/Darwin 7.0.0).
Oh, also note that this patch (should be) to the current CVS version of
pygame.. which may or may not be stable, but it worked for me.
-bob