mirror of
https://github.com/logos-messaging/logos-delivery-rust-bindings.git
synced 2026-07-30 06:53:29 +00:00
waku-sys was a thin -sys crate that only re-exported the generated FFI sources via #[path] and carried the build. It sat between waku-bindings and the generated crate for no real benefit -- the generated crate is the actual -sys equivalent, and its own build.rs cannot build logos-delivery (bare `nim c`, one link directive). So the wrapper is folded in: - The build (make liblogosdelivery + the 13 link directives, librln discovery, cmd.c) moves into waku-bindings/build.rs. - waku-bindings pulls the generated ffi/types/api modules directly by #[path] into the vendor submodule, which moves from waku-sys/vendor to the repo root (vendor/). - ciborium/flume and the cc build-dep move over; the waku-sys path dependency is dropped. Consumers are unaffected -- they always depended only on waku-bindings. This is one crate and one layer fewer. build.rs now also removes a stale build/liblogosdelivery.dylib after the static build: the generated ffi.rs declares `#[link(name = "logosdelivery")]` with no kind, so a dylib left by a non-STATIC make would be linked dynamically over the static archive. Full suite passes (4 tests + doctest, 1 ignored) and all three examples build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>