Skip to content

libpinocchio: Add version 4.1.0 - #4853

Open
luhenry wants to merge 1 commit into
mainfrom
libpinocchio
Open

luhenry wants to merge 1 commit into
mainfrom
libpinocchio

Conversation

@luhenry

@luhenry luhenry commented Nov 12, 2026 •

Copy link
Copy Markdown
Member

Wraps stack-of-tasks/pinocchio's own CMake build (C++ library only, BUILD_PYTHON_INTERFACE=OFF) through the cmake-wheel/libpinocchio packaging fork and the cmeel build-backend, producing a py3-none wheel holding only the shared libraries and headers. Upstream publishes no riscv64 wheel.

Previously parked blocked-on-dependency on its two runtime+build deps, cmeel-urdfdom and libcoal — both are now confirmed published on this registry, so this is genuinely unblocked.

Mirrors upstream's release.yml, manylinux leg only.

Differs from upstream

  • Nothing beyond the riscv64 image. Confirmed against the real cmake-wheel/libpinocchio source at tag v4.1.0.c0: cmake_minimum_required(VERSION 3.22), already above cmeel[build]'s CMake floor of 3.5, and no -march=native/-mavx/-msse or x86 intrinsics anywhere in src/, include/ or bindings/ — Eigen's own vectorization degrades to its generic scalar path on riscv64, same as the rest of this dependency chain.
  • The real published wheel already ships a LICENSE file (dist-info/licenses/LICENSE) — unlike cmeel-m4/cmeel-glpk/cmeel-cddlib/cmeel-spirv-tools, this wrapper has no missing-LICENSE gap.

Testing

  • Smoke-tests loading libpinocchio_default.so.

License: BSD-3-Clause (matching the wrapper's own pyproject.toml; the bundled LICENSE text itself reads "BSD 2-Clause", a minor wording mismatch, not a blocker since a real license file is present).

Built on cp312.

libpinocchio wraps stack-of-tasks/pinocchio's own CMake build (the C++ library
only, BUILD_PYTHON_INTERFACE=OFF) through the cmake-wheel/libpinocchio
packaging fork and the cmeel build-backend, same has-sitelib=false
single-wheel shape already proven here by cmeel-fmt/cmeel-urdfdom/cmeel-qhull:
one py3-none wheel holding only the shared libraries and headers, no Python
extension to build per interpreter.

Previously parked blocked-on-dependency on its two runtime+build deps,
cmeel-urdfdom and libcoal; both are now confirmed published on this registry
(simple/cmeel-urdfdom/ and simple/libcoal/ both 200), so this is genuinely
unblocked rather than a guess.

Confirmed against the real cmake-wheel/libpinocchio source at tag v4.1.0.c0
(the only .cN for 4.1.0): cmake_minimum_required(VERSION 3.22), already above
cmeel[build]'s CMake >= 4 floor of 3.5, so no CMAKE_POLICY_VERSION_MINIMUM
override needed; grepped src/, include/ and bindings/ for
immintrin.h/__builtin_ia32/_mm_/x86intrin.h - zero hits, and no
-march=native/-mavx/-msse anywhere in the CMake tree, so Eigen's own
vectorization degrades to its generic scalar path on riscv64 the same way it
already does for the published cmeel-boost/cmeel-urdfdom/libcoal chain.

Verified against the real published aarch64 wheel
(libpinocchio-4.1.0-0-py3-none-manylinux_2_28_aarch64.whl) that the actual lib
filenames are libpinocchio_{collision,default,parsers,visualizers}.so (no
SONAME suffix, since configure-args sets -DSUFFIX_SO_VERSION=OFF) and that the
wheel already ships a real LICENSE file at dist-info/licenses/LICENSE -
unlike cmeel-m4/cmeel-glpk/cmeel-cddlib/cmeel-spirv-tools, this wrapper has no
missing-LICENSE gap to patch.

docs/packages/libpinocchio.yaml: license BSD-3-Clause, matching the
wrapper's own pyproject.toml declaration (the bundled LICENSE text itself
reads "BSD 2-Clause", a minor wording mismatch already seen elsewhere in
this family, not a blocker since a real license file is present either way).
luhenry added a commit that referenced this pull request Nov 12, 2026
Both remaining dependencies, cmeel-urdfdom and libcoal, are now confirmed
published on pypi.riseproject.dev. Ported with the gotcha-487 single-job
shape already proven by cmeel-urdfdom/cmeel-qhull.

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