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/torchcodec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ versions:
- filename: torchcodec-0.16.0-cp314-cp314t-manylinux_2_39_riscv64.whl
sha256: ec2737c8c840effbdfd0199774964969465f75e73b9afd4e8c59f754559208e7
requires-python: '>=3.10'
- version: 0.17.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
Date: Fri, 19 Sep 2026 12:00:00 +0200
Subject: [PATCH] pyproject: glob the licence texts of the bundled image codecs

Upstream-Status: Inappropriate [our wheels are repaired by cibuildwheel's auditwheel, not by upstream's packaging/repair_wheel.py]

torchcodec redistributes libjpeg-turbo, libpng, zlib and libwebp as
binaries inside the wheel, and their (permissive) licences require the
copyright notice to travel with the binary. Upstream satisfies that in
packaging/repair_wheel.py's bundle_third_party_licenses(), which unpacks
each freshly built wheel, copies the licence texts out of the conda
packages the libraries came from into .dist-info/licenses/third_party/,
and repacks. That path is unusable here for two independent reasons: it
resolves the texts through CONDA_PREFIX/conda-meta (there is no conda
environment in the manylinux image, the libraries come from Rocky rpms),
and it hardcodes dist/ -> dist_repaired/ plus a mandatory S3 libavif
directory, neither of which exists under cibuildwheel's own auditwheel
repair step.

So the texts are staged next to the project's own LICENSE instead, as
LICENSE.<rpm name>.<file name>, and picked up by widening the PEP 639
license-files list. An explicit license-files list has no default glob
behind it, so without this the added files are silently dropped and the
wheel ships only torchcodec's own BSD text.

Not riscv64-specific in substance, but it only makes sense for a build
that repairs wheels with plain auditwheel, so there is nothing to send
upstream.
---
pyproject.toml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pyproject.toml b/pyproject.toml
index 4a52430..fde71b9 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ name = "torchcodec"
description = "A video decoder for PyTorch"
readme = "README.md"
requires-python = ">=3.10"
-license-files = ["LICENSE"]
+license-files = ["LICENSE", "LICENSE.*"]
authors = [
{ name = "PyTorch Team", email = "packages@pytorch.org" },
]
--
2.51.0

Loading