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 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(())