Skip to content

Commit 081cb8c

Browse files
protovalidate: update packages (#3777)
* protovalidate: Add version 2.1.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> * protovalidate: rebase the license-files patch onto 2.1.0 * protovalidate: Don't turn protobuf's GIL-enabled RuntimeWarning into a cp314t collection error --------- Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> Co-authored-by: Ludovic Henry <git@ludovic.dev>
1 parent 094b095 commit 081cb8c

3 files changed

Lines changed: 56 additions & 0 deletions

File tree

‎.github/workflows/build-protovalidate.yml‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,15 @@ jobs:
111111
# protobuf (Google's package, used for legacy conformance coverage)
112112
# has no riscv64 wheel on public PyPI yet.
113113
CIBW_TEST_ENVIRONMENT: PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/
114+
# On cp314t protobuf's upb extension (google._upb._message) has not
115+
# declared free-threading support, so importing it re-enables the GIL
116+
# and warns; pyproject.toml's filterwarnings = error would turn that
117+
# into a collection error. The warning only means the GIL is on, which
118+
# is the safe state, so it is ignored while every test still runs.
114119
CIBW_TEST_COMMAND: >-
115120
python -c "import protovalidate._protovalidate as m; assert m.__file__.endswith('.so'), m.__file__" &&
116121
python -m pytest test -v
122+
-W "ignore:The global interpreter lock (GIL) has been enabled:RuntimeWarning"
117123
118124
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
119125
with:

‎docs/packages/protovalidate.yaml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ versions:
1212
- filename: protovalidate-2.0.0-cp314-cp314t-manylinux_2_39_riscv64.whl
1313
sha256: d5c4afdd55781255485e6aacfee3bfecbaa10d73948e9075933eb7b59fb41cf6
1414
requires-python: '>=3.10'
15+
- version: 2.1.0
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+
From: Ludovic Henry <git@ludovic.dev>
3+
Date: Thu, 27 Aug 2026 00:00:00 +0000
4+
Subject: [PATCH] pyproject: list vendored C++ licence files in
5+
[project].license-files
6+
7+
protovalidate._protovalidate statically links six vendored C++ projects
8+
(abseil-cpp, antlr4, cel-cpp, protobuf + its bundled utf8_range, re2,
9+
protovalidate-cc) compiled from crates/protovalidate-rs/build.rs, but
10+
[project].license-files only names the package's own root LICENSE.
11+
maturin has no default glob for a PEP 639 project (gotcha 105/146 in
12+
this repo's porting skill), so every published wheel - on every
13+
platform, not just riscv64 - ships none of the six licence texts the
14+
compiled binary actually requires. All six are permissive (Apache-2.0
15+
x3, BSD-3-Clause x3 for protobuf/antlr4/re2, plus utf8_range's MIT),
16+
so this only adds licence-files entries; no GPL text is involved.
17+
18+
Upstream-Status: To upstream [not submitted: this session's policy is to not open issues/PRs on third-party repos]
19+
20+
Signed-off-by: Ludovic Henry <git@ludovic.dev>
21+
---
22+
pyproject.toml | 11 ++++++++++-
23+
1 file changed, 10 insertions(+), 1 deletion(-)
24+
25+
diff --git a/pyproject.toml b/pyproject.toml
26+
index ea18dff..044ad49 100644
27+
--- a/pyproject.toml
28+
+++ b/pyproject.toml
29+
@@ -5,7 +5,16 @@ description = "Protocol Buffer Validation for Python"
30+
readme = "README.md"
31+
requires-python = ">=3.11"
32+
license = "Apache-2.0"
33+
-license-files = ["LICENSE"]
34+
+license-files = [
35+
+ "LICENSE",
36+
+ "crates/protovalidate-rs/third_party/abseil-cpp/LICENSE",
37+
+ "crates/protovalidate-rs/third_party/antlr4/LICENSE.txt",
38+
+ "crates/protovalidate-rs/third_party/cel-cpp/LICENSE",
39+
+ "crates/protovalidate-rs/third_party/protobuf/LICENSE",
40+
+ "crates/protovalidate-rs/third_party/protobuf/third_party/utf8_range/LICENSE",
41+
+ "crates/protovalidate-rs/third_party/protovalidate-cc/LICENSE",
42+
+ "crates/protovalidate-rs/third_party/re2/LICENSE",
43+
+]
44+
keywords = ["protobuf", "protocol buffer", "validate"]
45+
classifiers = [
46+
"Operating System :: OS Independent",
47+
--
48+
2.51.0
49+

0 commit comments

Comments
 (0)