can I pull this work into pygame? How did you go with it? Did you get it running in pypy?
I'd probably change the src/pgcompat.h ifdef so it checks for some PYPY define as well as the python version number. As well, the portmidi part probably needs some work so that it can be good for both pythons.
In sprite.py, it would be a good idea to use the == and != operators with literals instead of the is and is not operators. I thought about making this change myself, but it didn't seem broken and I didn't want to begin a silly discussion about the 1% speed advantage that using is and is not offer over == or !=. Unfortunately, I'm not knowledgeable about pypy, so I can't comment on the more substantial changes here.