Skip to content

Commit 0ec8790

Browse files
committed
queue: pypcode PR #2720 opened
1 parent a184208 commit 0ec8790

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

‎.queue.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8359,9 +8359,9 @@ packages:
83598359
version: 4.0.0
83608360
home: https://api.angr.io/projects/pypcode/en/latest/
83618361
repo: https://github.com/angr/pypcode
8362-
status: queued
8363-
pr: null
8364-
notes: '6 Linux wheels upstream (abi: cp312,cp313,cp314); no riscv64 on PyPI or pypi.riseproject.dev.'
8362+
status: ci-running
8363+
pr: https://github.com/riseproject-dev/python-wheels/pull/2720
8364+
notes: 'Draft PR #2720 opened, CI running. 6 Linux wheels upstream (abi: cp312,cp313,cp314); no riscv64 on PyPI or pypi.riseproject.dev. plain setuptools (not scikit-build-core) custom build_ext driving cmake: builds a native `sleigh` CLI binary plus a per-interpreter (no abi3) nanobind extension from the same vendored Ghidra SLEIGH C++ sources (pypcode/sleigh/, Apache-2.0) and a vendored zlib (Zlib licence); `sleigh -a` then compiles the processor .sla specs (pypcode/processors/, including a RISCV one) at build time. SLEIGH is architecture-decoding, not architecture-specific: the only `__x86_64__`/`__i386__` ifdef in vendored sources (pypcode/sleigh/types.h) is a HOST_ENDIAN convenience that already falls back to a portable runtime-union Endian class on riscv64 (little-endian, correct either way), confirmed by grepping pypcode/sleigh, pypcode/zlib and pypcode_native.cpp for SSE/AVX/inline-asm/byte-order assumptions (none beyond that one ifdef). Verified locally on x86_64 (venv with python3.12 + setuptools/nanobind/cmake installed via uv): `python -m build --wheel --no-isolation` builds cleanly in ~1-2 min, and the official upstream cp312 manylinux_x86_64 wheel from PyPI passes its own `tests/` (`python -m unittest discover -v -s tests`, the exact upstream CIBW_TEST_COMMAND) with 46/46 passed - no riscv64-specific assumptions in the test suite either (translates x86/ARM/etc. bytes, host-arch-independent). Build-from-checkout of tag v4.0.0 (no submodules), mirroring upstream build.yml (CIBW_BUILD per-interpreter cp312/cp313/cp314, no cp314t, matching upstream exactly); adds musllinux alongside manylinux since both legs resolve their build-system deps from plain PyPI with no riscv64 gaps (cmake ships manylinux_2_31_riscv64 and musllinux_1_2_riscv64 wheels, nanobind and setuptools are both py3-none-any) - no CIBW_ENVIRONMENT/registry pin needed at all, pypcode declares zero runtime [project.dependencies]. No gpl_sources job: nanobind statically links libstdc++/libgcc into the extension on musllinux only (gotcha 637 shape, same as pydemumble), and the upstream-released wheel ships only its own LICENSE.txt (BSD-2-Clause AND Apache-2.0 AND Zlib, already documents the SLEIGH/zlib provenance) with no separate nanobind licence text, so this port matches that exactly rather than adding SKBUILD_WHEEL_LICENSE_FILES (not applicable anyway: plain setuptools, no scikit-build-core). One of angr''s blocked dependencies (gotcha 503).'
83658365
- pkg: beancount
83668366
version: 3.2.3
83678367
home: https://beancount.github.io/

0 commit comments

Comments
 (0)