Conversation
- Remove native_toolchain_rust_mirror and native_assets_cli from dependencies. - Remove native_manifest.yaml and hook/build.dart. - Move ffigen to dev_dependencies (will be used for generating bindings from cargokit-built Rust). Preparing to migrate from native_toolchain_rust to cargokit build system.
- Squashed 'cargokit/' content from commit ec49f0e from https://github.com/irondash/cargokit. Cargokit provides cross-platform Rust build integration for Flutter plugins.
- Add Flutter platform support (Android, iOS, Linux, macOS, Windows). - Configure all platforms to use cargokit for Rust builds: * Android: gradle configuration with cargokit plugin. * iOS/macOS: pod spec with cargokit build script. * Linux/Windows: CMakeLists.txt with cargokit integration. - Add basic Rust library with sum() function as proof of concept. - Create example Flutter app to demonstrate plugin. - Update pubspec.yaml to declare FFI plugin for all platforms. - Configure ffigen to generate bindings from src/monero.h. The library is now a Flutter plugin that uses cargokit to build and bundle Rust code across all supported platforms.
Changes: - Created minimal rust/Cargo.toml that depends on ../../monero-rust. - rust/src/lib.rs re-exports monero-rust::ffi functions. - Copied header file from monero-rust. - Generated Dart bindings from monero-rust header. - Updated lib/monero.dart with full Monero API (generate_mnemonic, generate_address). The Rust build system (via cargokit) will now build monero-rust and link it into the Flutter plugin.
- Add generated MoneroBindings class with proper FFI wrappers - Update monero.h header file (remove extra comment block)
- Fix android/build.gradle to reference correct cargokit plugin path (plugin.gradle). - Add [replace] directive in rust/Cargo.toml to use local serai-mirror. - Require serai-mirror at ../serai-mirror on fix/android-serai branch. - Android builds now work by using rustls-tls instead of native-tls/OpenSSL. The OpenSSL dependency in monero-serai-mirror's reqwest prevented cross-compilation to Android targets. This is resolved by using a local serai-mirror with rustls-tls as the TLS backend. This is a temporary solution until migration to monero-oxide.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The native assets feature which native_toolchain_rust requires is in alpha. There are also some issues with it being out of date with native_assets_cli such that updates are nontrivial: see irondash/native_toolchain_rust#26