See the commit here: ynadji/homebrew@14bc293
It's obviously not a perfect solution, but:
1.) It's what Apple does.
2.) It's what Macports does.
3.) It's been a bug in python since 2009 and I doubt it'll get fixed anytime soon.
Thoughts? Suggestions? Apple has an ed script[*] they use to perform this regex as well as other options. I only included the POLL regex as I was weary of removing too much and breaking python further down the road.
Add option to python formula to remove poll
Apple's implementation of poll does not support devices, which causes socket
operations that rely on a properly functioning poll to fail with Errno 35 .
This creates an option to strip out poll entirely, which is what Apple does
for the binaries they package with the OS .
When does this error manifest itself? Using twisted?
Most of the time I see it is when socket.sendall is used. Searching google for "errno 35 python mac os x" shows the error in a variety of projects. I haven't seen or personally encountered this problem in Twisted.
Seems reasonable to me if Apple do it. There an upstream bug for this?
fyi, python.org closed issue 5154 as "will not fix"
Interesting. That pushes a lot of the burden on large app/library developers to support OS X. Nonetheless, the option should remain in homebrew.
Do Apple still do this? That's the only thing that convinces me this is still worth doing.
@ynadji: Yes, it's strange this was not dealt with by python. I totally agree the option should remain in Homebrew. It's necessary for some third party libraries - I came across this because I couldn't get a library that used simple socket calls to upload files to work.
@MikeMcQuaid: Apple does still appear to do this.