Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/packages/cadquery-ocp-novtk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ versions:
- filename: cadquery_ocp_novtk-8.0.1.0.0-cp314-cp314-manylinux_2_39_riscv64.whl
sha256: e86de239998ff724820361709adebcc1a85fcef9c87af1ecd31a510ac4953f1c
requires-python: <3.15,>=3.11
- version: 8.0.1.1.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
Date: Sat, 19 Sep 2026 10:00:00 +0200
Subject: [PATCH] Package the OCP, OCCT and vendored library licences

The wheel bundles the whole OCCT runtime (LGPL-2.1 with the OCCT exception) in
`cadquery_ocp_novtk.libs/` plus whatever else auditwheel/delocate vendors from
the build image, and OCP's own sources are Apache-2.0 - yet the published
wheels carry no licence file at all: `[tool.setuptools.package-data]` names the
key `cadquery_ocp`, which matches no package in the built tree (the sources
live in `OCP/`, and the novtk build renames the distribution), and the legacy
`license = { text = ... }` table suppresses setuptools' default licence glob.
LGPL-2.1 section 6 and the OCCT exception both require their text to travel
with the binary, so every wheel is short its licence notices.

Declare the licence as a PEP 639 expression, which re-enables `license-files`,
and glob `LICENSE*` so the project's own licence and the `LICENSE.<dep>` files
the build drops beside it both reach `.dist-info/licenses/`. The "License ::"
classifier has to go with it: setuptools rejects a classifier alongside a
license expression.

Upstream-Status: To upstream [not yet submitted; which third-party licences the wheel should carry depends on the platform's own vendored closure, so it needs a maintainer discussion rather than a drive-by PR]
---
pypi/pyproject.toml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/pypi/pyproject.toml b/pypi/pyproject.toml
index 1111111..2222222 100644
--- a/pypi/pyproject.toml
+++ b/pypi/pyproject.toml
@@ -9,10 +9,8 @@ description = "Python wrapper for Open CASCADE Technology 3D geometry library ba
authors = [{ name = "Bernhard Walter" }]
requires-python = ">=3.11,<3.15"
readme = "README.md"
-license = { text = "Apache-2.0" }
-classifiers = [
- "License :: OSI Approved :: Apache Software License",
-]
+license = "Apache-2.0"
+license-files = ["LICENSE*"]
dependencies = ["cadquery-ocp-proxy==0.0.0.0"]

[tool.setuptools]
--
2.51.0
Loading