Skip to content

cadquery-ocp-novtk: Add version 8.0.1.0.0 - #2114

Open
luhenry wants to merge 1 commit into
mainfrom
port/cadquery-ocp-novtk
Open

luhenry wants to merge 1 commit into
mainfrom
port/cadquery-ocp-novtk

Conversation

@luhenry

@luhenry luhenry commented Sep 19, 2026

Copy link
Copy Markdown
Member

Compiles OpenCASCADE 8.0.1 and the 647 generated pybind11 translation units of CadQuery/OCP into the VTK-free OCP extension. Upstream publishes no riscv64 wheel.

Mirrors upstream's build-ocp.yml and the actions it calls; the OCCT, OCP and pybind11 versions come from that recipe's env: block.

Differs from upstream

  • USE_FREEIMAGE=OFF, and rapidjson and fmt built from source - none of the three is packaged for riscv64.
  • No _GLIBCXX_USE_CXX11_ABI=0 - that switch only matched the x86_64 PyPI VTK wheel.
  • OCCT is built once per version instead of once per interpreter.

Matrix: cp312/cp313/cp314 - upstream pins pybind11 2.13 and the generated module declares no free-threaded support, so a cp314t wheel would only re-enable the GIL.

Testing

  • upstream's suite is build123d, which needs lib3mf; that ships x86_64/macOS/Windows wheels only, so an OCP geometry check (box volume, face count, boolean fuse) runs instead.

License: Wheel bundles the OCCT runtime (LGPL-2.1 with the OCCT exception) and the image libraries auditwheel vendors; upstream ships no licence text for any of it, so the build adds it.

Patches

  • 0001-Package-the-OCP-OCCT-and-vendored-library-licences.patch - To upstream. Without it the wheel carries no licence file at all. Reproduces on x86_64.

Build the OCP pybind11 bindings for OCCT 8.0.1 without VTK, mirroring the
Linux half of CadQuery/ocp-build-system's build-ocp.yml: an OCCT SDK job
that compiles the kernel once per version, then one job per interpreter
that compiles the 647 generated translation units against it and packages
the wheel.

The wheel bundles the OCCT runtime (LGPL-2.1 with the OCCT exception) and
the image libraries auditwheel vendors, none of whose licences upstream's
own wheels carry, so a patch re-enables setuptools' licence globbing and
the build stages the licence of everything in that closure.
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-2114/

Built to branch gh-pages at 2026-09-19 12:52 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

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