Coder Social home page Coder Social logo

BUG: windows arm64 support about pyzmq HOT 12 OPEN

fox4u avatar fox4u commented on June 11, 2024
BUG: windows arm64 support

from pyzmq.

Comments (12)

minrk avatar minrk commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

minrk avatar minrk commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

minrk avatar minrk commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

minrk avatar minrk commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

minrk avatar minrk commented on June 11, 2024

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.

fox4u avatar fox4u commented on June 11, 2024

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.

minrk avatar minrk commented on June 11, 2024

Nice! Open a PR?

from pyzmq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.