+ notes: '20 Linux wheels upstream (abi: cp310,cp311,cp312,cp313,cp314); no riscv64 on PyPI or pypi.riseproject.dev. pybind11 bindings over the Apache Pulsar C++ client; portable C++17, no GPU and no x86-only code path (the crc32c SSE4.2 file already falls back to the software implementation outside x86_64, and the -msse4.2/-mpclmul flags are gated on CMAKE_SYSTEM_PROCESSOR). Upstream''s manylinux job builds libpulsar from the apache-pulsar-client-cpp 4.2.0 release tarball pinned in dependencies.yaml with vcpkg supplying boost/openssl/protobuf/curl/snappy/zstd; vcpkg has no tested riscv64 triplet, so the same tarball is built against the image''s own rpms instead - the path LegacyFindPackages.cmake keeps for distro packagers. One riscv64-image quirk: Rocky''s zlib-ng ships a ZLIB CMake config naming a libz.a it never installs, so find_package(zlib) is disabled in favour of the project''s find_library fallback (gotcha 455). Tests need a live Pulsar cluster (apachepulsar/pulsar has no riscv64 image), so CI runs the suite''s one broker-free class plus client-lifecycle and connect-failure checks. Rehearsed end to end off-target on Rocky 10 x86_64 (same distro family as the image): libpulsar built, wheel repaired by auditwheel with 18 vendored libs and 20 rpm licence texts, 10 tests passed; on the riscv64 image itself the cmake configure and the licence sweep were verified under QEMU. PR #2140 open as draft; CI green - cp312/cp313/cp314 manylinux_2_39_riscv64 wheels built in 25-29 min each, 10 broker-free tests passed per interpreter, 33 vendored-rpm licence texts in each wheel, gpl_sources and the publish dry run both clean.'
0 commit comments