Skip to content
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 4.3.5 #1903

Closed
wants to merge 5 commits into from
Closed

bundle libzmq 4.3.5 #1903

wants to merge 5 commits into from

Conversation

minrk
Copy link
Member

@minrk minrk commented Oct 11, 2023

libzmq no longer supports binaries for Windows, and has removed support for tweetnacl.

This may mean that Windows wheels will lose CURVE, or we have to get binaries elsehwere, or run our own builds of libzmq to bundle, which I suspect would be highly likely to get the wrong DLL dependency bundling.

Maybe related to #1902 since windows arm builds ought to work, I think?

libzmq no longer supports binaries for Windows,
and has removed support for tweetnacl.

This may mean that Windows wheels will lose CURVE.
@minrk
Copy link
Member Author

minrk commented Jan 4, 2024

Increasingly, I think the way we do bundling should change due to this, but what we have now is so brittle and works in so many untestable cases that I dread it.

I think:

  1. it should download and install libsodium and libzmq, not bundle sources
  2. those installers should use their own installation scripts (./configure or cmake), not setup.py
  3. (maybe) take the opportunity to move to a modern build tool, like scikit-build-core or meson.

Pros:

  • This would eliminate much of the complexity of setup.py (trading it for as-yet-unidentified complexity of new tools)
  • Running their own builds, would eliminate maintenance of the include_{platform} files
  • Download & install means no more bundling sources

Cons:

  • New build tooling will inevitably break some installs, and cause maintenance trouble for some time, especially since I have hardly any experience with scikit-build-core, and none with meson
  • Downloading external dependencies at install time means pyzmq can't install from a single tarball without Internet if libzmq is not found (decreasingly relevant, but not irrelevant)
  • I don't really have time for this

@minrk minrk mentioned this pull request Jan 5, 2024
7 tasks
@minrk minrk closed this in #1927 Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant