From 2ed9b6cb57a4b331c13db4f1abefb3aaec364344 Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Tue, 6 Oct 2026 08:46:28 +0000 Subject: [PATCH 1/3] wreq: Add versions 0.12.2, 0.12.3, 0.13.0 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/wreq.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/packages/wreq.yaml b/docs/packages/wreq.yaml index dc5568341f6..e047724aee9 100644 --- a/docs/packages/wreq.yaml +++ b/docs/packages/wreq.yaml @@ -11,3 +11,6 @@ versions: - filename: wreq-0.12.1-cp314-cp314t-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl sha256: dd93417a0f71b233fc802f8af7e82ce27418a6b179569bbcd9ba0f2f7b1197bb requires-python: '>=3.11' +- version: 0.12.2 +- version: 0.12.3 +- version: 0.13.0 From 1eb45d7dcde4761dedf6a8568009dd749095075c Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sat, 10 Oct 2026 17:49:17 +0000 Subject: [PATCH 2/3] wreq: stop forcing the 0.12.1-only wreq crate pin on 0.12.2+ Starting at 0.12.2, wreq-python's own Cargo.toml [patch.crates-io] pins wreq/wreq-util/btls to exact git revs directly, replacing the floating crates.io `wreq = "6.0.0-rc"` requirement 0.12.1 still has. Our CIBW_BEFORE_BUILD_LINUX unconditionally ran `cargo update -p wreq --precise 6.0.0-rc.29` for every version, which cargo reads as a git ref against a git-patched dependency -- '6.0.0-rc.29' isn't one in 0x676e67/wreq, so every 0.12.2+ build failed at 'revspec 6.0.0-rc.29 not found'. Kept version-conditional so a rebuild of the already-published 0.12.1 still gets its pin. --- .github/workflows/build-wreq.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wreq.yml b/.github/workflows/build-wreq.yml index de37dd4b6ad..d9c95ea5f07 100644 --- a/.github/workflows/build-wreq.yml +++ b/.github/workflows/build-wreq.yml @@ -88,9 +88,14 @@ jobs: CIBW_BEFORE_ALL_LINUX: >- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && dnf install -y clang-devel git + # From 0.12.2 on, wreq-python's own Cargo.toml [patch.crates-io] pins + # wreq/wreq-util/btls to exact git revs, so a plain lockfile already + # resolves to those; the 0.12.1-only --precise pin below is no longer + # just unneeded but breaks the build, since cargo reads a --precise + # value against a git-patched dependency as a git ref, and + # "6.0.0-rc.29" isn't one in 0x676e67/wreq. CIBW_BEFORE_BUILD_LINUX: >- - cargo generate-lockfile && - cargo update -p wreq --precise ${{ env.WREQ_CRATE_VERSION }} + ${{ matrix.version == '0.12.1' && format('cargo generate-lockfile && cargo update -p wreq --precise {0}', env.WREQ_CRATE_VERSION) || 'cargo generate-lockfile' }} CIBW_ENVIRONMENT_LINUX: >- PATH="$PATH:$HOME/.cargo/bin" PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/ From 0753e143505b3fed1f36726ecaec7d92727d5352 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Sat, 10 Oct 2026 23:45:26 +0000 Subject: [PATCH 3/3] wreq: patch http2 to the git rev netty 0.13.0 needs but never gets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.13.0 adds netty = { git = "...netty", branch = "main" } to wreq-python's own [patch.crates-io], and netty's Cargo.toml separately patches http2 to a specific git rev for a Connection::extended_connect_protocol method no http2 release has yet ("Remove once an http2 release includes" it, per netty's own comment) — but Cargo only honours a dependency's [patch] table for the top-level workspace, so wreq-python's build resolves crates.io's http2 instead and fails: error[E0599]: no method named `extended_connect_protocol` found for struct `http2::client::Connection` Add the same patch to wreq-python's own Cargo.toml before locking, version- scoped to 0.13.0 since 0.12.1/0.12.2/0.12.3 have no netty dependency at all. --- .github/workflows/build-wreq.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wreq.yml b/.github/workflows/build-wreq.yml index d9c95ea5f07..4fc29af04ae 100644 --- a/.github/workflows/build-wreq.yml +++ b/.github/workflows/build-wreq.yml @@ -94,8 +94,18 @@ jobs: # just unneeded but breaks the build, since cargo reads a --precise # value against a git-patched dependency as a git ref, and # "6.0.0-rc.29" isn't one in 0x676e67/wreq. + # From 0.13.0 on, wreq-python's [patch.crates-io] also floats netty to + # branch=main; netty's own Cargo.toml separately patches http2 to a git + # rev for a Connection::extended_connect_protocol method no http2 release + # has yet ("Remove once an http2 release includes" it, per netty's own + # comment), but a dependency's [patch] table is only honoured for the + # top-level workspace, so wreq-python's build never picks it up and + # resolves crates.io's http2 instead, which is missing that method. Add + # the same patch to wreq-python's own Cargo.toml before locking. CIBW_BEFORE_BUILD_LINUX: >- - ${{ matrix.version == '0.12.1' && format('cargo generate-lockfile && cargo update -p wreq --precise {0}', env.WREQ_CRATE_VERSION) || 'cargo generate-lockfile' }} + ${{ matrix.version == '0.12.1' && format('cargo generate-lockfile && cargo update -p wreq --precise {0}', env.WREQ_CRATE_VERSION) || + matrix.version == '0.13.0' && 'sed -i ''/^\[patch.crates-io\]/a http2 = { git = "https://github.com/0x676e67/http2", rev = "c932fc91f3139f5613a579b7b11df2860d66745c" }'' Cargo.toml && cargo generate-lockfile' || + 'cargo generate-lockfile' }} CIBW_ENVIRONMENT_LINUX: >- PATH="$PATH:$HOME/.cargo/bin" PIP_EXTRA_INDEX_URL=https://pypi.riseproject.dev/simple/