From fa32e0e66cae1dc391febd81e97f5e0dc0b7dace Mon Sep 17 00:00:00 2001 From: "riseproject-dev[bot]" <330740410+riseproject-dev[bot]@users.noreply.github.com> Date: Wed, 23 Sep 2026 07:27:50 +0000 Subject: [PATCH 1/2] nemo-relay: Add versions 0.9.1, 0.9.2 Signed-off-by: riseproject-dev[bot] <330740410+riseproject-dev[bot]@users.noreply.github.com> --- docs/packages/nemo-relay.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/packages/nemo-relay.yaml b/docs/packages/nemo-relay.yaml index 08c43a564a8..54adec5187e 100644 --- a/docs/packages/nemo-relay.yaml +++ b/docs/packages/nemo-relay.yaml @@ -16,3 +16,5 @@ versions: - filename: nemo_relay-0.9.0-cp311-abi3-manylinux_2_39_riscv64.whl sha256: cd6d4c66f1fa9ee357ab08ea07502f3e71319c4f09bc9cc4ec8a15aee19a9d70 requires-python: '>=3.11' +- version: 0.9.1 +- version: 0.9.2 From 932c2e8d60dce46db8ae3b38804ef133912333f7 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Thu, 24 Sep 2026 07:08:42 +0000 Subject: [PATCH 2/2] nemo-relay: carry forward the protoc-fallback patch to 0.9.1, 0.9.2 The nightly-upgrade bot bumped docs/packages/nemo-relay.yaml to add 0.9.1 and 0.9.2 but did not copy patches/nemo-relay/0.9.0/ forward, so build-nemo-relay.yml's git apply failed with "No such file or directory" on both riscv64 legs. The patch still applies cleanly against both the v0.9.1 and v0.9.2 tags (verified with git apply --check), so copy it unchanged to patches/nemo-relay/0.9.1/ and patches/nemo-relay/0.9.2/. --- ...l-back-to-prost-build-s-own-protoc-l.patch | 39 +++++++++++++++++++ ...l-back-to-prost-build-s-own-protoc-l.patch | 39 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 patches/nemo-relay/0.9.1/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch create mode 100644 patches/nemo-relay/0.9.2/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch diff --git a/patches/nemo-relay/0.9.1/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch b/patches/nemo-relay/0.9.1/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch new file mode 100644 index 00000000000..c1892394f22 --- /dev/null +++ b/patches/nemo-relay/0.9.1/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch @@ -0,0 +1,39 @@ +From 7d7539c7e835dd8fd9cabd470748296a7a8bad72 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 6 Sep 2026 09:43:30 +0200 +Subject: [PATCH] worker-proto: fall back to prost-build's own protoc lookup on + riscv64 + +Upstream-Status: Inappropriate [protoc-bin-vendored ships no riscv64 binary; prost_build::Config::new() already defaults protoc_executable to its own PROTOC-env/PATH lookup, so simply not overriding it on unsupported platforms is the whole fix] + +protoc_bin_vendored::protoc_bin_path() returns Err on any platform outside +its small enum of prebuilt targets (x86, x86_64, aarch64, ppc64le, s390x, +macOS, Windows), which the crate's build.rs propagated with ?, aborting +the build before prost_build ever got a chance to look for a protoc on +PATH or via $PROTOC. Only calling protoc_executable() when the vendored +lookup succeeds restores that fallback, which is documented in +prost-build's own "Sourcing protoc" section. + +Signed-off-by: Ludovic Henry +--- + crates/worker-proto/build.rs | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/crates/worker-proto/build.rs b/crates/worker-proto/build.rs +index 5fddbc74..888ec366 100644 +--- a/crates/worker-proto/build.rs ++++ b/crates/worker-proto/build.rs +@@ -7,7 +7,12 @@ fn main() -> Result<(), Box> { + let proto = "proto/nemo/relay/worker/v1/plugin_worker.proto"; + let include = "proto"; + let mut prost = prost_build::Config::new(); +- prost.protoc_executable(protoc_bin_vendored::protoc_bin_path()?); ++ // protoc-bin-vendored ships no riscv64 binary; falling through leaves ++ // prost_build's own PROTOC-env/PATH lookup in charge, which resolves to ++ // the system protoc installed alongside this crate's build on that arch. ++ if let Ok(protoc) = protoc_bin_vendored::protoc_bin_path() { ++ prost.protoc_executable(protoc); ++ } + + tonic_prost_build::configure().compile_with_config(prost, &[proto], &[include])?; + Ok(()) diff --git a/patches/nemo-relay/0.9.2/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch b/patches/nemo-relay/0.9.2/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch new file mode 100644 index 00000000000..c1892394f22 --- /dev/null +++ b/patches/nemo-relay/0.9.2/0001-worker-proto-fall-back-to-prost-build-s-own-protoc-l.patch @@ -0,0 +1,39 @@ +From 7d7539c7e835dd8fd9cabd470748296a7a8bad72 Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Sun, 6 Sep 2026 09:43:30 +0200 +Subject: [PATCH] worker-proto: fall back to prost-build's own protoc lookup on + riscv64 + +Upstream-Status: Inappropriate [protoc-bin-vendored ships no riscv64 binary; prost_build::Config::new() already defaults protoc_executable to its own PROTOC-env/PATH lookup, so simply not overriding it on unsupported platforms is the whole fix] + +protoc_bin_vendored::protoc_bin_path() returns Err on any platform outside +its small enum of prebuilt targets (x86, x86_64, aarch64, ppc64le, s390x, +macOS, Windows), which the crate's build.rs propagated with ?, aborting +the build before prost_build ever got a chance to look for a protoc on +PATH or via $PROTOC. Only calling protoc_executable() when the vendored +lookup succeeds restores that fallback, which is documented in +prost-build's own "Sourcing protoc" section. + +Signed-off-by: Ludovic Henry +--- + crates/worker-proto/build.rs | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/crates/worker-proto/build.rs b/crates/worker-proto/build.rs +index 5fddbc74..888ec366 100644 +--- a/crates/worker-proto/build.rs ++++ b/crates/worker-proto/build.rs +@@ -7,7 +7,12 @@ fn main() -> Result<(), Box> { + let proto = "proto/nemo/relay/worker/v1/plugin_worker.proto"; + let include = "proto"; + let mut prost = prost_build::Config::new(); +- prost.protoc_executable(protoc_bin_vendored::protoc_bin_path()?); ++ // protoc-bin-vendored ships no riscv64 binary; falling through leaves ++ // prost_build's own PROTOC-env/PATH lookup in charge, which resolves to ++ // the system protoc installed alongside this crate's build on that arch. ++ if let Ok(protoc) = protoc_bin_vendored::protoc_bin_path() { ++ prost.protoc_executable(protoc); ++ } + + tonic_prost_build::configure().compile_with_config(prost, &[proto], &[include])?; + Ok(())