Skip to content

pykcs11: Add version 1.5.20 - #3341

Draft
luhenry wants to merge 2 commits into
mainfrom
pykcs11
Draft

luhenry wants to merge 2 commits into
mainfrom
pykcs11

Conversation

@luhenry

@luhenry luhenry commented Oct 15, 2026 •

Copy link
Copy Markdown
Member

Builds the SWIG-generated PyKCS11._LowLevel C++ extension, a PKCS#11 wrapper that dlopen()s the actual PKCS#11 module at runtime rather than linking one at build time. Upstream publishes manylinux/musllinux x86_64 plus macOS/Windows wheels but no Linux aarch64 and no riscv64.

Mirrors upstream's own linux.yml build_wheels job.

Differs from upstream

  • Adds swig via dnf in CIBW_BEFORE_ALL_LINUX - upstream's runner installs it via apt.

Testing

  • Upstream's own suite needs a live PKCS#11 module (SoftHSM2 + a hardware token); CIBW_TEST_COMMAND instead imports the built extension and exercises one SWIG-wrapped type, proving the compiled code actually runs.

License: OK

Built on cp312.

PyKCS11 1.5.20 is a SWIG-generated C++ PKCS#11 wrapper (ck_attribute_smart.cpp,
pkcs11lib.cpp) that dlopen()s the PKCS#11 module at runtime, so the build links
no external library at all. PyPI publishes manylinux x86_64/musllinux x86_64,
macOS and Windows wheels for 1.5.20 but no Linux aarch64 and no riscv64 - a
real, narrow gap. Mirrors upstream's own linux.yml cibuildwheel job
(CIBW_BUILD cp39-cp314t) narrowed to manylinux_riscv64; swig (the only build
dependency besides a C++ compiler) resolves from Rocky 10's own riscv64 repos,
no EPEL needed.
@luhenry
luhenry marked this pull request as draft October 16, 2026 00:07
The folded CIBW_TEST_COMMAND scalar put a leading space before
'import' on python -c's first line (python -c " import ..."),
which Python rejects as an IndentationError on every riscv64 build
leg. Start the quoted code right after the opening quote so the
folded command has no leading whitespace.

This branch has not been deployed

No deployments
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