Conversation
Compiles pycurl's C extension against the riscv64 manylinux image's own libcurl-devel (dnf, appstream). Upstream publishes no riscv64 wheel. Widens pyproject.toml's explicit license-files list so the collected third-party licences (libcurl and its transitive closure) reach the wheel.
paramiko pulls in cryptography and bcrypt, neither of which has a riscv64 wheel below cp312 (cryptography's newest is cp312-abi3, our own bcrypt port only builds cp312+); pip falls back to cryptography's sdist and dies on rustup not supporting riscv64-unknown-linux-gnu. The sftp tests already self-skip via pytest.importorskip when paramiko is absent.
numpy and websockets do have riscv64 wheels on our registry for every interpreter we build, including cp314t - excluding them was based on a stale registry check. Excluding them alongside paramiko broke collection of test_connect_only_send_recv.py, which imports numpy unconditionally at module scope (unlike the rest of the suite's pytest.importorskip guards) and so failed the whole cp310/cp311 test run rather than just skipping the sftp tests paramiko's absence was meant to skip.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pycurl7.47.0Compiles pycurl's C extension against libcurl. Upstream publishes no riscv64 wheel.
Mirrors the
package-wheeljob of upstream'scibuildwheel.yml.Differs from upstream
libcurl-devel(dnf, appstream) - simpler, and a full build.gpl_sourcesjob publishes source for the copyleft libraries auditwheel vendors alongside libcurl.Matrix:
cp310-cp314pluscp314t, matching upstream's own published wheels (not the default four).Testing
cp314tinstalls the dev requirements without numpy/websockets - no riscv64 wheel for that interpreter on our registry yet, so theirimportorskip'd tests self-skip.License: wheel bundles libcurl's dependency closure - permissive (curl, OpenSSL, nghttp2, brotli, psl, sasl, fido2, cbor, krb5, OpenLDAP) and copyleft (keyutils, libcap, libidn2, libssh, libunistring, libxcrypt, pcre2, systemd-libs; GPL/LGPL); licence texts and GPL sources are collected and published.
Patches
0001-Widen-license-files-to-cover-bundled-third-party-li.patch- To upstream [not submitted from this automated port run]. Without it the wheel carries no third-party licence texts, since an explicitlicense-fileslist replaces setuptools' default glob.Built on cp312 (aarch64 manylinux rehearsal, same image family as riscv64); 854 passed, 32 skipped.