-
Notifications
You must be signed in to change notification settings - Fork 638
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bundle libzmq as an Extension if it isn't found #205
Conversation
include_* and initlibzmq.c
…ure, rather than as separate Command.
relative imports, division, urllib
The buildutils.py script is split into modules in buildutils, and largely unchanged. New code is almost entirely in the configure command object, and buildutils/bundle.py |
If anyone wants to test this out, you can run:
Which should build on just about any system (only requirement is Cython, since it's from git rather than an sdist). I also made an sdist, which I will leave up for a bit of testing, so you can try:
while that file exists, which should genuinely have zero build dependencies, and fallback on bundling libzmq as an Extension if libzmq is unavailable. |
Does this cover the Windows case as well? If so, what are the build requirements on that platform? |
Yes, it should work on Windows. The minimum build requirements on any platform should be: the ability to build Python C extensions. |
sometimes the name can be mangled (such as 'libzmq.cpython-32mu.so' or 'libzmq.so.1')
I've done a few tests, and have successfully run
The only disadvantage I can see relative to pyzmq-static is that the fallback position requires a network connection. But if you are already using pip, this seems a safe assumption. |
Great work! This is fantastic coverage and should really help make pyzmq even easier to install. |
confirmed on freebsd9-i386 (py27) as well |
This looks excellent. Hoping to see it land in master soon! |
bundle libzmq as an Extension if it isn't found The code to do this is largely from pyzmq-static, but with some important differences: * libzmq as an extension is *optional* * libzmq/uuid sources are downloaded as-needed * platform.hpp is attempted by ./configure before falling back on shipped versions (also from pyzmq-static) This should make pyzmq pip-installable without libzmq present, and remove the need for the pyzmq-static project to exist separately from pyzmq itself. closes #128
The code to do this is largely from pyzmq-static, but with some important differences:
shipped versions (also from pyzmq-static)
This should make pyzmq pip-installable without libzmq present, and remove the need for the pyzmq-static project to exist separately from pyzmq itself.
closes #128