From 47c0d57aa1020fdbec07c1dee6982371de28fc07 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Fri, 23 Oct 2026 07:49:54 +0000 Subject: [PATCH 1/3] brotlicffi: Add version 1.2.1.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/brotlicffi.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/brotlicffi.yaml b/docs/packages/brotlicffi.yaml index d55047931876..7570e5bf3f82 100644 --- a/docs/packages/brotlicffi.yaml +++ b/docs/packages/brotlicffi.yaml @@ -12,3 +12,4 @@ versions: - filename: brotlicffi-1.2.0.2-cp39-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl sha256: 5c571498e2d3ede2e5709359aab2270e967adef49833db5fa0eec492e78537ee requires-python: '>=3.8' +- version: 1.2.1.0 From 1f9b5f7e3bbd012ecf29659e797bbbc28befe70e Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 23 Oct 2026 16:50:00 +0800 Subject: [PATCH 2/3] brotlicffi: carry the libbrotli licence patch to 1.2.1.0 --- ...s-licence-alongside-brotlicffi-s-own.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 patches/brotlicffi/1.2.1.0/0001-ship-libbrotli-s-licence-alongside-brotlicffi-s-own.patch diff --git a/patches/brotlicffi/1.2.1.0/0001-ship-libbrotli-s-licence-alongside-brotlicffi-s-own.patch b/patches/brotlicffi/1.2.1.0/0001-ship-libbrotli-s-licence-alongside-brotlicffi-s-own.patch new file mode 100644 index 000000000000..6be435d1efe3 --- /dev/null +++ b/patches/brotlicffi/1.2.1.0/0001-ship-libbrotli-s-licence-alongside-brotlicffi-s-own.patch @@ -0,0 +1,33 @@ +From 978d784581efd36b294bd0d20dc7a3b9d7acb4bb Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 28 Aug 2026 08:32:01 +0200 +Subject: [PATCH] ship libbrotli's licence alongside brotlicffi's own + +Upstream-Status: To upstream [not yet submitted; the same gap exists in every brotlicffi wheel on PyPI, so this needs a maintainer discussion rather than a drive-by PR] + +The extension statically links the bundled libbrotli C sources +(libbrotli/c, compiled as the "libbrotli" static library by setup.py), which +carry their own MIT notice from the Brotli Authors. Those terms require the +copyright notice to travel with binary redistributions, but setup.cfg's +explicit license_files list names only brotlicffi's LICENSE, so the built +wheel ships a single notice covering the wrapper alone. + +Naming the vendored file in place keeps the patch to one line and lets it +track the submodule: setuptools preserves each license_files entry's path +relative to the project root, so it lands in the wheel as +dist-info/licenses/libbrotli/LICENSE. + +Signed-off-by: Ludovic Henry +--- + setup.cfg | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/setup.cfg b/setup.cfg +index 8b7eaaf..d3d94fa 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -6,3 +6,4 @@ markers = + [metadata] + license_files = + LICENSE ++ libbrotli/LICENSE From e3fae48e78b1569ba7ae086dd1c5c2851c78c43d Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sun, 25 Oct 2026 19:01:33 +0100 Subject: [PATCH 3/3] brotlicffi: install hypothesis wheel-only in the test stage --- .github/workflows/build-brotlicffi.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build-brotlicffi.yml b/.github/workflows/build-brotlicffi.yml index ad0d7ce99405..287f4b55acba 100644 --- a/.github/workflows/build-brotlicffi.yml +++ b/.github/workflows/build-brotlicffi.yml @@ -102,6 +102,12 @@ jobs: # cffi, needed to build and to import the extension, has no riscv64 # wheel on PyPI. CIBW_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ + # Recent hypothesis releases are compiled (Rust) and ship no + # py3-none-any wheel; their riscv64 wheel is cp311-abi3 only, so on + # cp314t pip falls back to the sdist, which needs a Rust toolchain + # rustup cannot install on riscv64. Wheel-only makes pip back off to + # the newest release that still has a usable (pure-Python) wheel. + CIBW_TEST_ENVIRONMENT: PIP_ONLY_BINARY=hypothesis # Upstream tests its wheels in a separate tox job; test_requirements.txt # minus pytest-cov, which measures nothing on an installed wheel. CIBW_TEST_REQUIRES: pytest hypothesis