Comments (12)
would it be possible to add support of fetching a specific revision rather than the release archive?
Since you're building from source, you can clone the libzmq repo at the desired ref into bundled/zeromq
and it ought to work.
from pyzmq.
Since you're building from source, you can clone the libzmq repo at the desired ref into
bundled/zeromq
and it ought to work.
Most of the time pyzmq is installed as a dependency when doing pip install other package. And since there's no prebuilt win arm64 wheel currently in pypi it will be built from source. And for this build it is not possible to clone libzmq in bundled/zeomq. People might just have problem using the other package, like me with jupyter, and never realize that it is a problem in the bundled libzmq here.
from pyzmq.
Ah, got it. So the request is for installing an unreleased build of libzmq by default so we can support Windows on arm. That's tricky, but since it's I'll see about that, or also if it's a small patch, applying a backported patch to our bundled source (I'm not sure). I also think there's been some work toward 4.2.5, so maybe that release will come before this gets done.
from pyzmq.
So the request is for installing an unreleased build of libzmq by default so we can support Windows on arm.
Such unreleased version isn't necessarily to be installed by default. Since we already have the flexibility of ZMQ_PREFIX env var, we might be able to make an extra option, e.g. ZMQ_PREFIX=github:<rev> to clone from official repo into bundled/zeromq for the build. Besides windows arm64 support, this change may also benefit the pyzmq dev'er. If you think this is viable I will try to submit a PR.
from pyzmq.
Sure, if you want to give ZMQ_PREFIX=git:
(or https://
or something) a try, that would be cool. A generic git clone
or git-archive URL. I guess clone URLs don't support refs, so you'd have to define e.g. a pip-style url@ref
pattern (I'd probably use exactly pip's, since this is for the Python installation process).
from pyzmq.
Proposed code changes in here fox4u@0473c13 . An url[@ref] pattern in ZMQ_PREFIX is supported. For example:
ZMQ_PREFIX=https://github.com/zeromq/libzmq.git
ZMQ_PREFIX=https://github.com/zeromq/libzmq.git@4097855
Tests have been done on win11 arm64 / x64, linux x64, macos arm64.
pip_install_win11_arm64.log
pip_install_win11_x64.log
pip_install_linux_x64.log
pip_install_macos_arm64.log
Please comment.
from pyzmq.
Can you add git@
prefix for a git clone, and make a pure URL expect a tarball, e.g. =git@https://github.com/zeromq/libzmq.git@4097855
or =https://github.com/zeromq/libzmq/archive/4097855.tar.gz
? Otherwise, 👍
from pyzmq.
Sure, but maybe we can just do a tarball download once the URL has a .tar.gz suffix, and git clone otherwise, without the need of git@ prefix. What do you think?
from pyzmq.
On the other hand, archive zip is also supported on github, i.e. https://github.com/zeromq/libzmq/archive/4097855.zip is valid. Shall we just support the .zip archives, instead of the tarball, and the existing release zip fetching code can be simply reused?
from pyzmq.
without the need of git@ prefix
I was thinking it would be nice to match pip's URL scheme, since this is part of Python package install so folks might already be in a pip mindset, and they use git@
.
existing release zip
Yeah, go ahead and re-use zip for that, that makes sense.
from pyzmq.
I have made the changes to support git@ prefix and zip archives. fox4u@74027fd
# zip archives
ZMQ_PREFIX=https://github.com/zeromq/libzmq/archive/ecc63d0.zip
# git clone (default branch latest)
ZMQ_PREFIX=git@https://github.com/zeromq/libzmq
# git clone and checkout some ref
ZMQ_PREFIX=git@https://github.com/zeromq/libzmq@ecc63d0
Test log:
pip_install_git_clone_and_zip_archive.log
from pyzmq.
Nice! Open a PR?
from pyzmq.
Related Issues (20)
- BUG: RTLD_GLOBAL dlopen flag causes segfaults w/ pynacl & libsodium HOT 4
- BUG: test_green_device crashes with Python 3.12 on ppc64le
- FEATURE + MR: Advertise newer python versions
- Why does the wheel package on pypi not support IPC on windows 10? HOT 2
- BUG: asyncio: memory leak in socket.poll HOT 1
- Release 25.1 with Python 3.12 wheels
- [lint] abstract class instantiated HOT 2
- BUG: Older versions of setuptools no longer work HOT 7
- libzmq question: ROUTER/DEALER mod restart DEALER only will cause Host unreachable Error HOT 7
- BUG: `try_passwordless_ssh` hangs while connecting to server HOT 2
- RFE: is it possible to restart making github releases?🤔 HOT 6
- unable to build on mac m1 max HOT 11
- BUG: Missing zmq.NOTIFY_CONNECT and zmq.NOTIFY_DISCONNECT constants HOT 6
- BUG: zmq hangs forever if attempting to send a message before socket has time to connect HOT 1
- BUG: Unable to install in mac m1 HOT 1
- build fairure with cython default bnanch
- BUG: Asyncio cancellation race condition leaves Future exception never retrieved for recv_string() HOT 2
- Not able to build wheels for pyzmq HOT 12
- BUG: Memory leak on receiver side in asyncio HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyzmq.