This is a revised patch that could do with some testing. (Luis: this is basically darwin5 with your fixes and single foreign function declarations that assume patched cffi)
I tested it on sbcl(threads/nothreads) on 10.5 and 10.4 and ccl/ccl64 on same platforms. The only issue is when running on threaded lisps on 10.4, you must make sure to call any glut function from cl-glut::*glut-thread* (for instance: by interrupting *glut-thread*) This is not done by default as it could get quite messy and 10.4 is basically obsolete, so the burden for this is on the user.
Everything works fine on 10.5 as this issue is not present.
Attached patch for cl-opengl-current (you also need darcs cffi for ccl/ccl64)