yara-python: add build-yara-python.yml for riscv64 wheels - #1643
Merged
Conversation
Builds the cp312/cp313/cp314/cp314t manylinux and musllinux riscv64 wheels for yara-python 4.5.4, VirusTotal's C-extension Python bindings for the YARA malware-pattern-matching engine. The build checks out the upstream repo with its yara/ submodule (the vendored YARA C library) and drives cibuildwheel directly against the checkout, compiling the submodule's C sources straight into the extension with --enable-openssl so the hash module links libcrypto (Rocky 10/Alpine ship a current openssl-dev(el), so upstream's from-source OpenSSL 1.1.1w build is unneeded here). A patch declares the vendored yara library's BSD-3-Clause COPYING and OpenSSL's own Apache-2.0 LICENSE.txt via setuptools' license_files so both auditwheel-vendored/compiled-in components ship their licence text alongside yara-python's own Apache-2.0 LICENSE.
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.
yara-python4.5.4Python bindings for VirusTotal's YARA malware-pattern-matching engine, compiling the vendored
yara/submodule's C sources straight into the extension and linking OpenSSL for the hash module. Upstream publishes no riscv64 wheel.Mirrors upstream's
publish-to-pypi.yml.Differs from upstream
openssl-devel/openssl-devvia dnf/apk instead of building OpenSSL 1.1.1w from source - Rocky 10 and Alpine both already carry a current one.Testing
tests.py, upstream's own self-contained suiteLicense: Ships
yara/COPYING(BSD-3-Clause, compiled in) and OpenSSL's ownLICENSE.txt(Apache-2.0, auditwheel-vendored) alongside yara-python's own Apache-2.0LICENSE, none of which the unpatched wheel carries.Patches
0001-Package-the-licence-of-the-statically-compiled-yara-and-openssl-licenses.patch- To upstream [needs a PR against VirusTotal/yara-python]. Without it the wheel ships only yara-python's own LICENSE despite vendoring BSD-3-Clause and Apache-2.0 code; reproduces on any arch.Built on cp312-manylinux_riscv64 and cp312-musllinux_riscv64; all 47 upstream tests passed, 0 skipped.